GNU/Linux >> Tutoriels Linux >  >> Linux

Notification par SMS de Nagios via Kannel

Donc, dans cet article, nous allons ajouter une notification par SMS dans Nagios.

Nagios est l'outil de surveillance de réseau et de serveur open source le plus utilisé. Ainsi, nous utilisons Nagios pour surveiller différents types d'hôtes compatibles SNMP tels que les commutateurs, les routeurs, les serveurs pour les services critiques. De plus, Nagios peut également récupérer les données de performances du serveur à l'aide de l'agent NRPE. Outre le portail Web visuel et l'alarme sonore, nous pouvons envoyer une notification par e-mail à l'aide de Nagios. Donc, nous allons maintenant envoyer une notification par SMS depuis Nagios en utilisant Kannel SMS Gateway.

Nous avons déjà un serveur Nagios installé et en cours d'exécution. Donc, pour installer et configurer le serveur Nagios Monitoring, veuillez consulter nos autres rubriques sur l'installation et la configuration de Nagios.

Voici donc notre environnement de laboratoire :

IP du serveur Nagios et Kannel :192.168.10.38
Kannel Envoyer un SMS Utilisateur :kannel
Kannel Send SMS User Password :kannelpasswd

Configuration de Nagios :

Ainsi, dans cet environnement de laboratoire, nous avons installé Nagios à partir de l'archive source dans le répertoire par défaut /usr/local/nagios/

Nous devrons d'abord définir les commandes dans /usr/local/nagios/etc/objects/commands.cfg fichier de configuration d'objet. Donc, pour définir les commandes, ajoutez les lignes ci-dessous dans commands.cfg fichier

# Définition de la commande 'notify-host-by-sms' 
définir la commande{
nom_commande notifier-hôte-par-sms
command_line /usr/bin/printf "%b" "Nagios :*$NOTIFICATIONTYPE$* \n$HOSTALIAS$ est $HOSTSTATE$ L'information est :$HOSTOUTPUT$ Heure :$SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
}

# Définition de la commande 'notify-service-by-sms'
définir la commande{
nom_commande notification-service-par-sms
command_line /usr/bin/printf "%b" "Nagios :*$NOTIFICATIONTYPE$*\nService :$SERVICEDESC$\nHôte :$HOSTALIAS$\nStat :$SERVICESTATE$\nInfo :$SERVICEOUTPUT$\nHeure :$SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
}

Ensuite, nous allons maintenant ajouter le numéro de téléphone mobile de l'utilisateur cible de la notification dans le fichier de configuration de l'objet de contact Nagios :/usr/local/nagios/etc/objects/contacts.cfg

Exemple de contact définition :

définir le contact{ 
nom_contact omar
utiliser le contact générique
alias Omar Ali
service_notification_commands notifier-service-par-sms
host_notification_commands notifier-hôte-par-sms
envoyer un e-mail à [email protected]
téléavertisseur +88017XXXXXXXX
}

De plus, nous pouvons envoyer une notification par SMS ainsi qu'un e-mail au même contact en utilisant la définition ci-dessous

définir le contact{ 
nom_contact shamim
utiliser le contact générique
alias Shamim Ahmed
service_notification_commands notifier-le-service-par-e-mail, notifier-le-service-par-sms
host_notification_commands notifier-l'hôte-par-e-mail, notifier-l'hôte-par-sms
envoyer un e-mail à [email protected]
téléavertisseur +88017YYYYYYYY
}

Après cela, créez un groupe de contacts pour ceux qui recevront une notification pour un service. Alors, définissons un contactgroup sous contrat définition pour les administrateurs réseau qui seront avertis en cas d'échec d'un service réseau

définir le groupe de contacts { 
contactgroup_name netadmins
administrateur réseau alias
membres omar, shamim
}

Nous avons donc un routeur MikroTik avec 3 ports en amont :sfp1, sfp2 et sfp3, que nous allons ajouter au système de surveillance.

Ensuite, créez un fichier de configuration d'objet /usr/local/nagios/etc/objects/nethosts.cfg pour surveiller les périphériques réseau avec le contenu ci-dessous

#### Définition de l'hôte #### 
définir l'hôte {
utiliser le commutateur générique
nom_hôte routeur-1
alias Routeur-1
adresse 192.168.10.1
groupes d'hôtes net-hosts
notifications_enabled 1
contact_groups netadmins
}


#### Définition du groupe d'hôtes ####
définir le groupe d'hôtes {
hostgroup_name net-hosts
alias Hôtes réseau
}


#### Définition du service pour les hôtes du réseau ####
définir le service {
utiliser le service générique
nom_hôte routeur-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
}

définir le service {
utiliser le service générique
nom_hôte routeur-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
}

définir le service {
utiliser le service générique
nom_hôte routeur-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
}

Au-dessus de check_snmp Les commandes nécessitent la MIB :RFC1213-MIB, qui doit être préinstallée sur votre système. Donc, s'il n'est pas présent sur votre système, vous pouvez le télécharger et l'installer en utilisant les packages ci-dessous

Pour Debian/Ubuntu : Installez snmp-mibs-downloader de non-free repo, puis exécutez download-mibs commande du shell

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

Donc, si vous utilisez CentOS 7/8

# yum install net-snmp-libs

Incluez également le fichier de configuration d'objet nethosts.cfg dans /usr/local/nagios/etc/nagios.cfg

Alors, lancez /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg pour vérifier vos configurations

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

Donc, s'il n'y a pas d'erreur, redémarrez le service Nagios

# systemctl redémarre nagios.service

Notifications Nagios :

Ensuite, vérifiez le portail Nagios pour l'état du port Router-1

Donc, nous avons trouvé que les 3 ports SFP sont en up/running Etat. Nous allons maintenant déconnecter manuellement le port SFP-1, ce qui devrait déclencher une notification d'arrêt et envoyer un SMS au groupe d'administration réseau

Journal des notifications Nagios :

Journal de canal :

Rebrancher le câble :

Vérifiez également le journal des notifications :

Journal de canal :

Enfin, le destinataire Mobile Phone :


Linux
  1. Mise à niveau de Fedora 22 à partir de Fedora 21 avec Fedup

  2. Comment créer des packages à partir de la source à l'aide de CheckInstall

  3. Comment faire pivoter des vidéos à l'aide de FFMpeg à partir de la ligne de commande

  4. Utiliser Reddit depuis la console en 2020

  5. Comment effectuer un bureau à distance de Windows vers un bureau Linux à l'aide de XRDP

Comment installer la passerelle sms kannel sur Debian Linux pour les notifications SMS nagios

Comment rechercher DuckDuckGo à partir de la ligne de commande à l'aide de ddgr

Comment effectuer une recherche Google à partir de la ligne de commande à l'aide de Googler

Comment mettre à niveau de 12.04 à 12.10 à l'aide d'un CD ?

Comment empêcher nginx d'utiliser le port 80

RabbitMQ - Récupère les messages d'une file d'attente à l'aide de curl