Monitoring metrics reference#

PGD Monitorは、これらのメトリックを収集し、 bdr.ts_metrics() および関連ファンクション、およびそのREST API、Web UI、およびPrometheus /metrics エンドポイントを使用して、 SQL全体で一貫して公開します。これらの各インターフェイスを有効にしてアクセスする方法については、 Using the PGD Monitor を参照してください。

PGD時系列メトリック#

これらのメトリックは、 bdr.ts_metrics() が返すレジストリから取得します。監視ワーカーは、特に断りのない限り、およそ10秒ごとにそれらをサンプリングします。

Metric

Unit

Sample interval

Description

pgd_sys_cpu_pct

Percent

10s

合計容量に対するCPU使用率。

pgd_sys_mem_pct

Percent

10s

使用可能な合計に対するメモリ使用率。

pgd_sys_disk_pgdata_free_bytes

Bytes

60s

PGDATAボリュームの空きディスク領域。

pgd_sys_disk_pgdata_total_bytes

Bytes

60s

PGDATAボリュームの合計ディスク領域。

pgd_sys_disk_pgwal_free_bytes

Bytes

60s

ログ先行書き込みWALボリュームの空きディスク領域。

pgd_sys_disk_pgwal_total_bytes

Bytes

60s

WALボリュームの合計ディスク領域。

pgd_pg_connections

Count

10s

アクティブなPostgresバックエンド接続の合計数。

pgd_pg_active_queries

Count

10s

現在アクティブな非アイドルクエリーの数。

pgd_connmgr_conns_rw

Count

10s

Connection Managerの読み取り/書き込みプロキシポートを介したクライアント接続。

pgd_connmgr_conns_ro

Count

10s

接続マネージャーの読み取り専用プロキシポートを介したクライアント接続。

pgd_pg_tps

Per second

10s

1秒ごとのコミットおよび中止されたトランザクション。

pgd_pg_cache_hit_pct

Percent

10s

PGDデータベースのバッファキャッシュヒット率。

pgd_pg_deadlocks_rate

Per second

10s

PGDデータベースの1秒ごとのデッドロック数。

pgd_pg_wraparound_age_max

Count

60s

すべてのデータベースにわたる最も古いフローズンxidホライズンのトランザクションの経過時間。

pgd_pg_longest_tx_seconds

Seconds

10s

最も長く開いているトランザクションの秒単位の経過時間。

pgd_max_replay_lag_bytes

Bytes

10s

すべてのピアにわたるバイト単位の最大レプリケーション再生遅延。

pgd_oldest_kept_lag_bytes

Bytes

10s

クラスターが必要とする保持WALのサイズ。グループスロットを使用して維持されます。

pgd_analytics_lag_bytes

Bytes

10s

分析ノードのバイト単位のレプリケーションラグ。

pgd_clock_drift_max_milliseconds

Milliseconds

10s

ノード全体のおおよその最大クロックドリフト。

pgd_conflicts_rate

Per second

10s

すべての適用ワーカーにわたる1秒ごとのレプリケーション競合。

pgd_apply_errors_rate

Per second

10s

すべての適用ワーカーにおける1秒ごとの適用エラー。

コミットレイテンシーヒストグラム#

pgd_commit_latency_milliseconds は、すべてのアクティブなコミットスコープにわたってミリ秒単位の平均コミットレイテンシーを提供するヒストグラム種類のメトリックです。監視ワーカーは60秒ごとにそれをサンプリングします。 bdr.ts_histogram() 、bdr.ts_histogram_distribution() 、またはbdr.ts_histogram_cumulative() で、またはPrometheusエンドポイントで_bucket 、_sum 、および_count シリーズとして読み取ります。

クラスター状態メトリック#

これらのIDとRaftメトリックは、時系列レジストリではなく、キャッシュされたクラスターカタログデータから取得されるため、PrometheusエンドポイントとREST APIで使用できますが、bdr.ts_metrics() を介しては使用できません。特に断りのない限り、それぞれは定数値1 を持つIDメトリックであり、ラベルでペイロードを運びます。

Metric

Labels

Description

pgd_node_info

node_name

要求を提供するノードのID。

pgd_raft_state

node_group, state

グループ内のこのノードのRaft状態。

pgd_raft_leader

node_group, node_name

グループの現在のRaftリーダー。

pgd_raft_term

node_group

現在のRaftタームゲージ。

pgd_raft_commit_index

node_group

Raftコミットインデックスゲージ。

pgd_write_leader

node_group, node_name

グループの現在の書き込みリーダー。

pgd_read_node

node_group, node_name

グループの現在の読み取りノード。読み取りノードごとに1回繰り返します。

pgd_replication_sent_lsn_bytes

target_name

`0/0`以降のバイトとしてターゲットノードに送信されたWAL位置。

pgd_replication_replay_lsn_bytes

target_name

`0/0`以降のバイトとして、ターゲットノードによって適用されたWAL位置。

pgd_replication_received_lsn_bytes

origin_name

`0/0`以降のバイトとして、オリジンノードから受け取ったWAL位置。

0/0 以降、ログシーケンス番号LSN位置はバイトとしてエクスポートされるため、PromQLで直接それらを減算できます。たとえば、送信マイナス再生は、バイト単位の遅延を適用することに等しいです。

コミットスコープカウンター#

commit_scope のラベルが付けられるコミットスコープごとのトランザクションカウンター。使用されたスコープのみが報告されます。

Metric

Description

pgd_commit_scope_calls_total

コミットスコープを使用したトランザクション。

pgd_commit_scope_commits_total

コミットスコープの下でコミットします。

pgd_commit_scope_aborts_total

コミットスコープで中止します。

pgd_commit_scope_degrades_total

コミットスコープで低下モードにヒットしたトランザクション。

pgd_commit_scope_config_degrades_total

コミットスコープが既に縮退モードであるときに開始されたトランザクション。

Postgres統計メトリック#

これらのメトリックは、ローカルノードの統計ビューから読み取られたPrometheus

postgres_exporter コレクターをミラーリングします。これらはPrometheusエンドポイントでのみ、 bdr.monitor_prometheus_pg_metrics がon デフォルトの場合にのみ使用できます。 postgres_exporter が既に実行されており、重複したシリーズが必要ない場合、ノードでoff に設定して、構成をリロードします。 PGDネイティブメトリックは、いずれの方法でもエクスポートし続けます。

データベースごと#

datname によるラベル付け。ラップアラウンドにはフリーズxidホライズンが重要であるため、テンプレートデータベースが含まれます。

Metric

Type

Description

pgd_pg_stat_database_numbackends

Gauge

現在データベースに接続しているバックエンド。

pgd_pg_stat_database_xact_commit_total

Counter

コミットされたトランザクション。

pgd_pg_stat_database_xact_rollback_total

Counter

ロールバックされたトランザクション。

pgd_pg_stat_database_blks_read_total

Counter

ディスクブロックの読み取り。

pgd_pg_stat_database_blks_hit_total

Counter

共有バッファで見つかったディスクブロック。

pgd_pg_stat_database_deadlocks_total

Counter

デッドロックが検出されました。

pgd_pg_stat_database_temp_files_total

Counter

クエリーによって書き込まれる一時ファイル。

pgd_pg_stat_database_temp_bytes_total

Counter

クエリによって一時ファイルに書き込まれたバイト数。

pgd_pg_database_wraparound_age_datfrozenxid

Gauge

データベースのフローズンxidホライズンのトランザクションの経過時間。

pgd_pg_database_wraparound_age_datminmxid

Gauge

データベースのminimum-multixactホライズンのmultixactsでの経過時間。

pgd_pg_database_size_bytes

Gauge

バイト単位のデータベースサイズ。

非PGDレプリケーションスロット#

slot_name 、slot_type 、およびdatabase によってラベル付けされます。 PGD自分のスロットには既に上記の専用のpgd_replication_* ファミリーがあるため、このグループは代わりに外部または孤立したスロット、変更データキャプチャCDCコンシューマ、削除されたサブスクライバ、またはWALをサイレントに保持するフィジカルスタンバイなどをキャッチします。

Metric

Description

pgd_pg_replication_slot_active

スロットにアクティブな接続があるかどうか。

pgd_pg_replication_slot_retained_wal_bytes

スロットによって保持されるWAL。

pgd_pg_replication_slot_safe_wal_size_bytes

スロットは`max_slot_wal_keep_size`に到達する前に引き続き書き込むことができます。

pgd_pg_replication_slot_wal_status

スロットのWAL可用性IDメトリック、値が`reserved`、extended、unreserved、または`lost`の`wal_status`とラベル付けされます。

インスタンス全体のメトリック#

Metric

Type

Description

pgd_pg_wal_segments

Gauge

`pg_wal`のWALセグメントファイル。

pgd_pg_wal_size_bytes

Gauge

`pg_wal`のWALセグメントファイルの合計サイズ。

pgd_pg_stat_archiver_archived_total

Counter

WALファイルは正常にアーカイブされました。

pgd_pg_stat_archiver_failed_total

Counter

失敗したWALアーカイブ試行。

pgd_pg_stat_archiver_last_archive_age_seconds

Gauge

最後に成功したWALアーカイブからの秒数。どちらかが成功するまで不在。

pgd_pg_stat_checkpointer_timed_total

Counter

スケジュールされたチェックポイントが実行されました。

pgd_pg_stat_checkpointer_requested_total

Counter

要求されたチェックポイントが実行され、スケジュールではなくWALボリュームによって駆動されます。

pgd_pg_stat_checkpointer_write_time_seconds_total

Counter

チェックポイントファイルのディスクへの書き込みに費やされた秒数。

pgd_pg_stat_checkpointer_sync_time_seconds_total

Counter

チェックポイントファイルをディスクとの同期に費やした秒数。

pgd_pg_stat_checkpointer_buffers_written_total

Counter

チェックポイントおよびリスタートポイント中に書き込まれるバッファー。

pgd_pg_stat_bgwriter_buffers_clean_total

Counter

バックグラウンドライタによって書き込まれたバッファー。

pgd_pg_stat_bgwriter_maxwritten_clean_total

Counter

バックライタのライタークリーニングスキャンは、書き込み制限で停止しました。

pgd_pg_stat_bgwriter_buffers_alloc_total

Counter

割り当てられたバッファー。

pgd_pg_postmaster_start_time_seconds

Gauge

ポストマスター起動のUNIXタイムスタンプ、インスタンスのアップタイムを提供します。

17より前のPostgresバージョンでは、checkpointer カウンターは代わりにpg_stat_bgwriter から取得します。メトリック名はバージョン間で同一のままです。

アクティビティとロック#

Metric

Labels

Description

pgd_pg_stat_activity_backends

state

状態別のクライアントバックエンド。

pgd_pg_stat_activity_max_tx_duration_seconds

state

状態ごとの、クライアントバックエンド間で最も古いオープントランザクションの経過時間。

pgd_pg_stat_activity_waiting_backends

wait_event_type

待機イベントタイプ別の現在待機しているバックエンド。アイドルなバックグラウンドワーカーは常に`Activity`待機を報告します。競合は`Lock`、LWLock、および`BufferPin`として表示されます。

pgd_pg_locks

mode, granted

ロックモードごとに、保持または待機されているロック。 `granted="false"`の行は、ロックで待機しているバックエンドです。