MySQLデータベースを監視しようとしています:
[[email protected]〜] #su nagios -c/usr/lib/nagios/plugins/check_mysql稼働時間:18014スレッド:1質問:6遅いクエリ:0オープン:12フラッシュテーブル:1オープンテーブル:6クエリ/秒平均:0.000
しかし、私は予期しないエラーを受け取りました:
[[email protected]〜] $/usr/lib/nagios/plugins/check_nrpe -Hmonitored.com -c check_mysql NRPE:出力を読み取れません
どうしましたか?
Nagios NRPEドキュメントから:
check_nrpeプラグインは「NRPE:出力を読み取れません」を返します
このエラーは、NRPEデーモンによって実行されたコマンドが文字出力を返さなかったことを示します。これは、次の問題を示している可能性があります。
–コマンド定義で誤って定義されたコマンドライン。 NRPE構成ファイルのコマンド定義が正しいことを確認してください。
–コマンドラインで指定されたプラグインが誤動作しています。コマンドラインを手動で実行して、プラグインが何らかのテキスト出力を返すことを確認します。
デバッグする良い方法の1つwhy実行中のコマンドが有効な出力を返さないのは、strace
を使用することです。たとえば、NRPEを介してcheck_linux_raidコマンドを実行する際に問題が発生しました。
実行strace -f -p <nrpe pid>
をクリックし、nagiosを実行しているシステムから手動でコマンドを実行します(例:/usr/lib64/nagios/plugins/check_nrpe -H remotename -c commandname -a arg1 arg2 ...
)。
Straceの出力をスキャンして、許可が拒否されたなどのエラーや、発生する可能性のある他の同様のエラーを探します。たとえば、私の場合、selinuxは、リモートマシンから実行しているときに、そのユーザーがそのファイルへのローカルアクセス権を持っていても、ファイルへのアクセス許可を拒否していました。