Monitoreando los signos vitales de Asterisk: creando el NOC de una persona

26 May

Después de mucho sufrir, eventualmente lograremos llevar a nuestro equipo al punto donde los cambios serán mínimos. ¿Entonces que sigue? ¿Vacaciones? La respuesta es un simple «¡NO!». Nuestra labor es asegurarnos que Asterisk se mantenga arriba (recordemos que estamos hablando de una plataforma completa de comunicaciones, y sin ella, el negocio simplemente no funciona)

Si bien no podemos asegurar que un equipo nunca se caerá, si podemos tomar acciones proactivas que reduzcan al mínimo el tiempo que dure la caida en caso de una contingencia. No podemos monitorear el equipo 24/7 (somos humanos, ocasionalmente tenemos que dormir), por lo que debemos de utilizar alguna herramienta de monitoreo que nos informe en el momento en que algo esté funcionando mal. Una solución muy decente (y mejor aún, open source), es Argus

Argus se trata de una herramienta escrita en Perl. Es muy ligera, pero muy versátil, y nos permite monitorear diferentes métricas del equipo. Inclusive, si no tenemos manera de medirla, podemos desarrollar un script (por ejemplo en PHP) que le entregue a Argus los datos que necesita para validar si el equipo se encuentra en buen estado. Dichos datos pueden ser por ejemplo, la cantidad de llamadas que Asterisk tenga arriba, el espacio en disco disponible o bien la carga del sistema.

Screenshot de un sistema con Argus monitoreando la carga del sistema

Para poder generar algunas de las métricas que mido, desarrollé un pequeño script llamado monitor.php que utiliza PHPAGI para hacer consultas a Asterisk y entregar el resultado. Usando este script en compañía de Argus, podemos construir una herramienta de monitoreo bastante buena, y lo mejor de todo: gratis.

Si deseas discutir más sobre el tema, te invito a participar en los foros.

Christian Cabrera

Soy ingeniero en comunicaciones con especial interés en el área de voz sobre IP y tecnologías sobre información. He usado Asterisk de manera diaria desde hace más de 18 años. En el 2011 co-fundé Enlaza Comunicaciones, una empresa que se especializa en brindar servicios profesionales de consultoría sobre voz sobre IP basadas en Asterisk, así como servicios de interpretación simultánea y traducción.