miércoles, 1 de agosto de 2012

Monitoreando Informix con Nagios

Server donde está instalado el informix:

1) Creamos el script para monitoreo:

# vim /ruta-de-nagios/nagios/libexec/check_informix.sh
#!/bin/bash
sudo /ruta-de-informix/informix/bin/onstat |grep On-Line > /tmp/informix-nagios.log
if test $? -eq 0
then
echo OK - DB On-Line
/usr/bin/rm /tmp/informix-nagios.log
exit 0
else
echo CRITICAL - DB Off-Line
exit 2
fi


2) Agregar al sudo el usuario nagios para que pueda ejecutar el comando onstat, ya que no puede ejecutarlo un user sin privilegios. Editamos el sudoers:

# vim /etc/sudoers
...
# Control de Accesos
User_Alias NAGIOS = nagios
...
# Cmnd alias specification
Cmnd_Alias CMD_ONSTAT = /ruta-del-informix/informix/bin/onstat
...
# User privilege specification
NAGIOS          ALL = NOPASSWD: CMD_ONSTAT


3) Configuramos en el archivo del NRPE el comando para ejecucion del script:

# vim /ruta-del-nagios/nagios/etc/nrpe.cfg
...
command[check_stateDB]=/ruta-del-nagios/nagios/libexec/check_informix.sh

Matamos el proceso del NRPE:
# ps -efa |grep nrpe
  nagios  2945   701   0   Jul 28 ?           0:36 /ruta-del-nagios/nagios/bin/nrpe -c /ruta-del-nagios/nagios/etc/nrpe.cfg -d

# kill -9 2945  

Volvemos a iniciarlo:
# /ruta-del-nagios/nagios/bin/nrpe -c /ruta-del-nagios/nagios/etc/nrpe.cfg -d

Chequeamos con el check_nrpe que este instalado correctamente y luego chequeamos con el comando creado:

# /ruta-del-nagios/nagios/libexec/check_nrpe -H localhost
NRPE "Muestra la versión instalada"

# /ruta-del-nagios/nagios/libexec/check_nrpe -H localhost -c check_stateDB
OK - DB On-Line


En el Servidor donde tenemos instalado el NAGIOS:

4) Lo agregamos al nagios, editando primero el host y luego el servicio:

# vim /ruta-del-nagios/nagios/etc/hosts.cfg
...
define host{
        use                     server            ; Name of host template to use
        host_name               informix_server
        alias                   informix_server
        address                 172.16.72.100  ; Ip del informix
        }
...

# vim /ruta-del-nagios/etc/services.cfg
...
define service{
use                             generic-service
host_name                       informix_server
service_description             Informix_State
check_command                   check_nrpe!check_stateDB
}
...

5) Chequeamos que no nos devuelva ningun error, ni ningun warning y reiniciamos el nagios:

# /ruta-del-nagios/nagios/bin/nagios -v /ruta-del-nagios/nagios/etc/nagios.cfg

# /etc/init.d/nagios reload

6) Chequeamos con el check_nrpe desde la CLI del server del nagios, especificando la ip del equipo del nagios y vemos que devuelve que el estado es OK. Si luego paramos el servicio del informix y volvemos a chequearlo nos devolvera CRITICAL.

# /ruta-del-nagios/nagios/libexec/check_nrpe -H 172.16.72.100 -c check_stateDB
OK - DB On-Line

No hay comentarios: