martes, 31 de marzo de 2009

Audio en Nagios

Es cierto que no siempre vas a estar pegado a la pantalla viendo Nagios para darte cuenta cuando algo este mal, esto por que estas ocupado en un proyecto, estas jugando (no nos hagamos :P) o simplemente tuviste una noche o día muy pesado y no estas al 100% y te andas durmiendo, para eso Nagios puede manejar Audio y te despierta por que te despierta, lo podemos hacer de la forma tradicional (ejecutar los wav's que vienen con Nagios) o de la forma "Quiero impresionar a mis jefes y compañeros de trabajo" usando festival, choose your destiny!!!!.

Ejecutando Wav's como alarma de audio.



Vamos a ejecutar unos archivos de sonido .wav cada vez que exista un problema en Nagios, esto es a la forma simple y rápida, lo implementamos verificando que tengamos descomentado lo siguiente en el archivo cgi.cfg
(esto esta al final del archivo):


host_unreachable_sound=hostdown.wav
host_down_sound=hostdown.wav
service_critical_sound=critical.wav
service_warning_sound=warning.wav
service_unknown_sound=warning.wav

Listo, ya tenemos audio alarmas en Nagios listas para indicarnos cuando exista algún problema, este sonido se ejecutara en el cliente (máquina donde abrimos la página de nagios) o sea que ese cliente debe de tener bocinas, audio habilitado y tener abierto siempre el navegador. Los archivos wav ya vienen incluidos con la instalación de Nagios.



Usando Festival para alarmarnos



Pues este es un interesante apartado, "Usando Festival para alarmarnos" y se preguntarán los newbies ¿Qué es Festival?, unos contestaran, "Es como el carnaval de Veracruz o un InstallFest", pues no!!! jajajaja (un pequeño chiste), Festival es un proyecto del Centro de investigación de Tecnología del Habla
de la Universidad de Edinburgh, el cual permite convertir el texto simple en audio (a grandes rasgos)
y ¿Para qué nos sirve a nosotros?, podemos enviar texto de Nagios a Festival e imaginense los resultados :).


Ok, ¿Qué ocupamos hacer?


  • Debemos ver la forma en que vamos a ejecutar los sonidos, esto es si el servidor de Nagios lo va a hacer
    o si los vamos a ejecutar en otra máquina (por RED).

  • Lo queremos para un servidor en producción (en alguna empresa), para un servidor de prueba o de nuestra propia red en casa o algún otro lugar.


Como en todo, siempre hay ventajas y desventajas:


Ventajas:

  • Inmediatamente recibimos el audio si alguna falla ocurre en nuestra red.

  • Sabremos con exactitud que servicio y que equipo esta abajo.

  • No ocupas tener el navegador abierto.

  • Impresionaremos a nuestros jefes y colegas :D.


Desventajas:

  • Desperdicio de recursos y más si lo emplementamos en red (para algunos casos, para otros no).

  • Nos puede asustar, jejejeje, esto si estas solo en tu cuarto (casa, trabajo, etc.) en la noche, creeme
    que te puedes asustar si te quedas medio dormido (ya me ha sucedido :P).


Si estan concientes de esto y lo desean implementar no perdamos tiempo.



Instalando Festival, NAS y configurando todo.



Como les comente podemos ejecutar el audio ya sea en el servidor de Nagios o en otra máquina



Primero que nada ocupamos instalar Speechd el cual es un demonio para ejecutar
el audio directamente de un texto a /dev/speech, el cual es muy útil.



Despues instalamos Festival, aquí esta un pequeño How to para hacerlo.



E instalamos el NAS (Network Audio System) también con su respectivo How to para hacerlo.



Ya tenemos instalado el software necesario, ahora tenemos que configurar a Nagios para poder utilizar Festival:



Vamos a configurar las alarmas en forma global para esto descomentamos las siguientes líneas en el archivo nagios.cfg:



global_host_event_handler=global-hst-event-handler
global_service_event_handler=global-svc-event-handler



Despues agregamos los siguientes comandos en checkcommands.cfg:

define command{
command_name global-hst-event-handler
command_line $USER1$/eventhandlers/hst_event_handler $HOSTNAME$ "$HOSTALIAS$" $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTATTEMPT$
}
define command{
command_name global-svc-event-handler
command_line $USER1$/eventhandlers/svc_event_handler $HOSTNAME$ "$HOSTALIAS$" "$SERVICEDESC$" $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
}


Listo, ahora solo nos faltan los scripts para poder usar estos comandos, encontraran unos de ejemplo:
svc_event_handler-speechd, svc_event_handler, hst_event_handler-speechd, hst_event_handler. Noten que puse unos para usarlos con Festival directamente y otros para usar el /dev/speech.



NOTA: Es importante que especifiquen el nombre correcto de los scripts para que tengan ningún problema.



Si todo salió bien entonces puedes parar algún servicio para probar esta configuración.



Lo malo que solo lo tengo implementado para manejar audio en inglés.

No hay comentarios:

Publicar un comentario en la entrada

Nota: solo los miembros de este blog pueden publicar comentarios.