GroundWork Monitorによる監視の実際

2009年12月15日(火)
矢吹 洋一

GroundWork Monitorのサービス監視追加

GWMでは、標準で用意されているサービス以外のプログラムやネットワーク・サービスを監視することもできます。GWMには、サービスの監視を行うサブコマンドがプラグインとして多数用意されています。用意されているものを使うこともできますし、監視用のサブコマンドを自作して追加することもできます。ここでは、例としてPostgreSQLというデータベース・ソフトの監視機能を追加します。

まず、local_cpu_javaのように、PostgreSQLのサーバー・プロセス(postgres)のCPU使用率を監視するサービスを追加します。

(1)サービスの登録

「Configuration」→「Services」→「+New Service」を選択します。追加するサービス名とサービス定義のテンプレートを以下のように入力します。テンプレートはgeneric-serviceしか選択肢がありません。

--------------------------------------------------------------------------------
Service name: local_cpu_pgsql
Service template: generic-service
--------------------------------------------------------------------------------

「Add」ボタン→「Save」ボタンを押します。

(2)サービス監視コマンドの登録

「Service Check」を選択します(図2)。ここで実際に監視を行うコマンドの設定を行います。

「Check command」で、用意されているコマンドから使用するものを選択します。CPU使用率を調べたいので、「check_local_proc_cpu」というコマンドを選択すると、以下のような対応するテンプレートがあらわれます。

--------------------------------------------------------------------------------
Check command: check_local_proc_cpu
Command Definition: $USER1$/check_procl.sh --cpu -w “$ARG1$” -c “$ARG2$” -p “$ARG3$”
Usage: check_local_proc_cpu!ARG1!ARG2!ARG3
Command line: check_local_proc_cpu!ARG1!ARG2!ARG3
--------------------------------------------------------------------------------

GroundWork Monitorのサービス監視追加(2)

check_local_proc_cpuに対応したテンプレートの見方は、以下の通りです。

【Command Definition:】

実際に実行されるLinuxコマンド行です。

「$USER1$」はシステムで用意しているマクロで、プラグインのプログラム・ファイルが置かれるディレクトリ・パス名に置き換えられます。通常は「/usr/local/groundwork/nagios/libexec」になります。

「$ARG1$」「$ARG2$」「$ARG3$」は、check_local_proc_cpuというコマンドに与えられた引数の、それぞれ、1番目、2番目、3番目に置き換えられます。

【Usage:】

check_local_proc_cpuというコマンドの使い方を説明しています。

この場合は、check_local_proc_cpuは引数を3つ取り、コマンド名の後に「!」で区切って指定することを表しています。

【Command line:】

実際のコマンド行を指定します。Check commandでcheck_local_proc_cpuを選択した状態では、Usage:と同じコマンド行になっていますが、ARG1、ARG2、ARG3に具体的な値を指定します。

ここでは、Command line:に以下のように指定します。

--------------------------------------------------------------------------------
check_local_proc_cpu!40!50!postgres
--------------------------------------------------------------------------------

40はCPU使用率の警告ラインの%値、50はクリティカル・ラインの%値、postgresはプロセス名です。

Command lineを入力したら、「Test:」「Host:」に「localhost」を記入して「Test」ボタンを押し、コマンドのテストを行います。次に「Save」を押して設定をいったんセーブします。

(3)ホストへのサービス割り当て

「Configure」→「Hosts」→「Hosts」→「Linux Servers」→「localhost」→「Detail」を選択し、「Services」画面の下部のスクロール・リストから「local_cpu_psql」を選択し、「Add Service(s)」を押します。

次に、Serviceに戻って、「Configure」→「Service」→「Services」→「local_cpu_pgsql」選択→「Apply Hosts」を実行します。

最後に「Commit」を行って、設定を確定します。「Configure」→「Control」→「Commit」→「Backup」→「Commit」→「Close」。

次ページでは、既存のコマンドを使った監視以外の方法として、監視を行うプログラムを自作する例を紹介し、解説します。

SRA OSS, Inc. 日本支社
オープンソースソフトウエアという言葉が無かった時代から、OSS的なものを仕事の糧としてきて早20年。現在では「泥縄式」で色々なオープンソースソフトウエアをサポートするのが主たる仕事になっている。

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

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

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

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