Instalar, configurar e utilizar o Nagios no CentOS 6.2 com alarmes no Android

Author: Ricardo Soares - Postado em: 29/01/2012
Relacionado as categorias: Diversos, Tecnologia | Leave a Comment 





O Nagios é uma ferramenta de monitoração para máquinas que possibilita a implementação fácil de um painel de monitoramento similar aos definidos no ITIL, com ele você pode marcar vários tipos de serviços e definir se a situação do servidor está verde, amarela ou vermelha.

Explico abaixo como configurar algumas questões básicas do Nagios 3.x no CentOS 6.x, mas não deve ser muito diferente em outras versões dos sistemas pois hoje em dia o procedimento está muito prático.

Para instalar:
executei o comando abaixo efetuando a instalação dos pacotes:
#yum install nagios nagios-plugins nagios-plugins-nrpe nagios-devel

executei o comando abaixo definindo uma nova senha para a área administrativa do servidor
#htpasswd /etc/nagios/passwd nagiosadmin

e startei o serviço
#/etc/rc.d/init.d/nagios start

Pronto, seu localhost já está acessível para consulta no endereço http://localhost/nagios/”

Ok, mas e para configurar novos serviços?
Bem, o server que estou construindo está em uma máquina virtual rodando em minha casa, e meus servidores todos possuem vários serviços que ficam atrás de um firewall acessíveis a partir de minha empresa, por isto não tinha muito o que checar, a vantagem é que estou em outra rede (outro bairro da mesma cidade), por isto posso testar o serviço de outra localização, e para configurar o serviço abri o arquivo /etc/nagios/nagios.cfg (que é o arquivo principal de configuração do Nagios) e acrescentei uma entrada do tipo cfg_file (faça um find no arquivo para deixar esta entrada junto das demais, de preferência deixe esta entrada após a entrada do arquivo templates.cfg mas se não me engano não faz diferença) que ficou …
cfg_file=/etc/nagios/objects/srv.meuserver.cfg

Criei o arquivo contendo as seguintes informações:

#– arq ini
define host{
use generic-host
host_name meublog.com.br
alias www.meublog.com.br
check_command check_http
check_interval 1 ; Actively check the host every 5 minutes
address ???.???.???.???
}

define service{
use local-service
host_name meublog.com.br
service_description HTTP
check_command check_http
}
#– arq fim

IMPORTANTE: Troque o IP do servidor no item address do define host e depois que você terminar a configuração do nagios e estiver tudo ok retire a linha check_interval para que o aplicativo herde a definição do generic-host (clausula use) definida no arquivo templates.cfg do mesmo diretório.

Qual aplicativo Android utilizei:
Eu utilizei o Nagroid, o melhor aplicativo que já encontrei … e ele ainda é free!
Para instalar baixe o arquivo apk https://github.com/Elbandi/Nagroid/blob/master/build/Nagroid.apk salve ele em seu android (já utilizei em um aparelho com android 1.6 e em outro 2.2 e ambos foram ok) e execute o arquivo, lembrando que você terá que autorizar (em configurações => aplicativos) a instalação de aplicativos por fontes “não confiáveis” (recomendo o aplicativo, por isto também recomendo fazer como eu, desative a regra apenas enquanto instala o aplicativo).

Com este pequeno aplicativo você pode definir de quanto em quanto tempo deseja fazer a checagem dos hosts, se deseja alarme sonoro e qual toque (apenas algumas opções de toque) utilizar.

Para configurar o aplicativo informei a URL http://???.???.???.???/nagios/cgi-bin (obviamente trocando os ??? pelo ip do servidor), marquei que queria fazer uma autenticação e informei o “http basic auth username” junto com o “http basic auth password” … dai dei uma fuçada nas demais configurações.

Dica 01:
Caso esteja com problemas para encontrar alguma configuração errada utilize o comando
/etc/sbin/nagios -v /etc/nagios/nagios.cfg

Este comando é o comando executado quando você chama a opção checkconfig do /etc/rc.d/init.d/nagios porem assim você visualiza o que está acontecendo e em qual arquivo está seu problema

Dica 02:
Alguns de meus aplicativos quando acessados sem o www encaminham o cliente para o endereço com o www de forma que muitas vezes o sistema iria ficar com alarmes amarelos (warnings), por isto abri o arquivo /etc/nagios/objects/commands.cfg e re-defini o ojbeto check_http com o seguinte conteúdo:

define command{
        command_name    check_http
        command_line    $USER1$/check_http -I $HOSTALIAS$ $ARG1$
        }

Desta forma o sistema utiliza o parâmetro Alias definido no host ao inves do host name.

Dica 03:
Para realmente conhecer o nagios, como é muito fácil de instalar, recomendo que crie uma instalação virtual e de uma boa fuçada nos arquivos de configuração, começando pelo arquivo principal e caminhando para os demais arquivos que estão em objects

Dica 04:
Se você é como eu e não possui um IP dedicado em casa construa um script de upload do arquivo e faça o upload do html gerado pela URL configurada no android para um servidor online.


Este post foi feito sobre o CentOS que é uma distribuição “herdada” do RHEL (RedHat Enterprise Linux)













Comments

Leave a Reply






Últimos posts