Я пытаюсь контролировать службу redis, работающую на удаленном хосте с использованием сервера Nagios. Я выполнил все конфигурации на хосте:
- Создайте сценарий
check_redis.sh
в / usr /lib / nagios / plugins chmod +x /usr/lib/nagios/plugins/check_redis.sh
- Добавить команду в / etc / nagios / nrpe.cfg
command [check_redis] = /usr / lib / nagios / plugins / check_redis.sh
На стороне сервера: я определил новую команду / usr / local / nagios / etc / objects / commands.cfg
define command{
command_name redis_health
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_redis
}
На удаленном хосте разрешен порт 6379, а файл redis.conf отредактирован для привязки к 0.0.0.0
Проблема заключается в том, что когда язапустить скрипт на удаленном хосте, он работает нормально, но когда я тестирую его с сервера мониторинга, он дает сообщение, что redis не работает, но на самом деле он работает на удаленном хосте.
#!/bin/bash
redis_status=$(redis-cli ping)
if [ "$redis_status" ]; then
echo 'Redis is working normally'
exit 0
else
echo 'Redis has stopped working'
exit 1
fi
Команда, выданная сервером: /usr/local/nagios/libexec/check_nrpe -H IP_Address check_redis
.
Токовый выход: Redis has stopped working