Monitoring PGD Proxy#

プロキシは、クラスターとグループレベル、またはプロセスレベルで監視できます。

クラスターを介したモニタリング#

SQLを使用する#

すべてのグループの現在の構成は、 bdr.node_group_routing_config_summary ビューに表示されます。

bdr.node_routing_config_summary ビューには、現在のノードごとのルーティング構成が表示されます。

bdr.proxy_config_summary は、プロキシごとの構成を示します。

プロセスレベルでのモニタリング#

プロキシのヘルスチェック#

PGDプロキシは、次のHTTPヘルスチェックAPIエンドポイントを提供します。 APIエンドポイントはGET 要求に応答します。エンドポイントを使用する前に、エンドポイントを有効にして構成する必要があります。 Postgres configuration を参照してください。

Endpoint

Description

/health/is-ready

プロキシが現在の書き込みリーダーに接続を正常にルーティングできるかどうかを確認します。

/health/is-live

プロキシが実行されているかどうかを確認します。

/health/is-write-ready

プロキシが現在の書き込みリーダーPGD 5.5.0以降に接続を正常にルーティングできるかどうかを確認します。

/health/is-read-only-ready

プロキシが読み取り専用接続を正常にルーティングできるかどうかを確認しますPGD 5.5.0以降。

準備状況#

有効なGET 要求を受信したとき

  • デフォルト書き込みモードでは、プロキシは現在の書き込みリーダーに接続を正常にルーティングできるかどうかを確認します。

  • 読み取り専用モードの場合、プロキシは読み取り専用接続を正常にルーティングできるかどうかを確認します。

  • いずれのモードでも、プロキシは最初に現在の書き込みリーダーに接続を正常にルーティングできるかどうかを確認します。それができる場合、チェックは成功です。そうでない場合、読み取り専用接続をルーティングできるかどうかを確認します。それができる場合、チェックは成功です。そうでない場合、チェックは失敗します。

チェックが正常に返された場合、APIはtrue とHTTPステータスコード200 (OK) を含む本文で応答します。それ以外の場合、false を含む本文をHTTPステータスコード500 (Internal Server Error) とともに返します。

ライブネス#

Livenessチェックは、HTTPステータスコード200 (OK) を含むtrue またはErrorのいずれかを返します。 PGDプロキシサービスが開始に失敗するか終了すると、要求をリッスンするHTTPサーバーが停止するため、 false は返されません。

プロキシログの場所#

プロキシは、他のシステムサービスで監視できるシステムログにログを書き込みます。

syslog#

  • Debianベース - /var/log/syslog

  • Red Hatベース - /var/log/messages

journalctl コマンドを使用して、PGDプロキシのトラブルシューティングのためのログをフィルタリングおよび表示します。以下は、クイックリファレンスのためのサンプルコマンドです。

journalctl -u pgd-proxy -n100 -f
journalctl -u pgd-proxy --since today
journalctl -u pgd-proxy --since "10 min ago"
journalctl -u pgd-proxy --since "2022-10-20 16:21:50" --until "2022-10-20 16:21:55"