我在新服务器上安装了 nrpe。Nagios 已在运行并检查其他服务器(我尚未安装)。
我的系统日志文件中出现了几行错误:
Oct 31 15:17:01 myservername nrpe[41848]: Host nagios_ip is not allowed to talk to us!
我的 nrpe.cfg 文件包含以下行:
allowed_hosts=nagios_ip
我究竟做错了什么 ?
(nagios_ip 是我的 nagios 服务器的实际 IP)
答案1
我的 中有相同的条目syslog
。编辑/etc/nagios/nrpe.cfg
并输入缺失的 IP 即可完全修复该问题。
allowed_hosts=1.2.3.4/24,127.0.0.1
编辑后,您必须重新启动甚至重新加载nrpe
守护进程。
/etc/init.d/nagios-nrpe-server reload
检查你的配置是否一切正常。Syslog 应该有如下条目:
Allowing connections from: 1.2.3.4/24,127.0.0.1
由于安全问题,我建议您不要将用户 nagios 添加到 sudoers。
答案2
这里和那里有很多操作指南要求您在主机中像这样允许您的监控服务器 IP /etc/nagios/nrpe.cfg
:
allowed_hosts=127.0.0.1, 1.2.3.4
在某些发行版(例如 Ubuntu 14.04 LTS)上,它可以正常工作。在其他发行版(Ubuntu 12.04 LTS - 在我的情况下是在 Microsoft Azure 上测试的)上,它不起作用。
只需删除第二个 IP 前的空格:
allowed_hosts=127.0.0.1,1.2.3.4
然后,当然,重新启动你的主机的 nrpe 服务:
$ service nagios-nrpe-server restart
答案3
我找到了解决方案,但错误消息完全是误导性的。用户 nagios 必须在 suders 中...
在 /etc/sudoers 中:
nagios ALL=(ALL) NOPASSWD: /usr/lib/nagios/plugins/
答案4
我自己也遇到了这个问题。我修复它的方法是从 allowed_hosts 行中删除所有空格。这是在 ubuntu 12.04 上发布的 nrpe 2.12 上。有些文档指出您应该使用“,”作为字段分隔符,但事实并非如此。