GNU/Linux >> Tutoriales Linux >  >> Linux

Notificación por SMS de Nagios usando Kannel

Entonces, en este artículo vamos a agregar notificaciones por SMS en Nagios.

Nagios es la herramienta de monitoreo de servidores y redes de código abierto más utilizada. Por lo tanto, usamos Nagios para monitorear diferentes tipos de hosts habilitados para SNMP como conmutadores, enrutadores, servidores para servicios críticos. Además, Nagios también puede obtener datos de rendimiento del servidor mediante el agente NRPE. Además del portal web visual y la alarma de sonido, podemos enviar notificaciones por correo electrónico utilizando Nagios. Entonces, ahora enviaremos una notificación por SMS desde Nagios utilizando Kannel SMS Gateway.

Ya tenemos un servidor Nagios instalado y funcionando. Por lo tanto, para instalar y configurar el servidor de monitoreo de Nagios, consulte nuestros otros temas sobre la instalación y configuración de Nagios.

Entonces, este será nuestro entorno de laboratorio:

Servidor Nagios y Kannel IP:192.168.10.38
Kannel Enviar SMS Usuario:kannel
Kannel Enviar SMS Contraseña de usuario:kannelpasswd

Configurando Nagios:

Entonces, en este entorno de laboratorio, hemos instalado Nagios desde el código fuente en el directorio predeterminado /usr/local/nagios/

Primero necesitaremos definir comandos en /usr/local/nagios/etc/objects/commands.cfg archivo de configuración de objetos. Por lo tanto, para definir comandos, agregue líneas debajo en commands.cfg archivo

# 'notify-host-by-sms' command definition
define command{
       command_name    notify-host-by-sms
       command_line    /usr/bin/printf "%b" "Nagios: *$NOTIFICATIONTYPE$* \n$HOSTALIAS$ is $HOSTSTATE$ Info is: $HOSTOUTPUT$ Time: $SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
       }

# 'notify-service-by-sms' command definition
define command{
       command_name     notify-service-by-sms
       command_line    /usr/bin/printf "%b" "Nagios: *$NOTIFICATIONTYPE$*\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nStat: $SERVICESTATE$\nInfo: $SERVICEOUTPUT$\nTime: $SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
       }

Luego, ahora agregaremos el número de teléfono móvil del usuario objetivo de la notificación en el archivo de configuración del objeto de contacto de Nagios:/usr/local/nagios/etc/objects/contacts.cfg

Ejemplo de contacto definición:

define contact{
       contact_name                    omar
       use                             generic-contact
       alias                           Omar Ali
       service_notification_commands   notify-service-by-sms
       host_notification_commands      notify-host-by-sms
       email                           [email protected]
       pager                           +88017XXXXXXXX
       }

Además, podemos enviar notificaciones por SMS y correos electrónicos al mismo contacto usando la siguiente definición

define contact{
       contact_name                    shamim
       use                             generic-contact
       alias                           Shamim Ahmed
       service_notification_commands   notify-service-by-email,notify-service-by-sms
       host_notification_commands      notify-host-by-email,notify-host-by-sms
       email                           [email protected]
       pager                           +88017YYYYYYYY
       }

Después de eso, cree un grupo de contacto para aquellos que recibirán una notificación de un servicio. Entonces, definamos un grupo de contacto bajo contrato definición para administradores de red que recibirán una notificación si algún servicio de red falla

define contactgroup {
   contactgroup_name       netadmins
  alias                   Network Administrators
   members                 omar,shamim
}

Entonces, tenemos un enrutador MikroTik que tiene 3 puertos ascendentes:sfp1, sfp2 y sfp3, que vamos a agregar en el sistema de monitoreo.

Luego, cree un archivo de configuración de objetos /usr/local/nagios/etc/objects/nethosts.cfg para monitorear dispositivos de red con los siguientes contenidos

#### Host Defination ####
define host {
   use                     generic-switch
   host_name               router-1
   alias                   Router-1
   address                 192.168.10.1
   hostgroups              net-hosts
   notifications_enabled   1
   contact_groups          netadmins
}


#### Host Group Defination ####
define hostgroup {
   hostgroup_name          net-hosts
   alias                   Network Hosts
}


#### Service Defination for Network hosts ####
define service {
   use                     generic-service
   host_name               router-1
   service_description     SFP-1
   check_command           check_snmp!-C snmpCommunity -o ifOperStatus.1 -r 1 -m RFC1213-MIB
   check_interval          3
   retry_interval          1
   notifications_enabled   1
   contact_groups          netadmins
}

define service {
   use                     generic-service
   host_name               router-1
   service_description     SFP-2
   check_command           check_snmp!-C snmpCommunity -o ifOperStatus.2 -r 1 -m RFC1213-MIB
   check_interval          3
   retry_interval          1
   notifications_enabled   1
   contact_groups          netadmins
}

define service {
   use                     generic-service
   host_name               router-1
   service_description     SFP-3
   check_command           check_snmp!-C snmpCommunity -o ifOperStatus.3 -r 1 -m RFC1213-MIB
   check_interval          3
   retry_interval          1
   notifications_enabled   1
   contact_groups          netadmins
}

Por encima de check_snmp commands necesita MIB:RFC1213-MIB, que debe estar preinstalado en su sistema. Entonces, si no está presente en su sistema, puede descargarlo e instalarlo usando los siguientes paquetes

Para Debian/Ubuntu: Instale snmp-mibs-downloader de no libre repo, luego ejecute download-mibs comando desde shell

# apt-get install -y snmp-mibs-downloader
# download-mibs

Entonces, si usa CentOS 7/8

# yum install net-snmp-libs

Además, incluya el archivo de configuración del objeto nethosts.cfg en /usr/local/nagios/etc/nagios.cfg

Entonces, ejecute /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg para verificar sus configuraciones

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Entonces, si no hay ningún error, reinicie el servicio Nagios

# systemctl restart nagios.service

Notificaciones de Nagios:

Luego, consulte el portal de Nagios para conocer el estado del puerto del enrutador-1

Entonces, encontramos que los 3 puertos SFP están en funcionamiento Expresar. Ahora vamos a desconectar manualmente el puerto SFP-1, lo que debería activar una notificación de inactividad y enviar un SMS al grupo de administración de la red

Registro de notificaciones de Nagios:

Registro de canales:

Reconexión del cable:

Además, consulte el registro de notificaciones:

Registro de canales:

Finalmente, el tecipient Teléfono Móvil:


Linux
  1. Actualización de Fedora 22 desde Fedora 21 usando Fedup

  2. Cómo rotar videos usando FFMpeg desde la línea de comandos

  3. Conéctese a Linux desde Mac OS X usando Terminal

  4. Conéctese a Linux desde Windows usando PuTTY

  5. Nagios:deshabilite las notificaciones desde la línea de comandos en Windows/Linux

Cómo instalar kannel sms gateway en Debian Linux para notificaciones SMS de nagios

Cómo buscar DuckDuckGo desde la línea de comandos usando ddgr

Cómo buscar en Google desde la línea de comandos usando Googler

Cómo usar un escritorio remoto desde Windows a un escritorio Linux usando XRDP

¿Cómo actualizar de 12.04 a 12.10 usando Cd?

RabbitMQ:obtenga mensajes de una cola usando curl