Назад | Перейти на главную страницу

Как я могу вручную запустить проверку nagios из командной строки?

При определении и тестировании новых служб в 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, но может использоваться для каждого плагина. Это дает меньше выходных для копания.

http://www.waggy.at/nagios/capture_plugin.htm

Перейдите в каталог с плагинами - в моем примере это

/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;

Это оно