PostgreSQLを監視するZabbixテンプレート pg_monz とは

2014年1月24日(金)
中西 剛紀

チェックポイント実行回数の監視

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)

TIS株式会社

戦略技術センター所属。過去に様々なDBMSと苦楽を共にし、現在はPostgreSQLをはじめするOSSの活用推進をテーマに活動中。アプリケーション基盤「ISHIGAKI Template」の開発とともに、日本PostgreSQLユーザ会、PostgreSQLコンソーシアムといったコミュニティを通じてPostgreSQLの普及活動にも力を注いでいる。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています