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-mibsDonc, si vous utilisez CentOS 7/8
# yum install net-snmp-libsIncluez é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.cfgDonc, s'il n'y a pas d'erreur, redémarrez le service Nagios
# systemctl redémarre nagios.serviceNotifications 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 :