0

Nagios を使用して NRPE で実行する単純なプラグインを作成しました。コマンド ラインでは問題なく動作しますが、nrpe 経由で実行すると、「NRPE: 出力を読み取れません」と表示されます。

固定文字列をエコーするだけで問題なく動作するため、ファイルを読み取れないことに関係しています。権限が644であることを確認しました。

何が起こっているか知っている人はいますか?

私が使用する呼び出しは次のとおりです。

/usr/lib64/nagios/plugins/check_nrpe -H 192.168.1.10 -p 5666 -c local_check

nrpe.conf の構成コマンドは次のとおりです。

command[local_check]=/usrl/lib64/nagios/plugins/local_check

プラグインのコードは次のとおりです (簡略化すると、ステータス ファイルを作成するためのチェックが明らかに増えます)。

#!/usr/bin/bash

HOST="127.0.0.1"
CACHE_FILE="/tmp/local_check"

echo "0">$CACHE_FILE
echo "This is the status code I want">>$CACHE_FILE

ret_code=$(/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 1p)
status=$(/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 2p )
/usr/bin/cat $CACHE_FILE|/usr/bin/sed -n 2p
exit $ret_code
4

1 に答える 1

0

SELinux を無効にして、システムを再起動しました。その後、動作するのでSELinuxの問題です。発生する可能性のあるその他の問題は、ファイアウォールで tcp ポート 5666 を開く、ライブラリが見つからない (最初にコマンド ラインからプラグインを実行する)、および nagios プラグインで実行できないルートのみの操作である場合は、それも考慮する必要があります。

于 2015-05-24T17:44:59.873 に答える