コマンドラインからnagiosチェックを手動で実行するにはどうすればよいですか?


24

nagiosで新しいサービスを定義およびテストするとき、nagiosを再起動し、サービスをクリックして、できるだけ早くチェックを再スケジュールしてから、チェックが発生するまで待ちます。

これを行うためのより効率的な方法はありますか?コマンドラインを使用して特定のチェックを実行し、出力を取得したいと思います。

回答:


31

プラグインが何をしているかを正確に把握するのが難しい場合があります。これを理解するために、このような構成でnagiosをデバッグモードに設定します。 debug_level=2048 デバッグモードのnagiosでは、単にdebug_logファイルを末尾に配置しますdebug_file=/var/log/nagios3/nagios.debug。チェックを強制すると、コマンドの実行方法が正確に表示されます。ただし、この設定は通常オンのままにしません。非常に冗長で、ログファイルが急速にいっぱいになります。


驚くばかり。これは、私が意味するものに沿ったものです。既にcommands.cfgファイルを見て、どのコマンドが実行されているかを調べていたからといって、どのフラグが設定されているかを知りたかったからです。ありがとう!:)
cwd

2
また、新しいユーザーを対象tail -fに、ファイルの更新をリアルタイムで継続して表示できるようにし、control+cこれをキャンセルします。
-cwd

2
debug_levelsはバイナリです-2048はマクロからのメッセージのみをオンにします。debug_level = 4095に設定するすべてをオンにします。(1 + 2 + ... + 2048)
-jwg

18

とても簡単です。プラグインディレクトリにcd(またはnot)します(このディレクトリの場所は、インストール方法によって異なりますが、/ usr / local / nagiosまたは/ usr / lib / nagiosを確認してください)。

実行するプラグインを見つけます(不明な場合は、Linuxボックスのプラグインディレクトリに表示される内容とhttp://exchange.nagios.org/directory/Pluginsにあるプラグインを比較するか、実行してみてください「./plugin-name -h」は、プラグインに関するヘルプ情報を取得します)。

コマンドラインからこれらの「プラグイン」を使用する方法は、他のLinuxスクリプトと同じです。チェックしたい適切なフラグを付けて「./plugin-name」を実行するだけです。


1
+1 ...そして、それがあまりにも面倒だと思われる場合は、Nagiosの設定ファイルを常に見て、実行する必要があるコマンドとパラメーターを確認できます。pluginsディレクトリの場所もそこにあります。
ジョンガーデニアス

5
そして、常にnagiosユーザーと一緒に行うことに注意してくださいsu - nagios -s /bin/bash
量子

いいね そして、-そのユーザーの環境変数をロードしますか?
cwd

うん、他のLinuxフラグと同様に、使用するフラグが付いた「-」はフラグをロードします。(Linux CLIでdf -hを実行している場合、「h」フラグを使用しています-dfコマンドの場合、hは「human readable」の略です。)したがって、check_httpチェックを実行する場合CLIから、。/ check_http -Iを実行します。ここで、IフラグはIPアドレスを表します(nagiosplugins.org/man/check_http)。nagiosplugins.org/manは、以前リンクしたPluginsディレクトリと同様に役立つかもしれません。
デビッドW

ヘルプオプションは--helpである必要があります。nagios-plugins.org/doc/guidelines.html
dmourati

5

@Zoredacheよりも少し強引な方向を取り、nagiosサーバーにログインして、「true; while ps awwlx | grep NAGIOS_CHECK_NAME; done」を実行します。一方、NAGIOS_CHECK_NAMEは探しているサーバーのチェック名またはIPの一部。通常、数秒以内に完全なチェックコマンドが表示され、whileループを終了してチェックコマンドを実行します。

ええ、それは完全にブルートフォースですが、<shrug>それは私のために動作します。


whileループの代わりに「ウォッチ」を試してください。 linux.about.com/library/cmd/blcmdl1_watch.htm
dmourati

3

「キャプチャ」プラグインを試してみることもできます。本質的には2048のデバッグレベルと同じことを行いますが、プラグインごとに使用できます。これにより、掘り下げる出力が少なくなります。

http://www.waggy.at/nagios/capture_plugin.htm


1
私はこれを機能させるのに苦労しました、私が間違っていたのか
わかり

2

プラグインディレクトリに移動します-私の例では

/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;

それでおしまい

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.