Запрос статуса Nagios программно

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

Как правильно получить сводку состояния (например, количество не-OK сервисов) с удаленного сервера Nagios, скажем, из сценария perl?

2 ответа

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

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

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

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

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

https://stackoverflow.com/questions/7768215/is-there-a-way-to-extract-data-from-nagios-as-if-it-was-a-web-service

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

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

Другие вопросы по тегам