Há algum tempo atrás, escrevi um artigo sobre como instalar o Nagios em um servidor Linux Centos 5, e posteriormente atualizei para que funcionasse também no Centos 6 Minimal.
No artigo que escrevi, mostro como o Nagios pode monitorar a própria máquina, e agora irei mostrar como monitorar outras máquinas com o NRPE (Nagios Remote Plugin Executor).
Se você nunca instalou o Nagios, é importante que instale seguindo as instruções do artigo.
Para o exemplo, irei considerar duas máquinas:
- Servidor – Servidor de monitoramento, com IP: 192.168.0.247
- Cliente – Cliente que será monitorado, com IP: 192.168.0.248
O procedimento deve ser executado em uma máquina com instalação limpa do Centos 6 Minimal para que funcione corretamente. É importante que antes de testar em uma máquina de produção, você simule em máquinas virtuais.
As duas máquinas deverão estar com acesso à internet e com a rede local configurada.
Atenção! O Servidor já deverá estar como Nagios instalado. Se você ainda não fez isso, siga as instruções do artigo citado acima!
Execute os passos abaixo para instalar o NRPE no cliente (que será monitorado).
Obs.: Se os códigos abaixo aparecerem sem o destaque, acesse o link direto do artigo aqui.
Todos os comandos abaixo devem ser executados como root. Antes de começar, adquira permissões de root e atualize o sistema:
su -l yum update
1. Pré-requisitos
yum install openssl-devel xinetd make gcc perl
2. Dados para acesso
useradd nagios passwd nagios
3. Baixe os plugins e o NRPE
Baixe os arquivos para instalação do NRPE e dos Plugins (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o NRPE 2.12 e Nagios Plugins 1.4.11.
mkdir ~/downloads cd ~/downloads wget http://ufpr.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.11/nagios-plugins-1.4.11.tar.gz wget http://ufpr.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz
4. Instale os plugins
tar xzf nagios-plugins-1.4.11.tar.gz cd nagios-plugins-1.4.11 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install chown nagios.nagios /usr/local/nagios chown -R nagios.nagios /usr/local/nagios/libexec
5. Instale o NRPE
cd ~/downloads tar xzf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin make install-daemon make install-daemon-config make install-xinetd
6. Configurações adicionais do NRPE
Adicione o serviço do NRPE no arquivo /etc/services. Por algum motivo que desconheço, quando copio e colo a linha a ser adicionada, eu tenho um problema (mais adiante) ao configurar a máquina servidor para se conectar com o cliente. Retorna uma mensagem como essa: CHECK_NRPE: Error – Could not complete SSL handshake. Então recomendo que você não copie e cole a linha abaixo, e sim digite ela no arquivo /etc/services (vi /etc/services):
nrpe 5666/tcp #NRPE
Adicione o xinetd para iniciar quando a máquina ligar, e reinicie o xinetd
chkconfig xinetd on service xinetd restart
Verifique se o NRPE está ouvindo na porta 5666
netstat -at |grep nrpe
A saída deve ser algo como:
tcp 0 0 *:nrpe *.* LISTEN
Verifique se o NRPE está funcionando:
/usr/local/nagios/libexec/check_nrpe -H localhost
A saída deve ser algo como:
NRPE v2.12
Agora que verificamos que o NRPE está funcionando, abra o arquivo /etc/xinetd.d/nrpe e na linha "only_from", troque o IP 127.0.0.1 pelo IP do servidor de monitoramento. No nosso caso:
only_from = 192.168.0.247
Abra a porta 5666 no Firewall:
/sbin/iptables -I INPUT -p tcp --dport 5666 -j ACCEPT /etc/init.d/iptables save /etc/init.d/iptables restart
Agora execute os passos abaixo para instalar o NRPE no servidor (máquina que irá monitorar as outras)
7. Instale os pré-requisitos
yum -y install openssl-devel
8. Baixe o NRPE
Baixe os arquivos para instalação do NRPE (visite http://www.nagios.org/download/ para a última versão). Esse passo-a-passo foi testado com o NRPE 2.12.
cd ~/downloads wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
9. Instale o NRPE
tar xzf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin
10. Testando a conexão com o cliente. Lembre-se de trocar pelo IP correto
/usr/local/nagios/libexec/check_nrpe -H 192.168.0.248
Se você receber o erro CHECK_NRPE: Error – Could not complete SSL handshake, veja novamente o passo 6.
Deverá retornar algo como:
NRPE v2.12
11. Crie a definição de comando do NRPE
Adicione ao arquivo /usr/local/nagios/etc/objects/commands.cfg (vi /usr/local/nagios/etc/objects/commands.cfg):
############################################################################### # NRPE CHECK COMMAND # # Command to use NRPE to check remote host systems ############################################################################### define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
12. Crie um template
Adicione ao arquivo /usr/local/nagios/etc/objects/linux-box-remote.cfg (vi /usr/local/nagios/etc/objects/linux-box-remote.cfg):
define host{ name linux-box-remote ; Name of this template use generic-host ; Inherit default values check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d,r contact_groups admins register 0 ; DONT REGISTER THIS - ITS A TEMPLATE } define host{ use linux-box-remote; host_name cliente ; Nome do servidor (curto) alias cliente ; Nome do servidor (pode ser maior) address 192.168.0.248 ; IP do cliente } define service{ use generic-service host_name cliente service_description CPU Load check_command check_nrpe!check_load } define service{ use generic-service host_name cliente service_description Current Users check_command check_nrpe!check_users } define service{ use generic-service host_name cliente service_description /dev/hda1 Free Space check_command check_nrpe!check_hda1 } define service{ use generic-service host_name cliente service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use generic-service host_name cliente service_description Zombie Processes check_command check_nrpe!check_zombie_procs }
13. Ative o template linux-box-remote.cfg.
Abra o arquivo /usr/local/nagios/etc/nagios.cfg (vi /usr/local/nagios/etc/nagios.cfg) e adicione:
#Definicoes para monitoramento de máquina linux remota cfg_file=/usr/local/nagios/etc/objects/linux-box-remote.cfg
14. Verifique se as configurações estão corretas
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Deverá retornar algo como:
Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
15. Reinicie os serviços e acesse o nagios
service httpd restart service nagios restart
Agora é só acessar o servidor: 192.168.0.247/nagios e logar com o usuário nagiosadmin (e a senha que você definiu
Pronto! Agora você já pode monitorar suas máquinas remotas com o Nagios! Dúvidas? Use os comentários!
Fonte: http://www.kernelhardware.org/nagios-nrpe-to-monitor-remote-linux-server/
Últimos comentários