远程服务未从Nagios Monitoring Server

时间:2016-08-11 09:07:04

标签: bash shell nagios nrpe nagiosxi

我正在使用两台虚拟机。

首先: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

1 个答案:

答案 0 :(得分:0)

您的脚本根本没有使用服务命令。

  1. 使用'which service'并确定它是'/ usr / sbin / service'。我的位于不同的文件夹中。
  2. 确保在/ etc / sudoers文件中正确设置了上面的路径/命令。
  3. 然后修改您的脚本以实际使用'service'命令,例如:
  4. $ servicestatus = sudo / sbin / service apollo-broker-service start