NagiosとNRPEに問題があり、解決できません。
私はすでに試しました。
# grep "nrpe_user=" /etc/nagios/nrpe.cfg
nrpe_user=nrpe
NRPEはユーザーnrpeとして実行されています。だから私はこの行をvisudoに追加しました:
Defaults:nrpe !requiretty
nrpe ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/check_jboss_files
Nagios nrpe.cfgを編集しました:
command[check_jboss_files]=Sudo /usr/lib64/nagios/plugins/check_jboss_files
しかし、Nagiosサーバーからコマンドを実行しようとすると、次のようになります。
# /usr/lib64/nagios/plugins/check_nrpe -H 1.2.3.4 -c check_jboss_files
NRPE: Unable to read output
ユーザーnrpeとして実行している場合でも、ローカルで起動すると、スクリプトは期待どおりに実行されていました。
# Sudo sudo -s -u nrpe
bash-4.2$ Sudo /usr/lib64/nagios/plugins/check_jboss_files
JBOSS Files: 2049
WARNING - JBOSS Files: 2049
Sudoがない場合、スクリプトはnagiosサーバーで機能しますが、良好な結果を得るにはSudoと連携する必要があります。私が逃したものは?私はおそらくすべてを試しました、そして私はどんな助けにも感謝するでしょう。
最近、非常によく似た状況に直面しました。解決策は、Sudoアクセスを許可するようにselinuxを構成することでした。
this の記事をフォローすると、何をすべきかがわかります。
私にとって、これはCentOS7.4で機能しました。
yum install -y setroubleshoot-server
私の違反:
$ grep -m 1 type=AVC.*Sudo /var/log/audit/audit.log | audit2why
type=AVC msg=audit(1525359549.889:211763): avc: denied { getattr } for pid=127488 comm="check_d" path="/usr/bin/Sudo" dev="dm-0" ino=67120340 scontext=system_u:system_r:nrpe_t:s0 tcontext=system_u:object_r:Sudo_exec_t:s0 tclass=file
Was caused by:
The boolean nagios_run_Sudo was set incorrectly.
Description:
Allow nagios to run Sudo
Allow access by executing:
# setsebool -P nagios_run_Sudo 1
提案されたコマンドを実行すると、問題が解決しました。