pg_monzでできること
pg_monzが提供する監視機能を紹介します。
死活監視
PostgreSQLサーバーが正常に稼働しているかを定期的に確認し、稼働していない場合は通知します。
| Zabbix上の表示名 |
取得する情報 |
| number of postgres process |
PostgreSQLサーバーのプロセス数 |
| PostgreSQL service is running |
PostgreSQLサーバーのSQL応答確認結果 |
| 【アイテム】 |
| Zabbix上の表示名 |
発生条件 |
| PostgreSQL process is not running. |
PostgreSQLサーバーのプロセス数が0 |
| PostgreSQL service is not running. |
PostgreSQLサーバーへのSQL実行に失敗 |
| 【トリガ】 |
ログ監視
PostgreSQLサーバーのログを常時確認し、監視したいメッセージが出力された場合に通知します。
| Zabbix上の表示名 |
取得する情報 |
| Log of (ログファイル名) |
PANIC,FATAL,ERRORを含むログメッセージ文字列 |
| 【アイテム】 |
データベース容量監視
データベース毎の容量を定期的に監視し、あらかじめ設定した閾値を超過した場合に通知します。また、データベース容量の遷移を以下の様なグラフで表示することができます。
図1:データベース容量の遷移グラフ(クリックで拡大)
| Zabbix上の表示名 |
取得する情報 |
| [DB名] DB Size |
対象データベースの容量 |
| 【アイテム】 |
| Zabbix上の表示名 |
発生条件 |
| [DB名] DB Size is too large |
データベース容量が閾値を超過 |
| 【トリガ】 |
| Zabbix上の表示名 |
表示する情報 |
| [DB名] DB Size |
対象データベースの容量遷移 |
| 【グラフ】 |
データベース接続数監視
クライアントからPostgreSQLサーバーへの接続数をSQL処理中、アイドル状態、ロック待ちといったステータス別に取得し、接続数の内訳を以下の様なグラフで表示することができます。PostgreSQLサーバーのパラメータや多数の接続を占有するアプリケーションのチューニングに利用します。
図2:データベース接続数の遷移グラフ(クリックで拡大)
| Zabbix上の表示名 |
取得する情報 |
| Connections |
バックエンドプロセス数(合計) |
| Active (SQL processing) connections |
パックエンドプロセス数(SQL処理中) |
| Idle connections |
バックエンドプロセス数
(クライアントからの問い合わせ待ち) |
| Idle in transaction connections |
バックエンドプロセス数
(トランザクション内でコマンド待ち状態) |
| Lock waiting connections |
バックエンドプロセス数
(トランザクション内でロック待ち状態) |
| 【アイテム】 |
| Zabbix上の表示名 |
発生条件 |
| Many connections are forked. |
バックエンドプロセス数が閾値を超過 |
| 【トリガ】 |
| Zabbix上の表示名 |
表示する情報 |
| Connection count |
バックエンドプロセス数の遷移 |
| 【グラフ】 |