Consultar el estado de Nagios mediante programación

Consultar el estado de Nagios mediante programación

Recientemente adquirí una bonita pantalla LED de 7 × 11 y quiero (entre otras cosas) mostrar el estado de mis nagios en ella. Para eso necesito consultar el estado de mi instalación de Nagios.

¿Cuál es la forma adecuada de obtener un resumen de estado (por ejemplo, número de servicios no correctos) de un servidor Nagios remoto desde, por ejemplo, un script en Perl?

Respuesta1

Mantengo una instalación de Nagios extremadamente grande y puedo decir que el mejor método para hacerlo es mediante "estado de vida" agente de eventos:

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

Livestatus proporciona acceso instantáneo al estado de nagios a través de un socket local o tcp e introduce casi cero carga adicional de CPU en su servidor de monitoreo (pero tiene una huella de memoria, por supuesto). La integración simple con xinetd/unixcat permite consultarlo a través de la red. La salida está en uno de tres formatos: CSV, JSON y Python. Hay numerosas opciones de configuración disponibles y es lo suficientemente estable para su uso en producción. La documentación es muy buena.

Además, Livestatus habilita otros complementos de Nagios, como "MK Multisitio", que agrega los resultados de múltiples instalaciones de nagios en una única GUI sin el uso de NSCA o resultados de comprobaciones de servicios pasivos, que requieren que las configuraciones de nagios se mantengan tanto en los servidores trabajadores como en los maestros.

Respuesta2

Hasta donde yo sé, no existe ninguna API compatible con nagios.com para consultar el estado de nagios. Hay bastantes complementos diferentes que le permitirán hacer esto. Algunos se analizan en esta pregunta.

https://stackoverflow.com/questions/7768215/hay-una-manera-de-extraer-datos-de-nagios-como-si-fuera-un-servicio-web

Puede consultar el cgi directamente y "eliminar la pantalla" del html devuelto, pero esa no es una solución muy sólida. He jugado un poco con esta versión de un servidor API, pero no la he puesto en producción.

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

información relacionada