Я создал check_pm2.sh
сценарий для проверки pm2 статус на удаленном сервере. Это дает правильный вывод на удаленном сервере. При вызове его с сервера мониторинга я получаю неправильный вывод. Пожалуйста, проверьте вывод команды ниже.
Сервер мониторинга:
grep check_pm2status /usr/local/nagios/etc/servers/10.10.1.80.cfg
check_command check_nrpe! check_pm2status
./check_nrpe -H 10.10.1.80 -c check_pm2status
PM2 service is not running
Удаленная система:
grep check_pm2status /etc/nagios/nrpe.cfg
command[check_pm2status]=/usr/lib/nagios/plugins/check_pm2.sh
/usr/lib/nagios/plugins/check_pm2.sh
PM2 Service is running
Скрипт приведен ниже, PM2STATUS переменная, объявленная в сценарии ниже, получает вывод 0
с сервера мониторинга и 1
с удаленного сервера при работе вручную
PM2STATUS=`pm2 status | grep online | awk '{print $10}'|wc -l`
if [ $PM2STATUS -gt 0 ];then
echo "PM2 Service is running"
exit 0
else
echo "PM2 service is not running"
exit 2
fi
Есть ли какая-либо разница с результатом с пользователем nagios и пользователем root в удаленной системе для следующей команды?
pm2 status | grep online | awk '{print $10}'|wc -l