サービス チェックごとに個別のタイムアウト設定を設定するにはどうすればよいですか。すべてのタイムアウトは、メイン構成に従ってデフォルトで 60 秒に設定されていますが、実行時間のために特定のチェックのタイムアウトを長くする必要があります。
これはどのように行うことができますか?助けてください。
ありがとう
この問題を修正する最善の方法は、チェックを「アクティブ」から「パッシブ」実行に移動することです。パッシブ チェックには、Nagios システムからの時間制限はまったくありません。必要に応じて、タイムアウトをパッシブ チェック スクリプト/プログラム自体に組み込む必要があります。これにより、チェックの実行時間を完全に制御でき、必要に応じてデーモン化されたチェックを常に実行することもできます。
グローバル タイムアウトの主な目的は、私が「チェック スタッキング」と呼ぶ状態を防ぐことです。グローバル タイムアウトを長くすると (特に、可能な最小チェック間隔よりも長いタイムアウト)、古いチェックが終了する前に新しいチェックが開始される危険があります。これらは、Nagios システムのリソース不足から、ターゲット マシンやアプリケーションへのストレスまで、あらゆることにつながる可能性があります。したがって、一般的に、これらのグローバル タイムアウトを増やすことはお勧めできません。これらのタイムアウトに達すると、フォークされたチェック プロセスが強制終了されます。
ドキュメントに記載されているように、このタイムアウトは、適切に動作していないサービスチェックを制御するための最後の努力です。正当な理由でチェックに時間がかかることがわかっている場合は、nagios.cfgでこの制限を引き上げることをお勧めします。これを上書きするサービスまたはホストチェックの設定はありません。
編集:あなたがリモートサービスチェックだけについて話していないことに気付いたので、残念ながら、私の答えを「できません」に変更する必要があります。サービス チェックのタイムアウト設定を変更する場合は、メイン構成ファイル内のすべてのサービス チェックに適用する必要があります。
特別なタイムアウト設定を使用する 2 番目のコマンド引数を定義する必要があります。
たとえば、これは、commands.cfg の元のチェックである可能性があります。
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
そして、これはより長いタイムアウト値を持つ同じコマンドになります (commands.cfg にもあります):
define command{
command_name check_nrpe_slow
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 120 -c $ARG1$
}
この nagios-wizards を行うためのより良い方法があれば、私に知らせてください! 自分の構成ファイルに多くのスペースを節約できます。