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

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

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 バックエンドプロセス数の遷移
【グラフ】
TIS株式会社

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

連載バックナンバー

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

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

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

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