terça-feira, 25 de outubro de 2011

ICINGA - Monitorando máquinas remotas com NRPE

Primeiro temos que saber o que é o Icinga, caso não saiba Icinga é uma ferramenta de monitoramento de sistema e rede. Ele foi originalmente criado como um fork do aplicativo de monitoramento de sistema e rede Nagios em 2009, básico e simples assim, seu site oficial é www.icinga.org

Este é um mini tutorial que visa explicar a configuração do nrpe para monitorar maquinas remotas usando o icinga. Também levo em consideração que o seu icinga já se encontra instalado e configurado, pois nesse tutorial não vou aborda o mesmo. vamos lá então.

- Na máquina monitor temos que instalar os seguintes pacotes:

yum install nagios-nrpe nagios-plugins nagios-plugins-nrpe

Já com estes pacotes instalados vamos as seguintes configurações:

Queremos monitorar um host remoto de email por exemplo, então criamos o arquivo email.cfg e dentro deste arquivos vamos acrescentar as seguinte linhas.

define host{
use servers
host_name E-mail
alias E-mail Server 64x CENTOS 5.5
address 192.168.0.8
hostgroups Servidores
}

Acima definimos a configuração do host. Lembrando que levo em consideração que os outros arquivos já se encontram configurados, mas farei posteriormente um tutorial abordando sua configuração no icinga.

Agora essa é a parte que interessa. No mesmo arquivo email.cfg logo abaixo de onde você definiu o seu host a ser monitorado vamos acrescentar os serviços vou colocar 3 em específico.

define service{
use generic-service
host_name E-mail
service_description IMAP
check_command check_nrpe!check_imap
}

define service{
use generic-service
host_name E-mail
service_description FTP
check_command check_nrpe!check_ftp
}

define service{
use generic-service
host_name E-mail
service_description MYSQL
check_command check_nrpe!check_mysql
}

Como podemos ver, o segredo se encontra na linha check_command, ela é a responsável em fazer praticamente todo o trabalho, veja abaixo:

Mas antes tenho que explicar algo sobre o arquivo commando.cfg, veja abaixo:

define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -p 5666 -c $ARG1$
}

Essas linhas acima, quando o arquivo email.cfg é lido ele vai consultar o comando referente ao mesmo no arquivo commando.cfg, então observe que check_nrpe é o comando que consulta o script check_nrpe ( $USER1& = /usr/lib64/nagios/plugins/check_nrpe - lembrando que meu centos é 64bits ). Quando essa linha é consultada, ela vai buscar as informações no servidor remoto, ai você pergunta, mas como? vou explicar, observa abaixo.

Então vamos para a máquina email que eu defini o ip como 192.168.0.8, nesta máquina você tem que instalar os seguintes pacotes:

yum install nagios-nrpe nagios-plugins

Editando o arquivo de configuração /etc/nagios/nrpe.cfg e mudar as seguintes linha:

allowed_hosts=xxx.xxx.xxx.xxx

Nesse campo você coloca o host que vai poder consultar o nrpe da máquina remota, também existe outras configurações caso queira olhar, mas vou abordar somente o que interessa nesse tutorial, vamos lá.
Lembra dos serviços definidos no email.cfg, e no commando.cfg, pois é, ele vai buscar as informações nessa configuração do nrpe.cfg, veja baixo um exempl:

command[check_imap]=/usr/lib64/nagios/plugins/check_imap -H 127.0.0.1 -p 993 -S -w 5 -c 10
command[check_ftp]=/usr/lib64/nagios/plugins/check_ftp -H 127.0.0.1 -p 21 -w 5 -c 10
command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H 127.0.0.1 -d postfix -u postfix -p 123456 -w 5 -c 10

O check_nrpe!check_mysql diz para buscar o check_mysql que está no arquivo de configuração nrpe.cfg da máquina remota que é no caso essa linha ( command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H 127.0.0.1 -d postfix -u postfix -p 123456 -w 5 -c 10 ). lembrando que você tem que dar um start no serviço nrpe depois que ele for instalado ( /etc/init.d/nrpe start ) eu deixei o meu configurado na porta padrão 5666 tcp, caso queira mudar isso fique a vontade.

Abaixo vou mostrar a consulta feita pelo check_mysql:

[root@localhost ]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.0.8 -p 5666 -c check_mysql
Uptime: 2235554 Threads: 17 Questions: 14661155 Slow queries: 0 Opens: 22253 Flush tables: 1 Open tables: 64 Queries per second avg: 6.558

Bem tentei explicar de uma forma fácil, caso ainda tenha dúvida, comente no blog ou mande um email para linuxplue@gmail.com que farei o que for possível para esclarecer as dúvidas, então pessoal até a próxima.

Esse conteúdo está disponibilizado sobre a licença de uso - Tiu enhavo estas disponebla sur uza permesilo LiPE

Um comentário:

  1. Olá,

    parabéns pelo artigo, muito bom !

    Gostaria de saber, se vocês sabem de algum plugin para listar todos os processos em ambientes winwdos, dar taklist. Estou usando o plugin NsClient ++, se puderem me ajudar ai.

    Vlw

    ResponderExcluir

Postagens populares