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バンドル、クライアントキー、およびクライアント証明書へのパスを構成できます。