OpenTelemetry integration#

モニタリング情報とトレースを OpenTelemetry コレクターに報告するようにEDB Postgres分散を構成できます。

EDB Postgres分散OTELコレクターは、いくつかのリソース属性を埋めます。これらはすべてのメトリックとトレースにアタッチされます。

  • service.name は、 bdr.otel_service_name 構成設定で構成できます。 - service.namespace は常にedb_postgres_distributed に設定されます。 - service.instance.id は、常にPostgresインスタンスのシステム識別子に設定されます。 - service.version は、PostgresqlインスタンスにロードされたBDR拡張機能の現在のバージョンに設定されます。

OTELとOLTPの互換性#

OTEL接続の場合、統合は、HTTPまたはHTTPSを介してOLTP/HTTPバージョン1.0.0のみをサポートします。 OLTP/gRPCはサポートされていません。

メトリック収集#

構成オプション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

このノードのコンセンサスのRaft状態

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

ノード構成オプションの変更

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-プロキシインスタンスの構成を変更します新規作成または既存の更新のいずれか

walmsg_global_lock_send

グローバルロックWALメッセージを送信する

walmsg_global_lock_recv

受信したグローバルロックWALメッセージ

ddl_epoch_apply

グローバルロックエポック適用新しいエポックを開始するためにクラスターが十分に同期していることを確認します

walmsg_catchup

ノードの削除中のキャッチアップ WALメッセージ

raft_send_appendentries

内部Raftブックキーピングメッセージ

raft_recv_appendentries

内部Raftブックキーピングメッセージ

raft_request

Raftリクエストの実行

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