我正在使用两个虚拟机。
第一个:Ubuntu 14.04.3 LTS (192.168.1.102)
二:CentOS 7 (192.168.1.105)
在 192.168.1.102 上,我安装了 Nagios Core v4.1.1、NagioSQL v3.2.0 和 NRPE v2.15。
在 192.168.1.105 上,我安装了 Apache Apollo 和 NRPE v2.15。
我已经使用下面的链接使用 NRPE 插件将 192.168.1.105 主机添加到 Nagios 监控服务器(192.168.1.102)
http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/
我可以使用来自 192.168.1.102 的以下脚本检查 Apache Apollo 服务是否在 192.168.1.105(Nagios 监控服务器)上运行
#!/bin/bash
if pidof -x "apollo" >/dev/null; then
echo "Apollo MQTT is Running."
exit 0
else
echo "Apollo MQTT is Stopped."
exit 2
fi
但我希望如果我的 Apache Apollo 服务没有运行,那么我想运行这个服务。为此我修改了上面的脚本如下
#!/bin/bash
if pidof -x "apollo" >/dev/null; then
echo "Apollo MQTT is Running."
exit 0
else
echo "Apollo MQTT is Stopped."
servicestatus=sudo /etc/init.d/apollo-broker-service start
$servicestatus
exit 2
fi
但是当我尝试使用以下命令从 192.168.1.102 Nagios 运行此脚本时
/usr/local/nagios/libexec/check_nrpe -H 192.168.1.105 -c check_service_apollomqtt
然后输出在下面
Apollo MQTT is Stopped.
Starting apollo-broker-service
Could not start apollo-broker-service
我已经在我的 192.168.1.105 /etc/sudoers 文件中添加了以下行
nagios ALL = NOPASSWD: /usr/sbin/service