Monitorear un trunk SIP con Nagios

  • 22 Nov 2014
  • Linux, Nagios, Asterisk

Objetivo

Monitorear un trunk SIP de un servidor Asterisk (con CentOS) con un Nagios usando NRPE.

Procedimiento

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.

Configuración Nagios

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

Enlaces externos