SafeChildren Banner

Havoc Oracle Solaris Experts

miércoles, 31 de marzo de 2010

Monitorizar Servicios Solaris 10 Nagios - Parte 1

Introducción
Una de las cosas que más echo en falta en la versión actual de SMF sobre Solaris 10u8 es poder Monitorizar los estados de los servicios. La verdad es que se habla mucho de poder utilizar SNMP para hacer consultas a los estados, pero, a día de hoy no está implementado.

Para solucionar este problema -hasta que implementen SNMP- podemos utilizar diferentes scripts que nos proporcionaran la funcionalidad de monitorización necesaria.

En este primer acercamiento vamos a utilizar una versión modificada de un PlugIn para Nagios que nos permitirá saber el estado de un servicio, su uso es el siguiente:
check_svc <service name>
Este sencillo plugin nos devuelve OK si el servicio está online, WARNING si está en online* y CRITICAL si está en maintance.  Si el servicio está OFFLINE, entonces devuelve UNKNOW, veamos un ejemplo sencillo:
# ./check_svc tomcat_6:default_64bits
OK tomcat_6:default_64bits is online
# echo $?
0
# ./check_svc tomcat_6:default_32bits
UNKNOWN tomcat_6:default_32bits is disabled
# echo $?
3
Este plugin tiene como ventaja que es realmente rápido, sin embargo, tiene deficiencias ya que no podemos establecer cuando un estado de disabled es un WARNING o CRITICAL, siempre nos devuelve UNKNOWN. Además, para hacer que sea rápido he tenido que hacer algunos cambios en el código original. Aquí os dejo una versión de verificación de Solaris SMF para Nagios modificada

Para verificaciones más complejas tenemos otra versión -también en Nagios Exchange- llamada check_solaris_smf que nos permite parametrizar el nivel de CRITICAL, WARNING y OK de la siguiente forma:
check_solaris_smf -f <frmi> -c <critical> -w <warning> -o <ok>
Por ejemplo, si queremos evaluar el servicio tomcat_6:default_64bits y los valores són: CRITICAL si está disabled u offline, WARNING si está en maintance o degraded y OK si está en online. Para ello utilizaremos el siguiente comando:
# ./check_solaris_smf -f tomcat_6:default_64bits -c DIS,OFF -w MNT,DGD -o ON
SMF SVCS OK - tomcat_6:default_64bits ON
# echo $?
0
Cuál Utilizo?
La verdad es que depende un poco de las necesidades, pero la mayor potencia del script check_solaris_smf hace que sea más lento. Aquí os dejo los tiempos de ambos scripts al ejecutar la misma comprobación:
# time ./check_solaris_smf -f tomcat_6:default_64bits -c DIS,OFF -w MNT,DGD -o ON
SMF SVCS OK - tomcat_6:default_64bits ON

real    0m0.184s
user    0m0.046s
sys     0m0.095s
# time ./check_svc tomcat_6:default_64bits
OK tomcat_6:default_64bits is online

real    0m0.084s
user    0m0.021s
sys     0m0.039s
Conclusión
En esta primera parte, hemos visto cómo podemos crear -utilizar- unos pequeños scripts que nos van a permitir ver el estado de los servicios, y devolvernos un nivel para la monitorización con Nagios.

El principal problema que tienen, es que asumen que los servicios que vamos a monitorizar se encuentran en la misma máquina donde tenemos instalado nuestro Nagios y eso -normalmente- no es así.

En las siguientes entregas, veremos cómo configurar los sistemas de monitorización para que remotamente podamos checkear los servicios utilizando un usuario no privilegiado

Referencias

No hay comentarios:

Publicar un comentario en la entrada