É configuração distribuída? Quando trabalhei em um grande provedor, tínhamos 20k serviços em ~3k servidores. A partir de 5k serviços o nagios já começava a apresentar latencia de checagem. Partimos pra solução distribuída, primeiro no padrão nagios, mantendo 7 servidores slaves e 2 masters replicados.
Assim vc distribui a carga do Nagios. Quando estávamos chegando perto de 15k serviços, tivemos mais problemas de performance, principalmente no broker_module ndo2db, que não escalava os updates para o banco. Daí mudamos várias partes da solução, tiramos o módulo NEB padrão, construímos um assíncrono para updates no banco apenas se os status updates estivessem diferentes, ou seja, nas mudanças de estado. Assim conseguimos utilizar normalmente o banco ndo, enquanto que o consumo de banda de rede foi otimizado. Depois de alguns meses, chegando perto de 20k serviços, tivemos que partir para utilização do DNX. Aí foi mais complicado acertar, com o crescimento do número de slaves para 10, manter as configurações dos slaves se tornou uma tarefa complicada, que tomava muito tempo e era muito sujeito a erros manuais. Construímos um sistema para plugar em nosso banco CMDB para extrair as informações dos ativos e transformar em configurações nagios, com automação de vários processos. Aí a coisa ficou tão boa que o trabalho ficou sem graça e eu saí de lá para outras oportunidades! rs A escalabilidade do nagios é um tanto complicado de se alcançar, mesmo o nagios sendo bastante flexível, o aumento do número de ativos monitorados implica em um crescimento exponencial na manutenção do parque de monitoramento. Ando avaliando o shinken, que é uma re-implementação do nagios em python, com as melhores práticas para atingir escalabilidade e estabilidade e facilidade na manutenção do parque. Está bastante cru ainda mas possui um potencial bem interessante para grande escala de monitoramento. Para tentar resolver o seu problema de latẽncia, dê uma lida nas dicas de grandes instalações na documentação, o nagios.cmd vira um gargalo a partir de um determinado ponto, então uma tentativa é aumentar o check_period, digamos de 5 para 10 minutos, e ver se resolve. Alguns serviços não precisam ser monitorados de 5 em 5 minutos. Tente criar hierarquias de serviços a serem monitorados, os críticos recebem mais atenção e têm um período menor de checagem, enquanto que outros serviços podem ter uma frequência baixa de checagem, digamos, a cada meia hora. É uma tarefa hercúlea se não utiliza massivamente templates, hostgroups e servicegroups, mas ataca o seu problema de latência se conseguir diminuir o número de checagens simultâneas, criando uma árvore hierárquica de prioridade e urgência/necessidade da informação mais up-to-date. Espero ter jogado alguma luz para resolução deste problema. []s 2010/5/17 <benedito.ra...@caixa.gov.br> > Grande Jotagera, > > Não uso o ndobd. > Apenas o NagiosQL prá administração do Nagios. > Meu parâmetro max_concurrent_checks=0 > > Pauleira. 6000 serviços. > Tô achando que o Nagios arriou. > > Diramos > > > -----Mensagem original----- > De: Jose Oliveira [mailto:jotag...@gmail.com] > Enviada em: segunda-feira, 17 de maio de 2010 21:31 > Para: Unofficial Brazilian (Portuguese) Nagios Users List > Assunto: Re: [Nagios-users-br] Nagios em rede GRANDE, BEM GRANDE. > > Olá amigo > > Tem um parametro no qual voce especifica quantas checagens o Nagios deve > disparar em paralelo. Assim, esta quantidade limita a capacidade do Nagios > e > ele enfileira as checages. Eu, que tenho somente 1000 serviços, deixo este > careta com zero ou seja, sem limite de paralelismo... > > Deve ser este seu problema... > > Voce está salvando dados no Mysql com ndodb ou não? > > > > Em 17 de maio de 2010 18:09, <benedito.ra...@caixa.gov.br> escreveu: > > > Bem, pessoal. > > > > Seguindo as diversas dicas do pessoal daqui, tenho obtido avanços > > significativos na empreita de instalar o Nagios em larga escala. > > Mudei diversos parâmetros dos arquivos de configuração, inclusive de > > compilação. Passei a usar Perl embdded, etc. > > Estou só terminando os ajustes finos, prá depois fazer um resumo e postar > > aqui, para uso de outros futuros "sortudos" que enfrentem o mesmo > problema > > que eu. > > Por ora, é o seguinte: > > > > Estou com problema de atraso nas checagens de serviços. > > Configurei o service template para fazer a checagem de 5 em 5 minutos. > > Mas, na prática, quando eu listo os serviços na página do Nagios, e mando > > ordenar por ordem de last time check, tem serviço cuja última checagem > foi > > de 1 hora atrás (coluna Last check). > > Por outro lado, em Performance Info, obtenho o seguinte quadro sobre > > services: > > > > Time Frame Services Checked > > <= 1 minute: 27 (0.4%) > > <= 5 minutes: 1598 (25.3%) > > <= 15 minutes: 5169 (81.7%) > > <= 1 hour: 6296 (99.5%) > > Since program start: 6296 (99.5% > > > > A meu ver, o quadro acima indica que todos os serviços foram checados em > > aproximadamente 20 minutos. > > > > Então eu questiono: > > > > 1 - Porque essa demora de 1 hora entre uma checagem e outra de serviço? > > Aqueles horários que aparecem na coluna "Last check" realmente indicam o > > horário da última checagem? > > 2 - Existe algum parâmetro a ser configurado no Nagios.cfg que melhore > essa > > performance, diminuindo o tempo entre checagens? > > 3 - Porque a checagem não é feita a cada 5 minutos, como configurado no > > template de serviço? > > 4 - Li algo sobre paralelização de checagem de serviço. Seria o caso? > Como > > usar isso? > > > > Lembro, mais uma vez, que o quesito hardware está tranqüilo, com picos de > > utilização de CPU e memória de no máximo 25%. > > > > Aguardo, > > > > Grato desde já. > > > > Diramos > > > > > > -----Mensagem original----- > > De: Shine [mailto:esh...@gmail.com] > > Enviada em: quarta-feira, 5 de maio de 2010 20:56 > > Para: Unofficial Brazilian (Portuguese) Nagios Users List > > Assunto: Re: [Nagios-users-br] RES: Nagios em rede GRANDE, BEM GRANDE. > > > > O uso do protocolo TCP é mais confiável que UDP simplesmente porque o > > protocolo é orientado a conexão. Em palavras mais simples, ele faz a > > recuperação de pacotes de rede perdido no próprio protocolo, enquanto > > que o UDP depende da aplicação conferir e fazer a recuperação da > > informação. > > Mas as perdas existem tanto com o uso de um ou outro protocolo. E > > dependendo da escala de monitoração, usar TCP para contornar uma > > deficiência da rede pode trazer outros problemas. > > > > O SNMP pode oscilar não apenas por causa da rede, mas tbm pode falhar > > se o agent estiver com problemas. Existem técnicas adequadas para cada > > caso, mas se vc não tem uma conexão confiável por rede remota, melhor > > fazer a monitoração por um agent na rede local e fazer o relay dos > > resultados. Claro que estamos falando aqui de um evento de monitoração > > e não um alarme (notification, trap) no SNMP. > > > > Então para uma monitoração adequada, precisamos primeiro ver se a > > condição que gera os resultados indesejados é a rede e aplicar > > correções na rede ou mudar a topologia do agente Nagios para contornar > > a situação, por exemplo usando NSCA. Se a situação é mais devido à > > demora da aplicação SNMP do host monitorado, ajustar parâmetros de > > timeout pode ajudar. > > > > Um outro ponto a ser considerado é quantos threads podem ser rodados > > simultaneamente. Em se usando uma aplicação com uma resposta não muito > > imediata como o SNMP, faz sentido ter a máxima quantidade de threads > > simultâneos, uma vez que a interação com o host monitorado demora bem > > mais que uma interação com ping (por exemplo). Como vc usa o valor > > default, então não há limitações... mas vale a pena checar. Tem q ser > > zero. ;) > > > > sd, > > Edgar > > > > Em 5 de maio de 2010 12:19, Marcel <mits...@gmail.com> escreveu: > > > Só alterar a conf do snmpd para escutar tanto udp quanto tcp, que é > mais > > > caro mas não há perda de pacotes! > > > > > > 2010/5/5 <benedito.ra...@caixa.gov.br> > > > > > >> Alexandre, > > >> > > >> Grato pela resposta. > > >> Ocorre que, pela política imposta pela área de segurança da empresa, > não > > é > > >> permitido instalação de qualquer arquivo no cliente monitorado. > > >> Ao que me parece, para que o NRPE funcione, tem que instalar e > > configurar o > > >> cliente, certo? > > >> Ou estou errado? > > >> > > >> Diramos > > >> > > >> -----Mensagem original----- > > >> De: Alexandre Gorges [mailto:algor...@gmail.com] > > >> Enviada em: quarta-feira, 5 de maio de 2010 09:53 > > >> Para: Unofficial Brazilian (Portuguese) Nagios Users List > > >> Assunto: Re: [Nagios-users-br] Nagios em rede GRANDE, BEM GRANDE. > > >> > > >> Benedito. > > >> > > >> Eu tinha esses problemas de timeout com snmp também. O snmp, por usar > > udp, > > >> é > > >> muito sensível a pequenas oscilações na rede. > > >> > > >> Passei a usar NRPE no lugar do snmp. Os problemas foram totalmente > > >> resolvidos e permitiu outros tipos de verificações nos sistemas e o > uso > > do > > >> eventhandler para reiniciar processos. > > >> > > >> > > >> []'s > > >> Alexandre Gorges > > >> http://www.google.com.br/profiles/algorges > > >> MSN/Gtalk/iCHAT/Skype/Buzz: algor...@gmail.com > > >> ICQ: 2031408 > > >> > > >> > > >> > > >> > > >> > From: <benedito.ra...@caixa.gov.br> > > >> > Reply-To: "Unofficial Brazilian (Portuguese) Nagios Users List" > > >> > <nagios-users-br@lists.sourceforge.net> > > >> > Date: Tue, 4 May 2010 18:23:13 -0300 > > >> > To: <nagios-users-br@lists.sourceforge.net> > > >> > Subject: [Nagios-users-br] Nagios em rede GRANDE, BEM GRANDE. > > >> > > > >> > Prezadas e prezados, > > >> > > > >> > Trabalho numa empresa estatal BEM GRANDE, em se tratando de > quantidade > > de > > >> > servidores e ativos de rede. > > >> > Preciso de dicas para ajustar os parâmetros do Nagios para monitorar > > >> hosts e > > >> > serviços em larga escala. > > >> > Até hoje, usei o Nagios para monitorar 700 servidores e 2000 > serviços > > na > > >> > filial em que trabalho. > > >> > Uso o Nagios Core 3.20, que tem funcionado legal para estes > > >> quantitativos. > > >> > Máquina com 4 processadores e 4 Gb de memória. > > >> > Todas as checagens são feitas via SNMP, através dos plugins do site > > >> manubulom, > > >> > do nagiosexchange. > > >> > > > >> > Ocorre que surgiu a demanda para implementar o Nagios nas demais > > filiais, > > >> > sendo que algumas têm muito mais hosts e serviços que a minha. > > >> > A maior, tem 2000 hosts e 6000 serviços. > > >> > Notem que será um servidor Nagios por filial. > > >> > > > >> > Na maior das filiais, incluí todos os 2000 hosts e 6000 serviços. > > >> > A checagem de hosts está funcionando OK. > > >> > Mas as de serviços, apresentam a mensagem "Nagios check time-out" em > > >> muitos > > >> > casos. > > >> > A máquina está com 16 processadores e 16 Gb de memória. > > >> > Portanto, não acredito ser problema de insuficiência de hardware. > > >> > > > >> > Deixei os parâmetros default do nagios.cfg. > > >> > > > >> > Resumindo: > > >> > > > >> > - Preciso de dicas de como melhorar a performance do Nagios. > > >> > - Existem parâmetros específicos no nagios.cfg, a serem alterados, > > para > > >> > melhorar a performance em redes grandes como a minha? > > >> > > > >> > Tenho lido sobre "hosts scalations e service scalations", mas não > > entendi > > >> > muito. > > >> > Será que resolveria meu problema? > > >> > > > >> > Grato, desde já, por qualquer ajuda. > > >> > > > >> > > > >> > Diramos > > >> > > > >> > > > >> > > > >> > > > >> > > > ------------------------------------------------------------------------------ > > >> > -- > > >> > Nagios-users-br@lists.sourceforge.net mailing list > > >> > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > > >> > Wiki: http://nagios-br.sf.net/wiki > > >> > > >> > > >> > > >> > > >> > > > ------------------------------------------------------------------------------ > > >> -- > > >> Nagios-users-br@lists.sourceforge.net mailing list > > >> https://lists.sourceforge.net/lists/listinfo/nagios-users-br > > >> Wiki: http://nagios-br.sf.net/wiki > > >> > > >> > > >> > > > ------------------------------------------------------------------------------ > > >> -- > > >> Nagios-users-br@lists.sourceforge.net mailing list > > >> https://lists.sourceforge.net/lists/listinfo/nagios-users-br > > >> Wiki: http://nagios-br.sf.net/wiki > > >> > > > > > > ------------------------------------------------------------------------------ > > > -- > > > Nagios-users-br@lists.sourceforge.net mailing list > > > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > > > Wiki: http://nagios-br.sf.net/wiki > > > > > > > > > > ------------------------------------------------------------------------------ > > -- > > Nagios-users-br@lists.sourceforge.net mailing list > > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > > Wiki: http://nagios-br.sf.net/wiki > > > > > > > ------------------------------------------------------------------------------ > > > > -- > > Nagios-users-br@lists.sourceforge.net mailing list > > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > > Wiki: http://nagios-br.sf.net/wiki > > > > > > -- > Abraços > JGeraldo > > ------------------------------------------------------------------------------ > > -- > Nagios-users-br@lists.sourceforge.net mailing list > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > Wiki: http://nagios-br.sf.net/wiki > > > ------------------------------------------------------------------------------ > > -- > Nagios-users-br@lists.sourceforge.net mailing list > https://lists.sourceforge.net/lists/listinfo/nagios-users-br > Wiki: http://nagios-br.sf.net/wiki > ------------------------------------------------------------------------------ -- Nagios-users-br@lists.sourceforge.net mailing list https://lists.sourceforge.net/lists/listinfo/nagios-users-br Wiki: http://nagios-br.sf.net/wiki