Funcionalidades
Monitora diversos serviços de rede
O mais diversos protocolos e serviços são aceitos pelo Nagios:
• STMP
• POP3
• HTTP
• NNTP
• ICMP
• SNMP
• Entre outros
Monitora diversos equipamentos de rede (estado da rede e recursos)
O Nagios pode, através de seus plugins, monitorar equipamentos de rede e recursos destes, como Carga de processador, uso de memória, serviços carregados, uso de disco, conforme cita Felipe Costa [2008, p89].
Monitoramento Local
Definimos Hosts locais como servidores que estão localizados no mesmo segmento de rede da máquina do Nagios [KOFFLER, 1999], não existindo nenhum roteador ou firewall entre ambos. Estes equipamentos podem ser monitorados através do algoritimo de verificação simples. Para tanto, é usado o comando ping para a verificação.
Monitoramento Remotos
São os servidores que não estão no mesmo segmento de rede da máquina com o Nagios. É necessário, para o Nagios monitorar o servidor, descrever quais são os hosts que estão no caminho.
O monitoramento de hosts remotos torna-se mais complicado devido à construção de todo um trajeto de rede para os hosts situados em outros segmentos. É necessário distinguir casos em que os hosts estejam abaixo de casos de que estejam incessíveis. De tal forma, sempre que é recebido como resposta de um comando de verificação, uma mensagem que dá ao host como inoperante, o Nagios percorre toda a hierarquia no sentido ascendente até encontrar um host ativo. Caso isso se verifique no nível imediatamente acima do host monitorado então conclui-se que o referido host esteja abaixo. Caso contrário, deduz-se que sejam os acessos ao host que estejam em baixo e que estão tornando o host inacessível. [VITOLO, 2002]
Facilidade em criar plugins
Caso seja necessário o monitoramento de objetos que não existam por padrão, podem-se desenvolver os próprios plugins na linguagem que achar mais interessante (Bash, php, C, C#, etc).
Checagem paralelizada
O Nagios consegue efetuar a checagem de serviços de forma paralela, evitando, assim, que serviços não sejam checados por falta de recursos.
Hierarquia de rede
É possível definir hierarquias nas estruturas de rede monitoradas. Podemo por exemplo, definir roteadores para que estão entre os equipamentos e o Nagios. Um caso de uso de hierarquia pode ser observado com o uso de máquinas virtuais: os computadores virtuais dependem dos equipamentos físicos para o funcionamento. O computador físico é hierarquicamente superior ao equipamento virtualizado. Se o equipamento físico apresenta problemas, automaticamente o equipamento virtual apresentará também.
Notificações de problemas
São alertas enviados aos responsáveis em caso de acontecimento de algum problema. Martins cita alguns preceitos que devem acontecer para ocasionar uma notificação:
• Ocorre uma mudança do estado soft para hard
• Se um serviço estiver em estado Hard por mais tempo do que o definido para os alertas
Tratamento de eventos
É possível deixar o sistema automatizado para efetuar rotinas predefinidas em certas circunstancias. Podemos por exemplo, em caso de algum problema, fazer com que seja executada uma rotina que reinicia o serviço. Em caso de não solução do problema, o Nagios prossegue com a notificação.
Rotacao automática de logs
Os logs do Nagios são rotacionados automaticamente, evitando que o espaço em disco seja consumido por logs enormes.
Suporte a monitoração redundante
Podemos configurar o software para utilizar sistema de monitoramento redundante. Isso garante que o sistema de monitoramento nunca irá parar.
Interface WEB
Os dados dos estados dos serviços monitorados pelo Nagios são visíveis através de uma interface web.
Detecção e tratamento de flapping
O Nagios pode detectar serviços que apresentam troca de estado constante. Tais trocas podem ser ocasionadas por lentidões momentâneas na rede ou configuração errada nos arquivos.
Estados soft e hard
Estados soft são erros que são encontrados nas primeiras checagens de um serviço. Se o estado não mudar nas demais checagens, até o limite configurado, o estado é então alterado para hard.
O Nagios consegue identificar se existe um problema ocorrendo no serviço de um host, realizando uma verificação no host que hospeda o serviço. Se for encontrado um problema com um serviço, o Nagios dispara um ping para o servidor. Em caso de resposta do comando, conclui-se que o problema está apenas com o serviço. Em caso de não resposta, conclui-se que o Host não está acessível. Nos dois casos, os alertas são enviados com os problemas detectados.
Falhas de redes
É possível, atraves da hierarquia do Nagios, definir redes independentes na estrutura. Podemos ter, por exemplo, segmentos de rede separados por Swicths monitorados. Em caso de queda neste equipamento, todo o restante da rede abaixo dele estarão inacessíveis.