web-dev-qa-db-ja.com

NFSをチェックするときにNagios「NRPE:出力を読み取ることができません」をデバッグする方法は?

Nagiosのセットアップが機能しています。セキュリティ上の理由から、NRPEを介して引数を解析せずに、NRPEデーモンを介してディスク使用量を監視します。だから私はNRPEが機能することを知っています。

check_mountpoints プラグインを使用してNFSをチェックしたいのですが、

NRPE: Unable to read output 

Nagiosモニターホストで私は設定しました

define command {
  command_name check_mountpoints
  command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c check_mountpoints 
}

define service {
  use                     generic-service
  name                    check_mountpoints
  Host_name               example.com
  service_description     Check_mountpoints for nfs cifs davfs
  check_command           check_nrpe!check_mountpoints
  contact_groups          linux-admins
}

リモートホストで設定しました

command[check_mountpoints]=/usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home

正しい引数が与えられていることを確認するには、コマンドはこれを出力します

[root@nas ~]# /usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home
OK: all mounts were found ( /nas1/home)
[root@nas ~]# 

また、Nagiosモニターホストとリモートホストの両方で、動作中のNRPEデーモンが実行されています。

質問

このようなものをデバッグするにはどうすればよいですか?

2
Sandra

私の経験では、このエラーは権限がないことが原因です。 nrpeクライアントスクリプトをrootとして実行しようとしました。 nrpeデーモンが実行されているユーザーとして実行してみてください。これにより、原因に対するヒントが得られるはずです。これで問題が解決しない場合は、実行してみてください

strace usr/lib/nagios/plugins/check_mountpoints.sh /nas1/home

nrpeユーザーとして。

3
ercpe

私は同じ問題を抱えていました、多くの場合それは許可でした。権限を設定するか、sudoersを使用すると解決します。

Nrpe/nagiosユーザー(su-nrpe)でログインして、コマンドを実行してみてください。

他の可能性はselinuxです、無効にしてみてくださいテストすることです:

echo 0 > /selinux/enforce

Nagiosプラグインをワールド読み取り可能またはワールド実行可能にすることなくこの問題を修正するには、nrpeユーザーをnagiosグループに追加します。

0
Clovis_Sangrail