GNU/Linux >> Linux Esercitazione >  >> Linux

Notifica SMS da Nagios tramite Kannel

Quindi, in questo articolo aggiungeremo la notifica SMS in Nagios.

Nagios è lo strumento open source di monitoraggio di rete e server più utilizzato. Quindi, utilizziamo Nagios per monitorare diversi tipi di host abilitati SNMP come switch, router, server per servizi critici. Inoltre, Nagios può anche recuperare i dati sulle prestazioni del server utilizzando l'agente NRPE. Inoltre portale web visivo e allarme sonoro, possiamo inviare notifiche e-mail utilizzando Nagios. Quindi, ora invieremo notifiche SMS da Nagios utilizzando Kannel SMS Gateway.

Abbiamo già un server Nagios installato e funzionante. Quindi, per installare e configurare il server Nagios Monitoring, controlla i nostri altri argomenti su Installazione e configurazione di Nagios.

Quindi, questo sarà il nostro ambiente di laboratorio:

IP del server Nagios e Kannel:192.168.10.38
Canale Invia SMS Utente:canale
Password utente invio SMS Kannel:kannelpasswd

Configurazione di Nagios:

Quindi, in questo ambiente di laboratorio abbiamo installato Nagios dal tarball sorgente nella directory predefinita /usr/local/nagios/

Per prima cosa dovremo definire i comandi in /usr/local/nagios/etc/objects/commands.cfg file di configurazione dell'oggetto. Quindi, per definire i comandi, aggiungi le righe seguenti in commands.cfg file

# '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@-
       }

Quindi, ora aggiungeremo il numero di cellulare dell'utente di destinazione della notifica nel file di configurazione dell'oggetto contatto di Nagios:/usr/local/nagios/etc/objects/contacts.cfg

Esempio di contatto definizione:

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
       }

Inoltre, possiamo inviare notifiche SMS ed e-mail allo stesso contatto utilizzando la definizione di seguito

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
       }

Successivamente, crea un gruppo di contatti per coloro che riceveranno una notifica per un servizio. Quindi, definiamo un gruppo di contatti sotto contratto definizione per gli amministratori di rete che riceveranno una notifica in caso di guasto di un servizio di rete

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

Quindi, abbiamo un router MikroTik con 3 porte upstream:sfp1, sfp2 e sfp3, che aggiungeremo nel sistema di monitoraggio.

Quindi, crea un file di configurazione dell'oggetto /usr/local/nagios/etc/objects/nethosts.cfg per il monitoraggio dei dispositivi di rete con i contenuti seguenti

#### 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
}

Sopra check_snmp i comandi richiedono MIB:RFC1213-MIB, che dovrebbe essere preinstallato nel sistema. Quindi, se non è presente nel tuo sistema, puoi scaricarlo e installarlo utilizzando i seguenti pacchetti

Per Debian/Ubuntu: Installa snmp-mibs-downloader da non gratuito repo, quindi esegui download-mibs comando dalla shell

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

Quindi, se usi CentOS 7/8

# yum install net-snmp-libs

Inoltre, includi il file di configurazione dell'oggetto nethosts.cfg in /usr/local/nagios/etc/nagios.cfg

Quindi, esegui /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg per verificare le tue configurazioni

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

Quindi, se non ci sono errori, riavvia Nagios Service

# systemctl restart nagios.service

Notifiche di Nagios:

Quindi, controlla il portale Nagios per lo stato della porta Router-1

Quindi, abbiamo scoperto che tutte e 3 le porte SFP sono in attivo/in esecuzione stato. Ora disconnetteremo manualmente la porta SFP-1 che dovrebbe attivare una notifica di inattività e inviare SMS al gruppo di amministrazione di rete

Registro delle notifiche di Nagios:

Registro canale:

Ricollegare il cavo:

Inoltre, controlla il registro delle notifiche:

Registro canale:

Infine, il tecipiente Cellulare:


Linux
  1. Connettiti a Linux da Mac OS X usando Terminal

  2. Connettiti a Linux da Windows usando PuTTY

  3. Utilizzando Windows DLL da Linux

  4. Usando putty per scp da Windows a Linux

  5. Come impedire a nginx di utilizzare la porta 80

Come installare il gateway sms kannel su Debian Linux per le notifiche SMS nagios

Come cercare DuckDuckGo dalla riga di comando usando ddgr

Come cercare su Google dalla riga di comando utilizzando Googler

Come aggiornare da 12.04 a 12.10 utilizzando Cd?

Aggiornamento da CentOS/RHEL 7 a CentOS/RHEL 8 tramite Leapp

RabbitMQ - Ottieni messaggi da una coda usando curl