Запросить статус Nagios программным способом

Запросить статус Nagios программным способом

Недавно я приобрел хороший светодиодный дисплей 7×11 и хочу (помимо прочего) отображать на нем статус моего Nagios. Для этого мне нужно запросить статус моей установки Nagios.

Какой правильный способ получить сводку состояния (например, количество неработающих служб) с удаленного сервера Nagios, например, с помощью скрипта Perl?

решение1

Я поддерживаю очень большую установку Nagios и могу сказать, что самый лучший способ сделать это — через «livestatus" брокер событий:

http://mathias-kettner.de/checkmk_livestatus.html

Livestatus обеспечивает мгновенный доступ к статусу nagios через локальный или TCP-сокет и практически не вносит дополнительной нагрузки на процессор на вашем сервере мониторинга (но, конечно, имеет объем памяти). Простая интеграция с xinetd/unixcat позволяет запрашивать его по сети. Вывод осуществляется в одном из трех форматов: CSV, JSON и Python. Доступны многочисленные параметры конфигурации, и он достаточно стабилен для использования в производстве. Документация очень хорошая.

Кроме того, livestatus включает другие дополнения Nagios, такие как "МК Мультисайт", который объединяет результаты нескольких установок Nagios в единый графический интерфейс без использования NSCA или результатов пассивных проверок служб, которые требуют поддержания конфигураций Nagios как на рабочих, так и на главных серверах.

решение2

Насколько мне известно, API, поддерживаемое nagios.com, для запроса статуса nagios не поддерживается. Существует довольно много различных дополнений, которые позволят вам это сделать. Некоторые из них обсуждаются в этом вопросе.

https://stackoverflow.com/questions/7768215/есть-ли-способ-извлечь-данные-из-nagios-как-если-это-был-веб-сервис

Вы можете напрямую запросить cgi и "скрейпнуть экран" возвращенного html, но это не очень надежное решение. Я немного повозился с этой версией сервера api, но не запустил ее в производство.

https://github.com/xb95/nagios-api

Связанный контент