Monitoring the Connection Manager#
SQLクエリーとHTTPエンドポイントを介して、接続マネージャーとその接続のステータスを表示できます。
使用可能なSQLテーブルとビュー#
接続マネージャーは、接続マネージャーとその接続のステータスを監視するために使用できる多数のテーブルとビューを提供します。これらには次のものが含まれます。
bdr.stat_activity - これは、
connection_manager_client_addrおよびconnection_manager_client_portに関する追加列で強化されたpg_stat_activityからの情報であり、接続が接続マネージャーを介して来ており、読み取り専用ポートを介して接続している場合はsession_read_onlyです。bdr.stat_connection_manager - Connection Managerのステータスに関する統計を提供するビューです。
bdr.stat_connection_manager_connections - Connection Managerの接続に関する統計を提供するビューです。
bdr.stat_connection_manager_node_stats - 各データノードの接続マネージャーに関する統計を提供するビューです。
bdr.stat_connection_manager_hba_file_rules - これは、接続マネージャーのどのHBAファイルルールがこのノードで使用されているかを示すビューです。
使用可能なHTTP / HTTPSエンドポイント#
接続マネージャーは、HTTP APIを介して監視できます。
true/falseを返すエンドポイントは、trueの場合200ステータスコード、falseの場合503ステータスコードも結果ます。
次のエンドポイントが使用できます。
Endpoint |
Description |
|---|---|
/connection/is-live |
接続マネージャーはライブリッスンしていますか。常に「true」を返します。マネージャーが実行されていない場合、クライアントは単に接続/URLを開くことに失敗します。 |
/connection/is-ready |
接続マネージャーは接続を受け入れる準備ができていますか。true(200)/false(503)を返します。 |
/connection/is-ready-ro |
接続マネージャーは読み取り専用接続を受け入れる準備ができていますか。true(200)/false(503)を返します。 |
/connection/is-ready-rw |
接続マネージャーは読み取り/書き込み接続を受け入れる準備ができていますか。true(200)/false(503)を返します。 |
/node/is-read-write |
このPGDノードは、接続マネージャーではなくPGDノード自分自身、読み取り/書き込みノードですか、書き込みリーダーですか、true(200)/false(503)を返します。 |
/node/is-read-only |
このPGDノードは、接続マネージャーではなくPGDノード自分自身であり、読み取り専用ノード書き込みリーダーではなく、true(200)/false(503)を返します。 |
/group/read-write-info |
接続マネージャーのこのインスタンスの読み取り/書き込みプールに関する情報を返します。ノードID、ノード名、ノードホスト、ノードポート、ノードdbnameを含むJSON形式のプール内のノードのリスト。読み取り/書き込みプールの場合、プールには1つのエントリのみが含まれます。 |
/group/read-only-info |
接続マネージャーのこのインスタンスの読み取り専用プールに関する情報を返します。ノードID、ノード名、ノードホスト、ノードポート、ノードdbnameを含むJSON形式のプール内のノードのリスト。 |
以下は、/group/read-write-info
エンドポイントからの応答本文の例です。
[
{
"id": 683485707,
"name": "node-1",
"host": "host-1",
"port": 5432,
"dbname": "pgddb"
}
]
ロギング#
すべてのConnection ManagerログメッセージはPostgreSQLログに書き込まれます。
log_line_prefixの%r および%h
エスケープシーケンスの動作が、それぞれ「proxy_address/client_address」および「proxy_port/client_port」をログに記録するように変更されました。
これは、使用するサーバー接続のGUCをプロキシ設定することにより実現されます。ユーザーはこのGUCをオーバーライドできるため、client_addressから派生したセキュリティコンテキストは、完全なセッションログを参照して検証する必要があります。