
Recentemente adquiri um belo display LED 7×11 e quero (entre outras coisas) exibir meu status de nagios nele. Para isso preciso consultar o status da minha instalação do Nagios.
Qual é a maneira apropriada de obter um resumo de status (por exemplo, número de serviços não OK) de um servidor Nagios remoto a partir, digamos, de um script Perl?
Responder1
Eu mantenho uma instalação extremamente grande do nagios e posso dizer que o melhor método para fazer isso é através do "status ao vivo"corretor de eventos:
http://mathias-kettner.de/checkmk_livestatus.html
Livestatus fornece acesso instantâneo ao status do nagios através de um soquete local ou tcp e introduz quase zero carga adicional de CPU em seu servidor de monitoramento (mas ocupa memória, é claro). A integração simples com xinetd/unixcat permite que seja consultado através da rede. A saída está em um dos três formatos: CSV, JSON e Python. Inúmeras opções de configuração estão disponíveis e são estáveis o suficiente para uso em produção. A documentação é muito boa.
Além disso, o livestatus permite outros complementos do nagios, como "MK Multisite", que agrega os resultados de múltiplas instalações do nagios em uma única GUI sem o uso de NSCA ou resultados de verificações de serviço passivas, que exigem que as configurações do nagios sejam mantidas nos servidores master e de trabalho.
Responder2
Até onde eu sei, não há API suportada pelo nagios.com para consultar o status do nagios. Existem alguns complementos diferentes que permitirão que você faça isso. Alguns são discutidos nesta questão.
Você pode consultar o cgi diretamente e "raspar a tela" do html retornado, mas essa não é uma solução muito robusta. Eu mexi um pouco com esta versão de um servidor API, mas não coloquei em produção.