Як я можу вручну запустити перевірку nagios з командного рядка?


24

Під час визначення та тестування нових сервісів у nagios я перезапустив nagios, потім клацнув по службі та перепланував чек якнайшвидше, потім чекав, поки перевірка відбудеться.

Чи є більш ефективний спосіб зробити це? Я хотів би скористатися командним рядком для запуску цієї конкретної перевірки та отримання результату.

Відповіді:


31

Іноді мені здається складним з'ясувати, що саме робить плагін. Щоб зрозуміти це, я встановив nagios в режим налагодження з такою конфігурацією. debug_level=2048 З нагіосами в режимі налагодження я просто хвіст debug_logфайлу debug_file=/var/log/nagios3/nagios.debug. Зробіть перевірку, і ви точно побачите, як виконується команда. Я б не залишав цей параметр нормально включеним, він дуже багатослівний і швидко заповнює ваш файл журналу.


приголомшливий це більше по лінії того, що я мав на увазі. тільки тому, що я вже заглянув у файл command.cfg, щоб визначити, які команди виконуються, але мені хотілося знати, які прапори встановлюються. Спасибі! :)
cwd

2
Я також напрошу нових користувачів, що використання tail -fдозволить вам продовжувати переглядати оновлення файлу в режимі реального часу, і control+cскасую це.
cwd

2
Рівні налагодження є бінарними - 2048 вмикає лише повідомлення з макросів. Щоб увімкнути все, що потрібно встановити debug_level = 4095. (1 + 2 + ... + 2048)
jwg

18

Це досить просто. Просто введіть CD (або ні) в каталог плагінів (місце розташування цього каталогу залежить від способу встановлення, але перевірте / usr / local / nagios, або / usr / lib / nagios).

Знайдіть плагін, який ви хочете запустити (якщо ви не впевнені, порівняйте те, що ви бачите у своєму каталозі плагінів у вашому вікні Linux, із плагінами, розміщеними тут: http://exchange.nagios.org/directory/Plugins , або спробуйте запустити "./plugin-name -h", щоб отримати довідкову інформацію про плагін).

Метод використання будь-якого з цих "плагінів" з командного рядка такий самий, як і будь-який інший скрипт Linux: Просто запустіть "./plugin-name" з відповідними прапорами, які ви хочете перевірити, і voila!


1
+1 ... і якщо це здається занадто великою проблемою, ви завжди можете переглянути конфігураційні файли Nagios, щоб побачити, які команди та параметри потрібно запустити. Навіть місце розташування каталогу плагінів там.
Джон Гарденєр

5
І майте на увазі, що завжди робіть це з nagiosкористувачем su - nagios -s /bin/bash.
кванта

приємно. а -навантаження екологічних змінних для цього користувача?
cwd

Так, як і будь-який інший прапор Linux, "-" з будь-якими прапорами, якими ви користуєтесь, буде завантажувати прапор. (Якщо я запускав df -h на CLI Linux, я використовую прапор "h" - у випадку команди df h означає "читабельний для людини".) Отже, якщо ви хочете запустити check_http check від CLI, ви б запустили ./check_http -I, де прапор I означає IP-адресу ( nagiosplugins.org/man/check_http ). nagiosplugins.org/man може бути корисним, як і каталог плагінів, до якого я пов’язаний раніше.
David W

Варіант допомоги повинен бути - допомогти. nagios-plugins.org/doc/guidelines.html
dmourati

5

Я приймаю трохи більш жорстокий напрямок, ніж @Zoredache, я входжу на сервер nagios і роблю "поки це правда; зробіть ps awwlx | grep NAGIOS_CHECK_NAME; зроблено", в той час як я змушу повторну перевірку служби, де NAGIOS_CHECK_NAME є частина імені перевірки або IP сервера, який я шукаю. Зазвичай протягом декількох секунд спливає повна команда check, і тоді я вбиваю цикл while і запускаю команду check.

Так, це абсолютно жорстоко, але <shrug> це працює для мене.


Спробуйте "дивитися" замість циклу while. linux.about.com/library/cmd/blcmdl1_watch.htm
dmourati

3

Ви також можете спробувати плагін "захоплення". Це по суті робить те саме, що і рівень налагодження 2048 року, але може використовуватися на основі додатка. Це дає менший вихід для копання.

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


1
Я намагався змусити це працювати, не знаючи, що я роблю не так (noob), але фокус
debug_level

2

Перейдіть до своєї каталогу плагінів - у моєму прикладі це так

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

перевірити миттєво (без GUI зеленого або червоного)

Спробуйте це - (повний шлях плагіна) - H (ім'я сервера) -c (контрольне ім'я)

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

Це воно

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.