序論
Nagiosは外部のアプリケーション(CGIを含んで)からのコマンドを処理して、それが受け取ったコマンドに基づき監視機能で様々な見方に変えます。 外部のアプリケーションは、コマンド・ファイルに書くことによって、コマンドを出す事ができます。ファイルは定期的にNagiosデーモンによって処理されます。
外部コマンドを可能にする
Nagiosに外部のコマンドを処理させるよう必ず以下を確かめます:
- check_external_commands オプションで外部のコマンド・チェックを可能にします。
- command_check_intervalオプションでコマンド・チェックの頻度を設定します。
- command_file オプションでコマンド・ファイルの場所を指定します。
- クイックスタート Fedora, クイックスタート OpenSuse, クイックスタート Ubuntu で説明されるように、外部のコマンド・ファイルを含むディレクトリの上で適切な許可を設定します。
Nagiosは外部のコマンドをいつチェックしますか?
- メイン設定ファイルのcommand_check_interval オプションで指定された通常の間隔で
- イベントハンドラが実行された直後。 これは外部のコマンド・チェックの規則的なサイクルへの追加して、イベントハンドラがNagiosにコマンドを出すと、すぐにアクションを起こします。
Nagiosが稼働している間、さまざまな事を達成するのに外部のコマンドを使用できます。 できることの例は、次の事を含んでいます。一時的にサービスとホストの通知を禁止にする事、サービス・チェックを一時禁止にすること、直ぐにサービス・チェックを強制すること、ホストとサービスなどにコメントを加える事、他
コマンド形式
コマンド・ファイルに書かれている外部のコマンドは、以下の形式を持っています…
[time] command_id;command_arguments
... [time] は 外部のアプリケーションが外部コマンドをコマンド・ファイルに出した時間です(time_t 形式で) command_idとcommand_argumentsの引数の値はどんなコマンドをNagiosに出しているかによります。
コマンド・ファイル - Example Setup
susie114:~ # ls -l /srv/app/nagios/var/rw/
total 0
prw-rw---- 1 nagios nagcmd 0 Jun 22 17:46 nagios.cmd
コマンド・ファイル - Example Command Submission
susie114:~ # echo "`date +[%s]` PROCESS_SERVICE_CHECK_RESULT;testserver;check_trap_test;1;test" > /srv/app/nagios/var/rw/nagios.cmd
# tail /srv/app/nagios/var/nagios.log | grep trap
[1224133947] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;testserver;check_trap_test;1;test
[1224133947] Warning: Passive check result was received for service 'check_trap_test' on host 'testserver', but the host could not be found!
使用できる(どうそれらを使用するかの例と共に)外部コマンドの詳細な一覧表が以下のURLのオンラインで見つけることができます: