Nagiosで新しいサービスを定義してテストするとき、私はnagiosを再起動し、サービスをクリックして、できるだけ早くチェックを再スケジュールし、チェックが発生するまで待機していました。
これを行うより効率的な方法はありますか?コマンドラインを使用して特定のチェックを実行し、出力を取得したいと思います。
プラグインが何をしているかを正確に理解するのは難しい場合があります。これを理解するために、私はこのような構成でnagiosをデバッグモードに設定しました。 debug_level=2048
nagiosをデバッグモードで使用すると、debug_log
ファイルdebug_file=/var/log/nagios3/nagios.debug
。チェックを強制すると、コマンドの実行方法が正確に表示されます。ただし、この設定は通常はオンのままにしないでください。非常に冗長で、ログファイルが急速にいっぱいになります。
とても簡単です。 pluginsディレクトリにcd(またはnot)します(このディレクトリの場所は、インストール方法によって異なりますが、/ usr/local/nagiosまたは/ usr/lib/nagiosを確認してください)。
実行するプラグインを見つけます(不明な場合は、Linuxボックスのプラグインディレクトリに表示されるものと、ここにあるプラグインを比較してください: http://exchange.nagios.org/directory/Plugins 、または「./plugin-name -h」を実行して、プラグインに関するヘルプ情報を取得してください。
コマンドラインからこれらの「プラグイン」を使用する方法は、他のLinuxスクリプトと同じです。確認する適切なフラグを指定して「./plugin-name」を実行するだけで、できあがりです。
@Zoredacheよりも少し強引な方向に進み、nagiosサーバーにログインして「trueの間に、ps awwlx | grep NAGIOS_CHECK_NAME; done」を実行しますが、NAGIOS_CHECK_NAMEは、サービスの再チェックを強制しますチェック名の一部または探しているサーバーのIP。通常、数秒以内に完全なcheckコマンドが表示され、whileループを終了して、checkコマンドを実行します。
ええ、それは完全に力ずくですが、<shrug>それは私のために働きます。
「キャプチャ」プラグインを試してみることもできます。これは基本的に2048のデバッグレベルと同じことを行いますが、プラグインごとに使用できます。これにより、Dig throughへの出力が少なくなります。
プラグインディレクトリに移動します-この例では
/usr/lib64/nagios/plugins/
プラグイン名を入力してください-私の例では
check_tcp
次に、完全なコマンドを実行します-(プラグイン名)-H(ホスト名)-p(ポート番号)
/usr/lib64/nagios/plugins/check_tcp -H myservername -p 8080
出力
TCP OK - 0.004 second response time on port 8080|time=0.004146s;;;0.000000;10.000000
ただし、この例ではポート番号はオプションです
もう一つの例 -
以下のような設定ファイル(myserver.cfg)にあり、コマンドラインからcheck_cpuを実行したい
define service{
use generic-service
Host_name myserver
servicegroups windows
service_description CPU
contact_groups sysadmin_email_only
notification_options w,c,r
check_command check_nrpe!check_cpu
}
即座にチェックする(GUIの緑または赤なし)
これを試してください-(プラグインのフルパス)-H(サーバー名)-c(チェック名)
/usr/lib64/nagios/plugins/check_nrpe -H spc7atc01 -c check_cpu
出力-
OK CPU Load ok.|'5'=4;80;90; '10'=3;80;90; '15'=3;80;90;
それでおしまい