
Monitorear un trunk SIP de un servidor Asterisk (con CentOS) con un Nagios usando NRPE.
Instalar NRPE (Nagios Remote Plugin Executor) en el servidor Asterisk
# yum -q -y install nagios-nrpe
Copiar el script (que se encuentra al final de esta página) que se encargará de obtener la información sobre el estado del trunk. En este caso, la ubicación del script será:
/usr/lib64/nagios/plugins/check_asterisk_peers
Imaginemos que el trunk que queremos monitorear se llame milanserver
# asterisk -rx "sip show peers"
Name/username Host Dyn Forcerport Comedia ACL Port Status
2021/2021 (Unspecified) D Yes Yes A 0 UNKNOWN
2022 (Unspecified) D No No A 0 UNKNOWN
milanserver/milanserver 35.122.188.*** Yes Yes 5060 OK (23 ms)
Siempre en el servidor Asterisk, crear definir el comando que ejecutará Nagios. Editar el archivo /etc/nagios/nrpe.cfg y agregar la siguiente linea:
command[check_sip_milanserver]=/usr/lib64/nagios/plugins/check_asterisk_peers -t sip -p milanserver
Asegurarse con configurar correctamente el parámetro allowed_hosts para permitir a Nagios el acceso a los comando del NRPE.
Por último, será necesario configurar Nagios. El siguiente es un ejemplo. Cada uno deberá indicar los datos correspondientes a los que ya estén configurados en Nagios. Por ejemplo: contact_groups y address. El archivo de configuración generalmente se encuentra en: /etc/nagios/objects/
define host{
use linux-server
host_name serverasterisk
display_name asterisk
alias asterisk
hostgroups clienti
address asterisk.midominio.local # o la ip de Asterisk
contact_groups support
}
define service{
use generic-service
host_name serverasterisk
service_description SIP milanserver
check_command check_nrpe!check_sip_milanserver
contact_groups support
}
Reiniciar Nagios
# /etc/init.d/nagios restart