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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.