Ce billet fait suite à une demande pressente de plusieurs lecteurs de ce blog qui ont en commun le besoin d’envoyer des notifications Nagios par SMS afin que leurs administrateurs/utilisateurs puissent les recevoir sur un simple téléphone portable.
Avant de commencer…
… ce qui Nagios ne sait pas faire: envoyer des SMS !!!
Et oui, il n’y a pas de miracle, Nagios ne sait pas envoyer directement de SMS (il n’est pas fait pour cela…). Il va falloir donc passer par un serveur offrant les fonctions suivantes:
- recevoir les notifications venant de Nagios (par mail, http ou autre…)
- transformer ce message en SMS
- envoyer le SMS sur le réseau téléphonique GSM
Pas la peine de chercher bien loin, une requête du type serveur SMS dans gOOgle devrait vous mettre sur la bonne voie. Dans l’exemple si dessous, j’ai choisi l’opérateur 123-SMS qui propose un service sans abonnement (on crédite son compte en fonction de ses besoins) et avec des interfaces diverses et variées (Mail, HTTP, Socket, Curl…).
Il faut dans un premier temps créer un compte et le créditer…
Je vous conseille de créer le compte en question en donnant l’adresse mail de l’utilisateur Unix qui lance Nagios (par exemple [email protected]).
Configuration de Nagios
Il faut créer une nouvelle commande de notification dans le fichier de configuration …:
define command{
command_name notify-service-by-sms
command_line /usr/bin/printf “%b” “** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **” | /usr/bin/mail -s “MOTDEPASSE:$CONTACTPAGER$” [email protected]
}
define command{
command_name notify-host-by-sms
command_line /usr/bin/printf “%b” “Host $HOSTSTATE$ alert for $HOSTNAME$!” | /usr/bin/mail -s “MOTDEPASSE:$CONTACTPAGER$” [email protected]
}
avec:
- MOTDEPASSE est le mot de passe fournie par votre opérateur de SMS
- CONTACTPAGER sera automatiquement remplacer par Nagios par le numéro de téléphone portable (PAGER) du contact à prévenir
- [email protected] est l’adresse mail du serveur de votre opérateur SMS (le serveur qui va envoyer le SMS sur le réseau GSM)
Il ne reste plus qu’a ajouter cette notification aux administrateurs/utilisateurs (par exemple le pauvre gars nommé James qui a comme numéro de téléphone 06007007) que l’on souhaite prévenir:
define contact{
contact_name monadminquivapasdormirdelanuit
alias James
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-sms
host_notification_commands notify-host-by-sms
pager 336007007
}
Et voilà, il ne reste plus qu’a relancer Nagios et attendre les premiers SMS…
LES COMMENTAIRES (1)
posté le 05 août à 14:51
Pour relayer les alertes Nagios via SMS ou voice call, il existe aussi une solution très pratique et très simple d'utilisation : Le client TeamTILT pour Nagios !
Il est complètement libre de licence, vous ne payez que pour les SMS et voice call utilisés ! Plusieurs médias sont disponibles, SMS, voice call, push iphone notification et email ! Les deux derniers étant gratuits ;) !
Une fonction "heartbeat" est également disponible, de ce fait même si votre service mail ou votre serveur de monitoring tombent, une alerte vous est envoyé ! Fonction que vous n'aurez pas en installant vous même un modem ! De plus, aucun matériel supplémentaires n'est nécessaire !
Vous pourrez trouver plus d'information et le télécharger à cette adresse : http://www.alarmtilt.com/fr/gerez-vos-alertes-nagios-avec-teamtilt.html
Bien à vous,
Renaud
posté le 22 décembre à 11:54
La solution de supervision permet de contrôler votre infrastructure et les systèmes d’information. La solution a pour but de surveiller l’état de fonctionnement des équipements matériels ou techniques. Source : http://supervision.clever.fr/solution-de-supervision/