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.
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.