GNU/Linux >> Linux の 問題 >  >> Linux

Nagios:check_nrpe コマンドライン引数を有効にする方法

質問: いくつかの引数を指定して check_nrpe コマンドを実行すると、「CHECK_NRPE:デーモンから 0 バイトを受け取りました。リモート サーバー ログでエラー メッセージを確認してください。」この問題を解決するにはどうすればよいですか?

答え: 問題は非常に簡単です。デフォルトでは、check_nrpe は引数を取りません。以下に示すように、check_nrpe のコマンド ライン引数を有効にする必要があります。

check_nrpe エラー メッセージを確認する

テスト目的で、「CHECK_NRPE:デーモンから 0 バイトを受信しました。」を表示する次の check_nrpe コマンドを実行していると仮定します。 」エラー メッセージ。

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

リモート ホスト (上記の例では 192.168.1.20) で /var/log/messages を表示すると、nrpe エラー「エラー:含まれているコマンド引数を要求します!」が表示されます。 これは、check_nrpe がコマンド引数を受け取ることが有効になっていないことを示しています。

$ tail -f /var/log/messages
Dec 5 11:11:52 dev-db xinetd[2536]: START: nrpe pid=24187 from=192.168.101.108
Dec 5 11:11:52 dev-db nrpe[24187]: Error: Request contained command arguments!
Dec 5 11:11:52 dev-db nrpe[24187]: Client request was invalid, bailing out...
Dec 5 11:11:52 dev-db xinetd[2536]: EXIT: nrpe status=0 pid=24187 duration=0(sec)

check_nrpe コマンド引数を有効にする

NRPE でコマンド引数を有効にするには、次の 2 つのことを行う必要があります。

1. –enable-command-args で NRPE を構成します

通常、NRPE をリモート ホストにインストールするときは、引数なしで ./configure を実行します。 NRPE デーモンでコマンド引数のサポートを有効にするには、以下に示すように –enable-command-args を使用してインストールする必要があります。

[remotehost]# tar xvfz nrpe-2.12.tar.gz
[remotehost]# cd nrpe-2.12

[remotehost]# ./configure --enable-command-args

[remotehost]# make all
[remotehost]# make install-plugin
[remotehost]# make install-daemon
[remotehost]# make install-daemon-config
[remotehost]# make install-xinetd

2. nrpe.cfg を変更し、dont_blame_nrpe を設定します

以下に示すように、リモート サーバーの /usr/local/nagios/etc/nrpe.cfg を変更し、dont_blame_nrpe ディレクティブを 1 に設定します。

$ /usr/local/nagios/etc/nrpe.cfg
dont_blame_nrpe=1

コマンド引数で check_nrpe を実行

上記の 2 つの変更の後、この特定のリモート ホストに対して check_nrpe を実行すると、以下に示すようなエラー メッセージは表示されなくなります。

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1
DISK OK - free space: / 111199 MB (92% inode=99%);| /=9319MB;101662;114370;0;127078

セキュリティ警告

NRPE コマンド ライン引数を有効にすると、セキュリティ リスクが生じます。何をしているのかわからない場合は、これを有効にしないでください。

おそらく、何か問題が発生した場合に NRPE を責めることはできないことをすでに理解しているでしょう。結局、dont_blame_nrpe を 1 に設定しました。


Linux
  1. コマンドライン引数をBashスクリプトに渡しますか?

  2. Sshリモートコマンドライン引数はどのように解析されますか?

  3. コマンドラインを使用してLinuxを再起動する方法

  1. LinuxでBASHコマンドライン履歴をクリアする方法

  2. ファイルの行をコマンドの引数として使用するにはどうすればよいですか?

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

  1. コマンドラインを使用してLinuxをシャットダウンまたは再起動する方法

  2. コマンドラインで画像をマージするには?

  3. docker run へのコマンドライン引数