Re: Integração do Nagios com Cac ti
Marcel <[email protected]>
| Newsgroups | gmane.network.nagios.user.brazil |
|---|---|
| Message-ID | <[email protected]> |
Yo 2008/9/17 Anderson <[email protected]> > Como é essa "integração" Nagios x Cacti que vc se refere? No fórum do cacti vi que já existiu algum dia um plugin para o cacti que monitora os dados diretamente dos rrds e alerta o nagios via passive checks. Não sei se ainda mantém o desenvolvimento desse Nagios plugin for cacti. Mas analisando a idéia, é algo bem simples de se alcançar. Dessa maneira vc integra o Cacti ao Nagios. Para integrar o Nagios ao Cacti, existem diversas maneiras. Primeiro, como o Anderson aqui comentou. Mas, o povo da GroundWork, Oreon, OpsView, OpMon, etc... (tá bombando de frameworks all-in-one-out-of-the-box por aí), eles integram o Nagios ao Cacti, utilizando os comandos de processamento de dados de performance. Existem outras soluções (zabbix, hyperiq, zenoss, etc) que não utilizam nagios, mas que operam de modo similar e alguns até funcionam com os mesmos plugins do Nagios. Essa integração Nagios->Cacti funciona mais ou menos da seguinte maneira: Os plugins do Nagios, fazem as checagens dos serviços e também geram a partir da saída dos plugins, dados de performance da checagem. Ou seja, os plugins funcionam como coletores de dados de performance dos serviços que monitora (igual o polling do cacti). A coleta desses dados e armazenamento em gráficos caracteriza o monitoramento de tendências ou de performance. Então, se vc conseguir enviar os dados de performance para serem graficados no Cacti, basta configurar gráficos no cacti para apresentarem os dados de performance coletados pelo Nagios. Mas, nem tudo são flores, nem todas as flores são rosas. O Cacti, por sua natureza, já prevê o polling. Ele deve ser realizado pelo sistema hospedeiro do cacti e é agendado no cron, um cronjob pra iniciar a execução do poller. Então, se não integrássemos os dois sistemas, teríamos dois sistemas realizando polling ativo na rede, o que pode acarretar em alto overhead desnecessário gerando tráfego redundante apenas para monitorar os serviços. Pro cacti realizar a coleta dos dados gerados pelo Nagios, deve-se então, criar um Data Input no cacti que realize esta coleta. Estando o Nagios e o Cacti no mesmo servidor (parrudo!), podemos fazer a saída dos dados de performance dos plugins incrementarem um arquivo, e o novo data input method do cacti será baseado na leitura desse arquivo (log). Ou, pode-se também criar uma camada intermediária (com o memcached, por exemplo), e enviar os dados de performance dos plugins para o memcached. Algumas funções são necessárias e deverão ser incluídas no arquivo poller.php do cacti, mas é basicamente uma função para retornar um valor de uma chave do memcache. A vantagem em utilizar memcached como camada intermediária são muitas. O cacti consegue fazer o polling sem degradação de performance do servidor, o tempo de resposta diminui drasticamente, e não é necessário armazenar dados históricos de performance em banco de dados se já vai utilizar os RRDs, só o que interessa são os valores da última coleta, e o cacti se encarrega de armazenar o histórico (com alguma perda de dados, pois são RRDs, sempre é taxa e sempre é a média). Se precisa analisar os picos e vales, e também armazenar ad-eternum os dados de performance, procure pelo RTG ou Torrus. Assim, não é necessário utilizar um sistema de monitoramento de exceções (Nagios) realizando polling para detecção de exceções em serviços, hosts, rede, E também realizar polling para monitoramento de tendências (Cacti) que também realiza polling ativo na rede, que redunda apenas pelo tipo de monitoramento. Ou seja, a partir de apenas um sistema realizando polling, é possível coletar dados de performance e tendência e também avaliar exceções conforme a necessidade de monitoramento dos serviços, SLA, etc. O cacti funciona muito bem para graficos da infra-estrutura de rede, utilizando SNMP (snmp data query). A integração de SNMP ao nagios é simples no polling ativo (check_snmp), mas no polling passivo (snmptrapd), a coisa complica, mas não é impossível. Utiliza-se snmptt para tradução das traps recebidas, sec.pl para correlacionamento dos eventos a serem alertados em caso de incidentes, e utiliza-se o Nagios de maneira passiva para este tipo de monitoração (mais detalhes em configuração de serviços voláteis). Só indicaria o uso de all-in-one-out-of-the-box frameworks de monitoração para redes com até poucas centenas de servidores. Acima disso, o trabalho para desacoplamento dos componentes deve complicar e para grandes redes, começar a estruturar um sistema de monitoramento avançado já desacoplado é uma vantagem em função da escalabilidade e do potencial de crescimento da rede. Isto é, se sua rede é grande, não utilize soluções prontas pois quando os problemas aparecerem, ninguém sabe como os sistemas se acoplam. Sobre o NagiosQL, vc tem que utilizar o módulo NEB, da seção ADDONS de downloads, é o NDOUtils (beta). www.nagios.org www.cacti.net Caso vc ainda não saiba, o Cacti é um produto separado, não teria que estar no pacote do Nagios de qq maneira (pq vc comentou que não viu nada sobre cacti nos pacotes nagios e plugins). Espero ter ajudado. Marcel PS: Os tutoriais estão no google! :P ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ -- [email protected] mailing list https://lists.sourceforge.net/lists/listinfo/nagios-users-br Wiki: http://nagios-br.sf.net/wiki