При определении и тестировании новых служб в nagios я перезапускал nagios, затем щелкал службу и переназначал проверку как можно скорее, а затем ждал, пока не произойдет проверка.
Есть ли более эффективный способ сделать это? Я хотел бы использовать командную строку для запуска этой конкретной проверки и получения результата.
Иногда мне сложно понять, что именно делает плагин. Чтобы понять это, я установил nagios в режим отладки с такой конфигурацией. debug_level=2048
С nagios в режиме отладки я просто отслеживаю debug_log
файл debug_file=/var/log/nagios3/nagios.debug
. Проведите проверку, и вы точно увидите, как выполняется команда. Я бы не стал оставлять этот параметр включенным, он очень подробный и быстро заполняет ваш файл журнала.
Все очень просто. Просто cd (или нет) в каталог плагинов (расположение этого каталога зависит от того, как вы его установили, но проверьте / usr / local / nagios или / usr / lib / nagios).
Найдите плагин, который хотите запустить (если вы не уверены, сравните то, что вы видите в каталоге плагинов на вашем компьютере с Linux, с плагинами, расположенными здесь: http://exchange.nagios.org/directory/Pluginsили попробуйте запустить "./plugin-name -h", чтобы получить справочную информацию о плагине).
Метод использования любого из этих «подключаемых модулей» из командной строки такой же, как и для любого другого сценария Linux: просто запустите «./plugin-name» с соответствующими флагами, которые вы хотите проверить, и вуаля!
Я использую немного более грубый метод, чем @Zoredache, я вхожу на сервер nagios и делаю «while true; do ps awwlx | grep NAGIOS_CHECK_NAME; done», в то время как я принудительно перепроверяю службу, где NAGIOS_CHECK_NAME либо часть проверочного имени или IP-адрес сервера, который я ищу. Обычно в течение нескольких секунд появляется команда полной проверки, а затем я завершаю цикл while и запускаю команду проверки.
Да, это полная грубая сила, но <пожимает руки> у меня это работает.
Вы также можете попробовать плагин захвата. По сути, он делает то же самое, что и уровень отладки 2048, но может использоваться для каждого плагина. Это дает меньше выходных для копания.
Перейдите в каталог с плагинами - в моем примере это
/usr/lib64/nagios/plugins/
Введите имя плагина - в моем примере это
check_tcp
теперь выполните полную команду - (имя плагина) -H (имя хоста) -p (номер порта)
/usr/lib64/nagios/plugins/check_tcp -H myservername -p 8080
вывод
TCP OK - 0.004 second response time on port 8080|time=0.004146s;;;0.000000;10.000000
Однако в этом примере номер порта не является обязательным.
другой пример -
в вашем файле конфигурации, который выглядит примерно так (myserver.cfg), и вы хотите запустить check_cpu из командной строки
define service{
use generic-service
host_name myserver
servicegroups windows
service_description CPU
contact_groups sysadmin_email_only
notification_options w,c,r
check_command check_nrpe!check_cpu
}
чтобы проверить мгновенно (без зеленого или красного графического интерфейса)
Попробуйте это - (полный путь к плагину) - H (servername) -c (checkname)
/usr/lib64/nagios/plugins/check_nrpe -H spc7atc01 -c check_cpu
вывод -
OK CPU Load ok.|'5'=4;80;90; '10'=3;80;90; '15'=3;80;90;
Это оно