MonitorMonit es una herramienta muy utilizada por los administradores de sistemas y es bastante útil en un sistema Asterisk donde podemos chequear si Asterisk está funcionando, o por lo contrario enviarnos un aviso en el caso de que se apague repentinamente.

De hecho, en la lista de Asterisk-ES hay bastantes personas que lo utilizan como podeis comprobar en el archivo de temas.

Hace unos días, Bret McDanel (Trixter), uno de los desarrolladores de FreeSwitch publicó un parche para Monit para que, además de monitorizar si Asterisk estaba funcionando, la red funciona corréctamente, el procesador está en su correcta medida, también podamos monitorizar el estado de las peticiones SIP.

“I had used monit for some other things, and even used it for testing SIP but was dissatisfied with the fact that it did not do a real SIP test. To that end I added a SIP protocol handler, which sends an OPTIONS packet, and verifies that it gets a 200 OK back. This indicates that the message was received, parsed, and a response could be generated. With the optional timeout capabilities of monit you can have something that is fairly robust for ensuring that your SIP stack is indeed working, and restart it if it isnt.”

Por esto, os recomiendo probar esta aplicación si no la conoceis, e incluso su nuevo parche para SIP:

cd /usr/src

cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/monit co monit

cd monit

wget -O protocols/sip.c http://www.0xdecafbad.com/wp-content/uploads/2008/01/sip.c

wget http://www.0xdecafbad.com/wp-content/uploads/2008/01/sip.cvsdiff

patch -p0 < sip.cvsdiff

./autogen.sh

make all install

Un ejemplo de configuración para esta aplicación, sería algo así:

check process asterisk with pidfile /var/run/asterisk/asterisk.pid
start program = “/usr/sbin/asterisk”
stop program = “/usr/sbin/asterisk -r -x ’shutdown now’”
if totalmem > 1000.0 MB for 5 cycles then alert
if totalmem > 1500.0 MB for 5 cycles then alert
if totalmem > 2000.0 MB for 5 cycles then restart
if cpu > 60% for 5 cycles then alert
if failed host MY.SIPSERVER.TLD port 5060 type udp protocol SIP target me@foo.bar maxforward 10 then restart
if 5 restarts within 5 cycles then timeout

¿Conoceis más herramientas de este tipo?

*Actualización*
El propio Bret McDanel nos anuncia en los comentarios de este artículo que el parche ya se encuentra en el CVS, por lo que no haría falta parchear. 🙂
This is in CVS now! A combination of Grasland Pierrick and my patch.

5 Comentarios

  • No habla Espanol 🙁

    This is in CVS now! A combination of Grasland Pierrick and my patch.

  • Don’t worry about “your spanish” and thank you so much for your support. 🙂

  • ¿Qué tal cacti?

    Hay un script en python para cacti que permite consultar por AMI varios parámetros de Asterisk. El script en cuestión es el asx-stats.py.

    Si se quiere monitorizar desde una única máquina instalaciones de varios asterisk, se puede montar una solución basada en tuneles SSH.

  • Hola, en el ejemplo de configuracion tenemos los parametros..:

    “MY.SIPSERVER.TLD” y “me@foo.bar” el primero supongo es la ip del asterisk sin embargo no entiendo muy bien el segundo parametro. Es “extencion”+”contexto”??

    Gracias Elio de antemano.

  • Osmius es un sistema de monitorización open source y ahora ya monitoriza Asterisk mediante AMI, con lo que crearte tus propias consultas para Asterisk es realmente sencillo.

Archivos

© 2014 Sinologic, inc. All rights reserved.

Menú

Redes sociales