我正在使用两台虚拟机。
首先: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。
我已经将192.168.1.105主机添加到Nagios Monitoring Server(192.168.1.102)使用NRPE插件使用以下链接
http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/
我可以使用192.168.1.102下面的脚本检查Apache Apollo服务是否正在运行192.168.1.105(Nagios Monitoring Server)
#!/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
但我希望如果My 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
答案 0 :(得分:0)
您的脚本根本没有使用服务命令。
$ servicestatus = sudo / sbin / service apollo-broker-service start