外部コマンド


導入

Nagiosは外部アプリケーション(CGIを含むコマンド CGI 参照)からコマンドを遂行することができ、受け取るコマンドに基づき監視機能をさまざまに変化させます。

外部コマンドを有効にする

初期設定ではNagiosは外部コマンドを遂行したりチェックしたりしません。もし外部コマンドを有効にしたければ、次のことをしなければなりません....

外部コマンドはいつチェックされるのか?

外部コマンドの使用

外部コマンドによって、運用中のNagiosは様々なことを行うことが出来ます。使用例としては、一時的にサービスやホストの通知を停止させたり、サービスチェックの停止、即座にサービスチェックを行わせたり、ホストやサービスにコメントを追加したりすることが出来ます。

外部コマンドの例

いくつかのコマンドを発行するサンプルスクリプトは、Nagiosディストリビューションのeventhandlers/サブディレクトリ内にあります。システムコマンドの用法や、ファイルやディレクトリの場所等を変更しなければならないでしょう。

コマンド書式

コマンドファイルに書かれる外部コマンドの書式は次の様になります。

[time] command_id;command_arguments

時間は、外部アプリケーションやCGIが外部コマンドをコマンドファイルに渡した時間(time_t形式)です。いくつかの外部コマンドは、comment_idcommand_argumentの説明と一緒に下のテーブルにあります。

実装されているコマンド

これはNagiosで実装されているいくつかの外部コマンドの解説です。全ての「time」引数はtime_tの書式 (UNIX起源からの秒数) で指定することに注意してください。

コマンド ID コマンド引数 コマンド説明
ADD_HOST_COMMENT <host_name>;<persistent>;<author>;<comment> 特定のホストのコメントを扱うのに用いられます。一般的に、author 引数はコメントを入力した人の名前を含みます。実際のコメントはセミコロンを含んではいけません。永続フラグによってコメントが再起動後も残るかどうか決定されます。(1の場合、プログラム再起動後もコメントを残します。0の場合、再起動時にコメントは削除されます)
ADD_SVC_COMMENT <host_name>;<service_description>;<persistent>;<author>;<comment> このコマンドは特定のホストのコメントを扱うのに用いられます。ホスト名とサービスの説明の両方が必要なことに注意してください。一般的に、author 引数はコメントを入力した人の名前を含みます。実際のコメントはセミコロンを含んではいけません。永続フラグによってコメントが再起動後も残るかどうか決定されます。(1の場合、プログラム再起動後もコメントを残します。0の場合、再起動時にコメントは削除されます)
DEL_HOST_COMMENT <comment_id> このコマンドはcomment_idで指定されたホストのコメントを削除するのに用いられます。
DEL_ALL_HOST_COMMENTS <host_name> このコマンドは特定のホストに関係する全てのコメントを削除するのに用いられます。
DEL_SVC_COMMENT <comment_id> このコマンドはcomment_idで指定されたサービスのコメントを削除するのに用いられます。
DEL_ALL_SVC_COMMENTS <host_name>;<service_description> このコマンドは特定のサービスに関係する全てのコメントを削除するのに用いられます。ホスト名とサービスの説明の両方が必要なことに注意してください。
DELAY_HOST_NOTIFICATION <host_name>;<next_notification_time> このコマンドは、next_notification_time引数で指定された時間まで、次のこのホストの通知を遅らせます。次の通知の前にホストの状態変化が送信されるよう準備されている場合には、効果がありません。
DELAY_SVC_NOTIFICATION <host_name>;<service_description>;<next_notification_time> このコマンドは、next_notification_time 引数で指定された時間まで、次回のこのサービスの通知を遅らせます。ホスト名とサービスの説明の両方が必要なことに注意してください。次の通知の前にサービスの状態変化が送信されるよう準備されている場合には、効果がありません。このコマンドはホストの通知を遅らせません。
SCHEDULE_SVC_CHECK <host_name>;<service_description>;<next_check_time> このコマンドは、特定のサービスの次回のチェックをnext_check_time 引数で指定された時間に再準備させます。ホスト名とサービスの説明の両方が必要なことに注意してください。
SCHEDULE_HOST_SVC_CHECKS <host_name><next_check_time> このコマンドは、特定のホストの全てのサービスの次回のチェックをnext_check_time 引数で指定された時間に再準備させます。
ENABLE_SVC_CHECK <host_name>;<service_description> このコマンドは、特定のサービスのチェックを再び有効にします。 ホスト名とサービスの説明の両方が必要なことに注意してください。
DISABLE_SVC_CHECK <host_name>;<service_description> このコマンドは、特定のサービスチェックを一時的に停止させます。Nagiosが再起動すると、自動的にサービスチェックは有効になります。このコマンドを使用することで、一時的にサービス通知が送信されないように出来るという効果もあります。 このコマンドによってホスト通知の送信が停止することはありません。
ENABLE_SVC_NOTIFICATIONS <host_name>;<service_description> このコマンドは特定のサービスの通知を再び有効にするのに用いられます。ホスト名とサービスの説明の両方が必要なことに注意してください。
DISABLE_SVC_NOTIFICATIONS <host_name>;<service_description> このコマンドは、一時的に特定のサービス通知が送信されないようにします。Nagiosが再起動すると、サービス通知は自動的に有効になります。ホスト名とサービスの説明の両方が必要なことに注意してください。このコマンドによってホスト通知が停止することはありません。
ENABLE_HOST_SVC_NOTIFICATIONS <host_name> このコマンドは、特定のホストの全てのサービス通知を再び有効にします。このコマンドによってホスト通知は有効になりません。
DISABLE_HOST_SVC_NOTIFICATIONS <host_name> このコマンドは、一時的に特定のホストの全てのサービス通知を停止させます。このコマンドによってホスト通知は停止しません。
ENABLE_HOST_SVC_CHECKS <host_name> このコマンドは、特定のホストの全てのサービス通知を再び有効ににします。サービス通知を停止させた時に一つかそれ以上のOKでない状態のサービスがあった場合、チェックが再び有効になった後にサービスが回復したらcontactsに通知が送られます。
DISABLE_HOST_SVC_CHECKS <host_name> 特定のホスト上の全てのサービスチェックを一時的に停止させます。Nagiosが再起動すると、サービスチェックは自動的に再び有効になります。 このコマンドが実行されると、関係のある全てのサービス通知が送信されなくなる効果もあります。このコマンドでホスト通知が停止することはありません。
ENABLE_HOST_NOTIFICATIONS <host_name> このホストの通知を一時的に有効にします。(訳注 原文はdisable. 原文間違えてる?) このコマンドによってこのホストに関係するサービス通知は有効になりません。
DISABLE_HOST_NOTIFICATIONS <host_name> このホストの通知を一時的に停止させます。Nagiosが再起動すると、通知は自動的に有効になります。このコマンドによってこのホストに関わるサービス通知は停止しないことに注意してください。
ENABLE_ALL_NOTIFICATIONS_BEYOND_HOST <host_name> host_name 引数で指定されたホストの範囲(Nagiosの視点から)を越えて全てのホストとサービスの通知を有効にします。このコマンドは冗長化監視 をしているホストの連結によく使われます。
DISABLE_ALL_NOTIFICATIONS_BEYOND_HOST <host_name> host_name 引数で指定されたホストの範囲(Nagiosの視点から)を越えて全てのホストとサービスの通知を一時的に停止させます。Nagiosが再起動すると、通知は自動的に再び有効になります。このコマンドは冗長化監視 をしているホストの連結によく使われます。
ENABLE_NOTIFICATIONS <execution_time> execution time 引数で指定された時間にプログラム全体の基準でホストとサービスの通知を有効にします。
DISABLE_NOTIFICATIONS <execution_time> execution time 引数で指定された時間にプログラム全体の基準でホストとサービスの通知を停止させます。
SHUTDOWN_PROGRAM <execution_time> execution_time 引数で指定された時間にNagiosをシャットダウンさせます。注: Nagiosは一旦シャットダウンさせると、ウェブインターフェイスからリスタート出来ません。
RESTART_PROGRAM <execution_time> execution_time 引数で指定された時間に、Nagiosは設定状態を書き出し、再び設定ファイルを読み込み、監視を再開します。
PROCESS_SERVICE_CHECK_RESULT <host_name>;<service_description>;<return_code>;<plugin_output> このコマンドは特定のサービスをチェックした結果をNagiosに伝えるのに使用されます。これら”受動”チェックは通常の”能動”チェックと同様に実行されます。受動的サービスチェックの詳しい説明はここにあります。
SAVE_STATE_INFORMATION <execution_time> state_retention_file 変数で指定されたファイルに全てのサービスとホストの現在の状態をダンプさせます。このコマンドを使うにはretain_state_information オプションを有効にしておかなければなりません。.
READ_STATE_INFORMATION <execution_time> このコマンドによって、Nagiosはstate_retention_file 変数で指定されたファイルから以前に保存された全てのサービスとホストの状態を読み出します。このコマンドを使うにはretain_state_information オプションを有効にしておかなければなりません。.
START_EXECUTING_SVC_CHECKS サービスチェックの実行を再開させます。サービスチェックの実行はSTOP_EXECUTING_SVC_CHECKS コマンドを受け取ったり、メイン設定ファイルでexecute_service_checks オプションを0に設定することにより、すでに停止した状態かもしれません。冗長化監視の実装の際によく使用されます。
STOP_EXECUTING_SVC_CHECKS サービスチェックを停止させます。サービスチェックが実行されないとNagiosは実際にチェックをせずに後のためにキューに溜めます。監視に関する限り、このコマンドによってNagiosは”休眠”状態になると言えます。ホストの冗長化監視の実装の際によく使用されます。
START_ACCEPTING_PASSIVE_SVC_CHECKS 全てのサービスの受動サービスチェック の受け入れを再開するのに使用されます。受動サービスチェックの受け入れはSTOP_ACCEPTING_PASSIVE_SVC_CHECKS コマンドを受け取るか、 メイン設定ファイルでaccept_passive_service_checks オプションを0に設定することにより、すでに停止しているかもしれません。DISABLE_PASSIVE_SVC_CHECKS コマンドで受動サービスチェックを停止させると、受動チェックは受け入れられなくなりますが、その他は受け入れられます。
STOP_ACCEPTING_PASSIVE_SVC_CHECKS 全サービスの受動サービスチェックを停止させます。
ENABLE_PASSIVE_SVC_CHECKS <host_name>;<service_description> 特定のサービスの受動サービスチェックの受け入れを再開させます。DISABLE_PASSIVE_SVC_CHECKS コマンドを受け取ることで、受動サービスチェックはすでに停止しているかもしれません。 STOP_ACCEPTING_PASSIVE_SVC_CHECKS コマンドを受け取ったり、メイン設定ファイルでaccept_passive_service_checks オプションを0に設定することで全サービスの受動チェックが停止していると、 このコマンドは使えません。
DISABLE_PASSIVE_SVC_CHECKS <host_name>;<service_description> 特定のサービスの受動サービスチェックの受け入れを停止します。