Estou usando uma configuração bastante grande de nagios (cerca de 4000 serviços), sem nenhuma dependência. Isso resulta em uma enorme bagunça de notificações quando algo dá errado.
Tento procurar as melhores práticas com as Dependências do Nagios, mas tudo o que encontro na Web é o entendimento básico com um único exemplo. O que eu preciso é de informações mais profundas, melhores práticas sobre como gerenciar um arquivo de configuração.
Exemplo: em um cluster de 100 servidores com apache ouvindo cada um, estou monitorando o número de processos apache e a porta TCP de escuta 80. Quero fazer um depender do outro, mas o dependente_hostgroup_name não fará o truque, pois resulta em todos os serviços de "processo de verificação" que dependem de cada serviço "check_http".
As perguntas são: Como você gerencia suas dependências? Você usa scripts para gerá-los?
Respostas:
Concordou que é muito difícil fazer isso sem scripts.
Para cada comando de verificação de serviço, eu defini (em uma tabela db) o que normalmente depende, o que evita que eu precise configurar manualmente todas as dependências de serviço. Dependências de host que eu faço manualmente, mas fazer a descoberta de endereços mac em switches por meio de um script é algo que ajudaria a automatizar isso.
exemplos:
"check_http_content" dependeria de um "check_http" que dependeria de um "check_ping".
"check_cisco_ifstate" dependeria de um "check_snmp_ok" que dependeria de um "check_ping"
Se você criar sua configuração a partir de um banco de dados usando um script, isso não será muito difícil de implementar. Caso contrário, você gostaria de escrever um analisador para percorrer seu arquivo de configuração e inserir as dependências com base nas regras.
Não consigo imaginar uma implementação considerável de nagios sem ter um banco de dados de configuração a partir do qual você construa suas configurações, ele permite que você adicione suas próprias abstrações quando nagios lhes falta e simplifica a vida de muitas outras maneiras.
fonte