チェックポイント実行回数の監視
PostgreSQLサーバー内部でチェックポイント処理が実行された回数を定期的に取得し、実行回数の遷移をグラフで表示できます。PostgreSQLサーバーのチェックポイント関連パラメータのチューニングに利用します。
Zabbix上の表示名 |
取得する情報 |
Checkpoint count (by checkpoint_segments) |
checkpoint_segments超過によるチェックポイント実行回数 |
Checkpoint count (by checkpoint_timeout) |
checkpoint_timeout時間経過によるチェックポイント実行回数 |
【アイテム】 |
Zabbix上の表示名 |
発生条件 |
Checkpoints are occurring too frequently |
一定期間のチェックポイント発生回数が閾値を超過 |
【トリガ】 |
Zabbix上の表示名 |
表示する情報 |
Checkpoint count |
チェックポイント発生回数の遷移 |
【グラフ】 |
データベースキャッシュヒット率の監視
データベース毎のキャッシュヒット率を定期的に確認し、あらかじめ設定した閾値を下回った場合に通知します。
また、キャッシュヒット率の遷移をグラフでも表示します。PostgreSQLサーバーのメモリ関連のパラメータやチューニング対象とするSQLの特定に利用します。
Zabbix上の表示名 |
表示する情報 |
[DB名] Cache Hit Ratio |
対象データベースのキャッシュヒット率 |
【アイテム】 |
Zabbix上の表示名 |
発生条件 |
[DB名] Cache hit ratio is too low |
対象データベースのキャッシュヒット率が閾値以下に低下 |
【トリガ】 |
Zabbix上の表示名 |
表示する情報 |
[DB名] Cache Hit Ratio |
対象データベースのキャッシュヒット率の遷移 |
【グラフ】 |
デッドロック発生状況の監視
データベース毎のデッドロック発生回数を定期的に確認し、あらかじめ設定した閾値を超過した場合に通知します。また、デッドロック発生回数の遷移をグラフでも表示します。デッドロックが多発する時間帯を特定し、原因となるSQLやアプリケーションの特定に結びつけます。
Zabbix上の表示名 |
取得する情報 |
[DB名] Deadlocks |
対象データベースでのデッドロック発生回数 |
【アイテム】 |
Zabbix上の表示名 |
発生条件 |
[DB名] Deadlocks occurred too frequently |
対象データベースで閾値以上のデッドロックが発生 |
【トリガ】 |
Zabbix上の表示名 |
表示する情報 |
[DB名] Deadlocks |
対象データベースでのデッドロック発生回数の遷移 |
【グラフ】 |
トランザクション処理状況の監視
データベース毎のCOMMIT/ROLLBACK処理の実行回数を定期的に取得し、実行回数の遷移をグラフで表示します。データベース毎のスループットを調査する目的で利用します。
Zabbix上の表示名 |
取得する情報 |
[DB名] Commited transactions |
対象データベースでのCOMMIT回数 |
[DB名] Rolled back transactions |
対象データベースでのROLLBACK回数 |
【アイテム】 |
Zabbix上の表示名 |
表示する情報 |
[DB名] Number of commited/rolled back transactions |
対象データベースでのCOMMIT/ROLLBACK回数の遷移 |
【グラフ】 |
一時ファイル発生状況の監視
データベース毎に一時ファイルとして出力されたデータ量を定期的に確認し、あらかじめ設定した閾値を超過した場合に通知します。また、一時ファイルの出力量の遷移をグラフでも表示します。PostgreSQLサーバーのメモリ関連のパラメータチューニングに利用します。
Zabbix上の表示名 |
取得する情報 |
[DB名] Temp bytes |
対象データベースで一時ファイルに書き込んだデータのバイト数 |
【アイテム】 |
Zabbix上の表示名 |
発生条件 |
[DB名] Too many temp bytes |
対象データベースでの一時ファイル出力が閾値を超過 |
【トリガ】 |
Zabbix上の表示名 |
発生条件 |
[DB名] Temp file size |
対象データベースでの一時ファイル出力データ量の遷移 |
【グラフ】 |
滞留バックエンド処理の監視
PostgreSQLサーバー上のバックエンドプロセスの中から一定時間以上経過したプロセス数を確認し、あらかじめ設定した閾値を超過した場合に通知します。SQLのチューニングに利用します。
Zabbix上の表示名 |
取得する情報 |
Slow queries |
一定時間経過したバックエンドプロセス数(処理中) |
Slow DML queries |
一定時間経過したバックエンドプロセス数(DML処理中) |
Slow select queries |
一定時間経過したバックエンドプロセス数(SELECT処理中) |
【アイテム】 |
Zabbix上の表示名 |
発生条件 |
Too many slow queries |
一定時間経過したバックエンドプロセス数が閾値を超過 |
【トリガ】 |
今回はpg_monz開発の背景とpg_monzが提供する機能について紹介しました。次回はpg_monzを導入する手順とpg_monzの動作の仕組みについて解説します。
【関連リンク】
pg_monz
(リンク先最終アクセス:2014.01)