SHOW POOL_HEALTH_CHECK_STATSは、主にヘルスチェックプロセスが収集したヘルスチェック(項5.8参照)の統計情報データを表示します。 このコマンドは、Pgpool-II管理者がヘルスチェックに関連したイベントを調べるのに役立ちます。 たとえば、"last_failed_health_check"列を見ることにより、フェイルオーバイベントをログファイルの中から容易に発見することができます。 他の例としては、"average_retry_count"列を評価することにより、不安定なバックエンドへのコネクションを見つけることができます。 ある特定のノードが他のノードよりもリトライ率が高ければ、バックエンドへの接続に問題があるかも知れません。
表1に各々の列名と説明を示します。
表 1. pool_health_check_statsコマンドが表示する統計情報
列名 | 説明 |
---|---|
node_id | バックエンドノードID。 |
hostname | バックエンドホスト名あるいはUNIXドメインソケットのパス。 |
port | バックエンドのポート番号。 |
status | バックエンドの状態。up, down, waiting, unused, quarantineのいずれか。 |
role | このノードの役割。ストリーミングレプリケーションモードではprimaryあるいはstandbyです。 他のモードでは、mainあるいはreplicaです。 |
last_status_change | バックエンドの状態の最終変更時刻。 |
total_count | ヘルスチェックの合計回数。 |
success_count | 成功したヘルスチェックの合計回数。 |
fail_count | 失敗したヘルスチェックの合計回数。 |
skip_count | ヘルスチェックをスキップした合計回数。そのノードがすでにダウン状態の場合、ヘルスチェックはそのノードをスキップします。 |
retry_count | ヘルスチェックの合計リトライ回数。 |
average_retry_count | 一回のヘルスチェックセッションの平均リトライ回数。 |
max_retry_count | 一回のヘルスチェックセッションの中での最大リトライ回数。 |
max_duration | ヘルスチェックに要した時間の最大値をミリ秒で表示。 ヘルスチェックセッションがリトライを行った場合、各々のリトライしたヘルスチェックの時間の合計がヘルスチェックに要した時間になります。 |
min_duration | ヘルスチェックに要した時間の最小値をミリ秒で表示。 ヘルスチェックセッションがリトライを行った場合、各々のリトライしたヘルスチェックの時間の合計がヘルスチェックに要した時間になります。 |
average_duration | ヘルスチェックに要した時間の平均値をミリ秒で表示。 ヘルスチェックセッションがリトライを行った場合、各々のリトライしたヘルスチェックの時間の合計がヘルスチェックに要した時間になります。 |
last_health_check | 最後にヘルスチェックを行った時刻。 まだヘルスチェックを行っていない場合は空文字です。 |
last_successful_health_check | 最後にヘルスチェックに成功した時刻。 まだヘルスチェックが成功していない場合は空文字です。 |
last_skip_health_check | 最後にヘルスチェックをスキップした時刻。 まだヘルスチェックがスキップされていない場合は空文字です。 ステータスがdownであっても、このフィールドが空文字であることがあり得ることに注意してください。 この場合は、ヘルスチェックプロセス以外でフェイルオーバが起きています。 |
last_failed_health_check | 最後にヘルスチェックに失敗した時刻。 まだヘルスチェックが失敗していない場合は空文字です。 ステータスがdownであっても、このフィールドが空文字であることがあり得ることに注意してください。 この場合は、ヘルスチェックプロセス以外でフェイルオーバが起きています。 |
セッション例を示します。
test=# show pool_health_check_stats; -[ RECORD 1 ]----------------+-------------------- node_id | 0 hostname | /tmp port | 11002 status | up role | primary last_status_change | 2020-01-26 19:08:45 total_count | 27 success_count | 27 fail_count | 0 skip_count | 0 retry_count | 0 average_retry_count | 0.000000 max_retry_count | 0 max_duration | 9 min_duration | 2 average_duration | 6.296296 last_health_check | 2020-01-26 19:12:45 last_successful_health_check | 2020-01-26 19:12:45 last_skip_health_check | last_failed_health_check | -[ RECORD 2 ]----------------+-------------------- node_id | 1 hostname | /tmp port | 11003 status | down role | standby last_status_change | 2020-01-26 19:11:48 total_count | 19 success_count | 12 fail_count | 1 skip_count | 6 retry_count | 3 average_retry_count | 0.230769 max_retry_count | 3 max_duration | 83003 min_duration | 0 average_duration | 6390.307692 last_health_check | 2020-01-26 19:12:48 last_successful_health_check | 2020-01-26 19:10:15 last_skip_health_check | 2020-01-26 19:12:48 last_failed_health_check | 2020-01-26 19:11:48