GNU/Linux >> LINUX-Kenntnisse >  >> Linux

SMS-Benachrichtigung von Nagios mit Kannel

Also, in diesem Artikel werden wir eine SMS-Benachrichtigung in Nagios hinzufügen.

Nagios ist das am häufigsten verwendete Open-Source-Netzwerk- und Serverüberwachungstool. Daher verwenden wir Nagios, um verschiedene Arten von SNMP-fähigen Hosts wie Switch, Router und Server auf kritische Dienste zu überwachen. Darüber hinaus kann Nagios auch Serverleistungsdaten mithilfe des NRPE-Agenten abrufen. Darüber hinaus können wir mit Nagios ein visuelles Webportal und einen akustischen Alarm per E-Mail versenden. Also senden wir jetzt SMS-Benachrichtigungen von Nagios mit Kannel SMS Gateway.

Wir haben bereits einen Nagios-Server installiert und ausgeführt. Um den Nagios-Überwachungsserver zu installieren und zu konfigurieren, lesen Sie bitte unsere anderen Themen zur Installation und Konfiguration von Nagios.

Das wird also unsere Laborumgebung sein:

Nagios- und Kannel-Server-IP:192.168.10.38
Kannel SMS senden Benutzer:kannel
Kannel-SMS-Benutzerpasswort:kannelpasswd

Nagios konfigurieren:

In dieser Lab-Umgebung haben wir also Nagios aus dem Quell-Tarball im Standardverzeichnis /usr/local/nagios/ installiert

Zuerst müssen wir Befehle in /usr/local/nagios/etc/objects/commands.cfg definieren Objektkonfigurationsdatei. Um Befehle zu definieren, fügen Sie also die folgenden Zeilen in commands.cfg hinzu Datei

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

Dann fügen wir jetzt die Mobiltelefonnummer des Benachrichtigungszielbenutzers in die Konfigurationsdatei des Nagios-Kontaktobjekts ein:/usr/local/nagios/etc/objects/contacts.cfg

Beispiel Kontakt Definition:

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
       }

Außerdem können wir SMS-Benachrichtigungen sowie E-Mails an denselben Kontakt senden indem Sie die folgende Definition verwenden

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
       }

Erstellen Sie danach eine Kontaktgruppe für diejenigen, die eine Benachrichtigung für einen Dienst erhalten. Lassen Sie uns also eine Kontaktgruppe definieren unter Vertrag Definition für Netzwerkadministratoren, die benachrichtigt werden, wenn ein Netzwerkdienst ausfällt

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

Wir haben also einen MikroTik-Router mit 3 Upstream-Ports:sfp1, sfp2 und sfp3, die wir dem Überwachungssystem hinzufügen werden.

Erstellen Sie dann eine Objektkonfigurationsdatei /usr/local/nagios/etc/objects/nethosts.cfg zur Überwachung von Netzwerkgeräten mit den folgenden Inhalten

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

Oben check_snmp Befehle benötigen MIB:RFC1213-MIB, die in Ihrem System vorinstalliert sein sollte. Wenn es also nicht in Ihrem System vorhanden ist, können Sie es herunterladen und installieren, indem Sie die folgenden Pakete verwenden

Für Debian/Ubuntu: Installieren Sie snmp-mibs-downloader von non-free repo, und führen Sie dann download-mibs aus Befehl von der Shell

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

Wenn Sie also CentOS 7/8 verwenden

# yum install net-snmp-libs

Schließen Sie auch die Objektkonfigurationsdatei nethosts.cfg ein in /usr/local/nagios/etc/nagios.cfg

Führen Sie also /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg aus um Ihre Konfigurationen zu überprüfen

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

Wenn also kein Fehler auftritt, starten Sie den Nagios-Dienst neu

# systemctl restart nagios.service

Nagios-Benachrichtigungen:

Überprüfen Sie dann das Nagios-Portal auf Router-1-Portstatus

Wir haben also festgestellt, dass alle 3 SFP-Ports in Betrieb sind Zustand. Jetzt werden wir den SFP-1-Port manuell trennen, was eine Down-Benachrichtigung auslösen und eine SMS an die Network Admin Group senden sollte

Nagios-Benachrichtigungsprotokoll:

Kannel-Protokoll:

Kabel wieder anschließen:

Überprüfen Sie auch das Benachrichtigungsprotokoll:

Kannel-Protokoll:

Zum Schluss noch das Handy des Empfängers:


Linux
  1. Fedora 22-Upgrade von Fedora 21 mit Fedup

  2. So erstellen Sie Pakete aus der Quelle mit CheckInstall

  3. So drehen Sie Videos mit FFMpeg von der Befehlszeile aus

  4. Wie kompiliere ich Apache mit EasyApache von WHM neu?

  5. Mit Putty scp von Windows nach Linux

So installieren Sie das Kannel-SMS-Gateway unter Debian Linux für Nagios-SMS-Benachrichtigungen

So suchen Sie DuckDuckGo von der Befehlszeile aus mit ddgr

Anleitung zur Google-Suche von der Befehlszeile aus mit Googler

Remote-Desktop von Windows auf Linux-Desktop mit XRDP

Wie aktualisiere ich von 12.04 auf 12.10 mit CD?

RabbitMQ - Abrufen von Nachrichten aus einer Warteschlange mit Curl