OpenTelemetry integration¶
モニタリング情報とトレースをOpenTelemetryコレクターに報告するようにEDB Postgres Distributedを構成できます。
EDB Postgres Distributed OTELコレクターは、いくつかのリソース属性を入力します。これらはすべてのメトリックとトレースに添付されます。
service.nameはbdr.otel_service_name構成設定で構成できます。 -service.namespaceは常にedb_postgres_distributedに設定されます。 -service.instance.idは、常にPostgresインスタンスのシステム識別子に設定されます。 -service.versionは、PostgresqlインスタンスにロードされたBDR拡張機能の現在のバージョンに設定されます。
メトリック収集¶
構成オプションbdr.metrics_otel_http_url
を空でないURLに設定すると、メトリック収集が有効になります。
次の表に示すように、さまざまな種類のメトリックが収集されます。
一般的な指標¶
Metric name |
Type |
Labels |
Description |
|---|---|---|---|
pg_backends_by_state |
gauge |
conn_state - idle, active, idle in transaction, fastpath functioncall, idle in transaction (aborted), disabled, undefined |
特定の状態のバックエンドの数 |
pg_oldest_xact_start |
gauge |
最も古いトランザクション開始時刻 |
|
pg_oldest_activity_start |
gauge |
最も古いクエリ開始時刻 |
|
pg_waiting_backends |
gauge |
wait_type - LWLock, Lock, BufferPin, Activity, Client, Extension, IPC, Timeout, IO, ??? (for unknown) |
待機タイプ別の現在待機中のバックエンドの数 |
pg_start_time |
gauge |
サーバーが起動したタイムスタンプ |
|
pg_reload_time |
gauge |
サーバーが最後に構成をリロードしたタイムスタンプ |
レプリケーションメトリック¶
Metric name |
Type |
Labels |
Description |
|---|---|---|---|
bdr_slot_sent_lag |
gauge |
slot_name - name of a slot |
各レプリケーションスロットの現在の送信ラグ(バイト単位) |
bdr_slot_write_lag |
gauge |
slot_name - name of a slot |
各レプリケーションスロットの現在の書き込みラグ(バイト単位) |
bdr_slot_flush_lag |
gauge |
slot_name - name of a slot |
各レプリケーションスロットの現在のフラッシュラグ(バイト) |
bdr_slot_apply_lag |
gauge |
slot_name - name of a slot |
各レプリケーションスロットのバイト単位の現在の適用ラグ |
bdr_subscription_receive_lsn |
gauge |
sub_name - name of subscription |
サブスクリプションごとに現在受信しているLSN |
bdr_subscription_flush_lsn |
gauge |
sub_name - name of subscription |
各サブスクリプションの現在フラッシュされたLSN |
bdr_subscription_apply_lsn |
gauge |
sub_name - name of subscription |
各サブスクリプションに現在適用されているLSN |
bdr_subscription_receiver |
gauge |
sub_name - name of subscription |
サブスクリプションレシーバーが現在実行されている(1)かどうか(0) |
コンセンサスメトリック¶
Metric name |
Type |
Labels |
Description |
|---|---|---|---|
bdr_raft_state |
gauge |
state_str - RAFT_FOLLOWER, RAFT_CANDIDATE, RAFT_LEADER, RAFT_STOPPED |
このノードでのコンセンサスのラフト状態 |
bdr_raft_protocol_version |
gauge |
このノードが使用するコンセンサスプロトコルバージョン |
|
bdr_raft_leader_node |
gauge |
このノードが現在のリーダーであると見なすノードのID |
|
bdr_raft_nodes |
gauge |
コンセンサスに参加するノードの総数(学習者/非投票ノードを含む) |
|
bdr_raft_voting_nodes |
gauge |
コンセンサスにおける実際の投票ノードの数 |
|
bdr_raft_term |
gauge |
このノードがいる現在のraft用語 |
|
bdr_raft_commit_index |
gauge |
このノードによってコミットされたRaftコミットインデックス |
|
bdr_raft_apply_index |
gauge |
このノードによって適用されたRaftコミットインデックス |
トレース¶
OpenTelemetryへのコレクションのトレースには、
bdr.trace_otel_http_url を構成し、 bdr.trace_enable
を使用してトレースを有効にする必要があります。
トレースは、現時点では一部のサブシステム、主にクラスター管理機能に制限されています。トレースには、次のスパンが表示されます。
Span name |
Description |
|---|---|
create_node_group |
グループ作成 |
alter_node_group_config |
グループ設定オプションの変更 |
alter_node_config |
node configオプションの変更 |
join_node_group |
グループに参加するノード |
join_send_remote_request |
参加ノードに代わって参加要求を送信する参加ソース |
add_camo_pair |
CAMOペアを追加 |
alter_camo_pair |
CAMOペアを変更する |
remove_camo_pair |
CAMOペアの削除 |
alter_commit_scope |
コミットスコープ定義を変更する(新規作成または既存を更新) |
alter_proxy_config |
PGD-Proxyインスタンスの構成を変更します(新規作成または既存の更新のいずれか) |
walmsg_global_lock_send |
グローバルロックWALメッセージを送信する |
walmsg_global_lock_recv |
グローバルロックWALメッセージを受信 |
ddl_epoch_apply |
グローバルロックエポック適用(新しいエポックを開始するためにクラスターが十分に同期されていることを確認します) |
walmsg_catchup |
ノード削除中のキャッチアップ WALメッセージ |
raft_send_appendentries |
内部ラフトブックキーピングメッセージ |
raft_recv_appendentries |
内部ラフトブックキーピングメッセージ |
raft_request |
ラフトリクエストの実行 |
raft_query |
Raftクエリの実行 |
msgb_send |
コンセンサスメッセージングレイヤーメッセージ |
msgb_recv_receive |
コンセンサスメッセージングレイヤーメッセージ |
msgb_recv_deliver |
コンセンサスメッセージングレイヤーのメッセージ配信 |
preprocess_ddl |
DDLコマンドの前処理 |
TLSサポート¶
メトリックとトレースのエンドポイントは、HTTPまたはHTTPSにすることができます。
bdr.otel_https_ca_path 、bdr.otel_https_key_path
、およびbdr.otel_https_cert_path
構成オプションを使用して、CAバンドル、クライアントキー、およびクライアント証明書へのパスを構成できます。