Я использую две виртуальные машины.
Первое: 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 (192.168.1.102) с помощью плагина NRPE по ссылке ниже.
http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/
Я могу проверить, работает ли служба Apache Apollo на 192.168.1.105 (сервер мониторинга Nagios), используя приведенный ниже сценарий с 192.168.1.102.
#!/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