GroundWork Monitorによる監視の実際
プラグインの追加(1)
ここまでは、PostgreSQLのCPU使用率の監視設定を、既存のコマンドを使って行いました。メモリ使用量の監視設定も、CPU使用率とほぼ同様に、既存の「check_local_proc_mem」というコマンドを使って行うことができます。
さて、今度はPostgreSQL特有の情報を監視するように設定してみましょう。このためには、監視を行うプラグインを別途用意する必要があります。その手順は、以下のようになります。
(1)実際に監視を行うプログラムを作り「/usr/local/groundwork/nagios/libexec/」に配置する
(2)GWMのConfiguration画面でコマンドの定義を行う
(3)上記コマンドを使用するサービスを定義する
PostgreSQLの何を監視するかは状況によっていろいろ考えられますが、ここでは、簡単なSELECT文を発行して応答があるかどうかを調べ、死活監視を行うことにします。以下のサンプル(※)に示したようなシェル・スクリプトを「/usr/local/groundwork/nagios/libexec/check_pgsql.sh」として配置します。
※サンプル・コードのダウンロードはこちら
次にコマンドの定義を行います。「Configuration」→「Commands」→「New」。
ここでまず、使用するシステム・マクロを選択します。この場合、必要なのは「USER1」だけなので「USER1」をチェックし「Next」を押します。すると、図3の画面が表示されます。
Command nameは「check_pgsql」とします。
Command lineにLinuxコマンド行を指定します。このコマンド行で引数用のマクロ「ARG1」「ARG2」を使っているので、「Test:」欄の「Arguments:」に「ARG1!ARG2」という形で引数指定が現れます。これを実際の値である「5432!postgres」に書き換えて「Test」ボタンを押すと、コマンド行が実行されます。
結果がOKであれば、Usage:に「check_pgsql!ARG1!ARG2」が表示されます。「Add」→「Continue」として設定をセーブします。
プラグインの追加(2)
最後にサービスを追加します。コマンドの定義までが完成しているので、前述したCPU使用率を監視するlocal_cpu_pgsqlの場合と同様の手順になります。
(1)サービスの登録
「Configuration」→「Services」→「+New Service」を選択し、Service nameを「postgresql_alive」とします。
「Add」ボタン→「Save」ボタンを押します。
(2)サービス監視コマンドの登録
「Service Check」を選択し、「Check command」で新たに加わった「check_pgsql」を選びます。
Command lineで「ARG1!ARG2」を「5432!postgres」にして、「localhost」でテストを行います。
OKなら、「Save」を押して設定を登録します。
(3)ホストへのサービス割り当て
「Configure」→「Hosts」→「Hosts」→「Linux Servers」→「localhost」→「Detail」を選択し、「Services」画面の下部のスクロール・リストから、新たに加わった「postgresql_alive」を選択し、「Add Service(s)」を押します。
次に、「Service」に戻って、「Configure」→「Service」→「Services」→「local_cpu_pgsql」選択→「Apply Hosts」を実行します。
最後に「Commit」を行って、設定を確定します。「Configure」→「Control」→「Commit」→「Backup」→「Commit」→「Close」。
Commit後、数分ほど待つと画面に設定が反映されます。Status ポートレットを選択し、下位ポートレットやツリー・ビューに「postgresql_alive」が現れるのを確認してください。
今回は、GWM による監視の詳細と、サービス監視項目の追加、プラグインの追加について解説しました。
次回は、GWMについてこれまでの内容をまとめていきます。
【参考文献】
「GroundWork Community Edition」(アクセス、2009/12)
「GroundWork Community Forum」(アクセス、2009/12)
「GroundWork日本語コミュニティ・サイト」(アクセス、2009/12)
今回のサンプル・コード