Nagios Core no Ubuntu 14.04 - Parte 1

7 de jul de 2016 - Paulo Dias


Oi, tudo bem?

Hoje vou iniciar uma serie de artigos sobre como instalar e configurar o Nagios Core através dos repositórios do Ubuntu 14.04. O Nagios é um sistema de monitoramento de rede de código aberto distribuído sob a licença GPL. Ele pode monitorar hosts e serviços, alertando quando ocorrerem problemas e também quando os problemas são resolvidos.

Nesse artigo, quero mostrar como instalar, administrar usuários e monitorar hosts ativos na rede. Para isso, o primeiro passo é executar a instalação com o seguinte comando:

 
sudo apt-get install nagios3 nagios-plugins-extra
 

Durante a instalação será necessário definir uma senha para o usuário padrão do Nagios. O usuário é o nagiosadmin, escolha a senha conforme a sua vontade.

Feito isso, o Nagios já vai estar instalado e funcionando... Utilize o seu navegador( use sempre o firefox :) para acessar a máquina onde o Nagios foi instalado. A URL segue o seguinte padrão: http://ip.da.maquina/nagios3.

A seguinte janela vai requisitar os dados de autenticação:

Forneça o usuário nagiosadmin e a senha que foi cadastrada durante a instalação. Se tudo ocorreu normalmente, uma interface semelhante a essa será exibida:

Com o Nagios instalado é possível criar novos usuários para ter acesso a essa interface WEB. Para isso, utilize o seguinte comando:

 
sudo htpasswd /etc/nagios3/htpasswd.users paulo

Dessa forma, o usuário paulo vai ter acesso a interface WEB do Nagios, mas ainda não vai ter permissões para acessar algumas páginas. Isso ocorre devido as permissões que estão configuradas no arquivo /etc/nagios3/cgi.cfg. Para dar as mesmas permissões do usuário nagiosadmin para o novo usuário, use os seguintes comandos:

 
sudo mv /etc/nagios3/cgi.cfg /etc/nagios3/cgi.bkp

sudo cat /etc/nagios3/cgi.bkp | sed s/=nagiosadmin/=nagiosadmin,paulo/g > /etc/nagios3/cgi.cfg

sudo service nagios3 restart

Obs.: Substitua paulo pelo nome do seu usuário.

Depois de configurar outro usuário com todas as permissões necessárias, recomendo remover o usuário nagiosadmin. Para fazer isso, use o comando:

 
sudo htpasswd -D /etc/nagios3/htpasswd.users nagiosadmin

Para configurar um monitoramento é necessário criar um arquivo dentro da pasta /etc/nagios3/conf.d. Todos os arquivos com a extensão .cfg no interior dessa pasta( e sub-pastas ) serão analisados pelo Nagios. A instalação do Nagios já deixou alguns arquivos preparados. No meu Ubuntu existem os seguintes arquivos:

 
extinfo_nagios2.cfg
generic-host_nagios2.cfg
generic-service_nagios2.cfg
hostgroups_nagios2.cfg
localhost_nagios2.cfg
services_nagios2.cfg
timeperiods_nagios2.cfg

Os arquivos generic-host_nagios2.cfg e generic-service_nagios2.cfg são templates que podem ser utilizados para criar novos monitoramentos de forma simples. Para que o Nagios monitore se um equipamento está conectado na rede( através do protocolo ICMP ) crie o arquivo /etc/nagios3/conf.d/equipamento.cfg com o seguinte conteúdo:

 
define host{
use                 generic-host
host_name           equipamento
alias               equipamento
address             192.168.0.108
}

define service{
use                   generic-service
host_name             equipamento
service_description   PING
check_command         check_ping!550.0,10%!600.0,20%
}

Observação.: Altere o campo address com o endereço IP do seu equipamento

Acessando o link Map no menu da esquerda da interface WEB do Nagios será carregada uma tela semelhante a essa:

Com essa configuração o Nagios vai monitorar e sinalizar na interface WEB se o equipamento for desconectado.

Perceba que o novo monitoramento está utilizando um ícone com o simbolo de interrogação( ? ), mas é possível alterar esse simbolo por outro que identifique o equipamento de uma forma mais adequada. Altere o arquivo /etc/nagios3/conf.d/equipamento.cfg com o seguinte conteúdo:

 
define host{
use                 generic-host
host_name           equipamento
alias               equipamento
address             192.168.0.108
}

define service{
use                   generic-service
host_name             equipamento
service_description   PING
check_command         check_ping!550.0,10%!600.0,20%
}

define hostextinfo{
host_name       equipamento
icon_image      switch.png
icon_image_alt  equipamento
statusmap_image switch.png
}

Para que essa configuração tenha o efeito desejado é necessário colocar a imagem( no exemplo switch.png ) na seguinte pasta: /usr/share/nagios3/htdocs/images/logos/

A próxima imagem é de um sistema que já está em produção, veja como os ícones fornecem uma melhor visão da rede:

Veja que além dos ícones, que identificam os equipamentos, a forma como os equipamento foram organizados oferece um boa visualização dessa rede. Para conseguir esse efeito, é necessário alterar o arquivo /etc/nagios3/conf.d/equipamento.cfg e adicionar o atributo parents na definição do host. Veja:

 
define host{
use                 generic-host
host_name           equipamento
alias               equipamento
address             192.168.0.108
parents             localhost
}

define service{
use                   generic-service
host_name             equipamento
service_description   PING
check_command         check_ping!550.0,10%!600.0,20%
}

define hostextinfo{
host_name       equipamento
icon_image      switch.png
icon_image_alt  equipamento
statusmap_image switch.png
}

Veja a diferença na interface WEB do Nagios:

Dessa forma, fica evidente que o novo equipamento está ligado diretamente no localhost ( no servidor onde o Nagios está instalado ).

Obs.: No atributo parents é especificado o atributo host_name de outro equipamento.

Bom pessoal, esse artigo termina aqui, no próximo quero mostrar como configurar o postifix e receber alertas do Nagios por email. Obrigado e até mais...


Paulo Dias

Graduado no curso tecnólogo em análise e desenvolvimento de sistemas. Defensor do Software Livre e da democratização da informação. Possui as certificações Linux LPIC-1 e Java OCA. Atualmente exerce a função de coordenador técnico na área de telecomunicações.

Siga-me no Twitter