Ads 468x60px

jueves, 18 de abril de 2013

Monitorear Servidores Remotos Con Nagios

Monitorear Servidores Remotos Con Nagios

Si finalmente instalaste y configuraste un servidor Nagios, sabras que para poder monitorear servidores remotos con Nagios necesitas un plugin o agente NRPE instalado en el servidor remoto para que nagios local pueda intercambiar informacion y contactarse con ese plugin remoto y asi en caso de encontrar algun problema, que dicho problema aparezca en la ventana de Nagios.

Si aun no haz instalado tu servidor Nagios, puedes ver como se instala y configura AQUI  ya que yo aca solo expondre los pasos necesarios para monitorear con Nagios servidores y servicios remotos con GNU/Linux RedHat Enterprise y derivados (Centos, Fedora, etc).

Bien lo primero, es imprescindible que en el servidor remoto instales un plugin NRPE del servicio que deseas que Nagios local monitoree.  Me explico, si tu quieres que Nagios monitoree el espacio en disco de X servidor remoto, necesitas un plugin NRPE para monitorear espacio en disco, si tu quieres que Nagios local monitoree el espacio de Tablespaces de un Oracle remoto, necesitas otro NRPE plugin dedicado para esa tarea, en resumen existen varios NRPE plugins online para tareas especificas de monitoreo, no existe 1 solo plugin NRPE para todo (Al menos que claro este, quieras programarlo tu mism@). Por lo que ten pendiente eso, Nagios se comunica con agentes remotos, los agentes remotos son plugins NRPE que deben si o si estar instalados remotamente.

1 - PASO UNO : 
Instalacion NRPE, Nagios Plugins:
Necesitas tener el repositorio EPEL habilitado en YUM para poder hacer esto, ACA una guia de como incluir y habilitar EPEL en el repositorio YUM.

sudo yum install nrpe
sudo yum install nagios-plugins-all

2 - PASO DOS:
Editar el archivo de configuracion nrpe.cfg para permitir que el servidor Nagios pueda ver la PC que se va a monitorear:

vim /etc/nagios/nrpe.cfg
 
Encuentra la linea donde dice  allowed_hosts  he incluye alli la IP de tu servidor Nagios
que va a monitorear tu PC:
 
allowed_hosts=127.0.0.1,192.168.1.100

SIGUIENTES PASOS:

- Verifica que en  /etc/hosts.deny  no haya ninguna entrada denegando acceso al PC a monitorear, en caso que si existan entradas, debes incluir en /etc/hosts.allow  el servidor Nagios que va a monitorear dicho PC:

nrpe: 192.168.1.100   nagios.example.edu

- Inicia el servicio NRPE:  /sbin/service  nrpe start
- Desde tu servidor Nagios intenta realizar una coneccion al PC remoto a monitorear asi:

telnet  IP_PC_REMOTO_A_MONITOREAR  5666

Donde 5666 es el puerto abierto del plugin NRPE remoto, si no logras conectarte por telnet o se te cierra la comunicacion a los pocos segundos, tienes un problema de acceso, revisar si hay algun cortafuegos impidiendo la comunicacion.

- Si todo funciona perfecto, agrega el servicio NRPE a los servicios de inicio dentro del PC que va a ser monitoreado por Nagios:

sudo /sbin/chkconfig nrpe on 
sudo /sbin/chkconfig --list nrpe 
nrpe 0:off 1:off 2:on 3:on 4:on 5:on 6:off

- Luego debes definir el comando (plugin) que sera utilizado por Nagios para monitorear un servicio en tu PC. En este ejemplo, dire que el servicio que deseamos monitorear es ver si el agente NRPE esta ejecutandose en el PC que sera monitoreado. El plugin NRPE a utilizar, debe estar instalado y disponible tanto en el Nagios Server como en el PC a Monitorear. Sino sabes la ruta en el Nagios Server donde los plugines NRPE deben estar, por regla general todos los plugins NRPE estan en  /usr/local/nagios/libexec.  Ahora en el PC que sera monitoreado edito el archivo  checkcommands.cfg:

define command{
        command_name check_nrpe
        command_line $USER10$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$
}

- Luego en el servidor Nagios (No en el PC que se va a monitorear, sino en el servidor Nagios que va a servir como monitor) debes editar el archivo hosts.cfg especificandole cual es el servidor remoto que se va a monitorear.

define host{
        use generic-host
 #Hostname of remote system
 host_name host.domain.com
 # A friendly name for this server
 alias Friendly  name 
 # Remote host IP address
 address 127.0.0.1
 check_command check-host-alive
 max_check_attempts 10
 notification_interval 30
 notification_period 24x7
 notification_options d,r
 # Your defined contact group name
 contact_groups admins
}

- Luego tienes que especificar en el archivo services.cfg (ubicado en la misma ruta que hosts.cfg) cual plugin NRPE es que vas a monitorear remotamente (recuerda que en este ejemplo doy uso de check_nrpe).

define service{
 use generic-service
 # Hostname of remote system
 host_name host.domain.com
 service_description Primary Disk Usage
 is_volatile 0
 check_period 24x7
 max_check_attempts 3
 normal_check_interval 5
 retry_check_interval 1
 # Change to your contact group
 contact_groups admins
 notification_options w,u,c,r
 notification_interval 10
 notification_period 24x7
 check_command check_nrpe!check_disk1
}

- Luego en el servidor Nagios (No el PC que se va a monitorear, sino en el servidor Nagios que servira de monitor) debes reiniciar el servicio de Nagios, y si no da ningun error de configuracion todo deberia funcionar normalmente y Nagios deberia monitorear sin problemas el servicio remoto.

 /etc/init.d/nagios reload 



No hay comentarios:

Publicar un comentario