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