Я пытаюсь отслеживать базу данных MySQL:
[root@monitored.com ~] # su nagios -c / usr / lib / nagios / plugins / check_mysql Время работы: 18014 Темы: 1 Вопросы: 6 Медленные запросы: 0 Открытие: 12 Очистка таблиц: 1 Открытые таблицы: 6 запросов в секунду в среднем: 0,000
но у меня неожиданная ошибка:
[ec2-user@monitoring.com ~] $ / usr / lib / nagios / plugins / check_nrpe -H monitored.com -c check_mysql NRPE: невозможно прочитать вывод
В чем дело?
Один хороший способ отладки Зачем выполняемая команда не возвращает действительного вывода, следует использовать strace
. Например, у меня возникла проблема с запуском команды check_linux_raid через NRPE.
Бегать strace -f -p <nrpe pid>
, а затем выполните команду вручную из системы, в которой запущен nagios (например, /usr/lib64/nagios/plugins/check_nrpe -H remotename -c commandname -a arg1 arg2 ...
).
Просканируйте вывод strace на наличие ошибок, таких как отказ в доступе или другие подобные ошибки, которые могут возникнуть. Например, в моем случае selinux запрещал доступ к файлу при запуске с удаленного компьютера, даже если этот пользователь имеет локальный доступ к этому файлу.
Из документации Nagios NRPE:
Плагин check_nrpe возвращает "NRPE: Unable to read output"
Эта ошибка означает, что команда, запущенная демоном NRPE, не вернула никаких символьных выходных данных. Это может указывать на следующие проблемы:
- Неправильно определенная командная строка в определении команды. Убедитесь, что определение команды в вашем файле конфигурации NRPE правильное.
- Плагин, указанный в командной строке, работает неправильно. Запустите командную строку вручную, чтобы убедиться, что плагин возвращает какой-либо текстовый вывод.
Подробнее здесь http://nagios.sourceforge.net/docs/nrpe/NRPE.pdf