Vous êtes ici:

Menu

11 Postfix

Voyons comment installer le système de notifications pour notre supervision. Nous nous appuierons sur la messagerie, mais il existe d'autres moyens que nous ne verrons pas ici.
Nous utiliserons Postfix. Celui-ci redirigera toutes les notifications au serveur de mail de notre petite entreprise Duchmol. Assurez-vous que vous avez bien tous les paquets Debian nécessaires.
apt-get install postfix bsd-mailx

11.1 Configuration de Postfix

La configuration de Postfix est très simple. Il suffit de suivre les écrans suivants et de répondre aux questions.
Stacks Image 9206
Sélectionnez un système satellite
Stacks Image 9219
Laissez le Nom de courrier par défaut qui est le nom FQDN du serveur
Stacks Image 9232
Laissez le nom du serveur de Mail

11.2 Vérification du fonctionnement de Postfix

Nous allons envoyer un message avec mail à l'utilisateur Jean Dupont de notre petite entreprise.
mail -s test jean.dupont@duchmol.net
Saisissez votre message
essai de message
Lorsque vous avez terminé, saisissez un point puis validez
.
Vous pouvez éventuellement rajouter une personne, validez pour envoyer votre message
Cc:

11.2a Lecture du message par le webmail squirellMail

Connectez-vous sur l'interface web de SquirellMail avec l'utilisateur jean.dupont
Stacks Image 9285
Le message est arrivé dans la boîte d l'utilisateur Jean Dupont
Stacks Image 9298
Lecture du message
La messagerie fonctionne, nous pouvons configurer les notifications.

12 Paramétrage de la notification

Voici notre stratégie pour les notifications de notre supervision. Le responsable n'aura aucune notification, les personnes du groupe admin réseau recevront toutes les notifications par défaut et enfin notre stagiaire du groupe webmaster aura délégation sur les services Apache et les services Mysql. Nous réaliserons une escalade de notification pour ces services à l'attention du groupe admin réseau.
Stacks Image 9335
Stratégie des notifications

12.1 Groupes de contact

Nous allons créer deux groupes de contact pour la gestion des notifications, cela permettra d'ajouter ou enlever des utilisateurs sans revoir la stratégie de notification. Pour créer un groupe de contact, sélectionnez Configuration / Users / Contact Groups
Stacks Image 9372
groupe de contact admin_reseau
Stacks Image 9385
groupe de contact webmaster

12.2 Notifications Hôtes et Services

Maintenant, paramétrons les notifications pour les hôtes. Seul le groupe admin réseau recevra les notifications. Modifions le template d'hôte notification-24x7. Vérifiez l'activation des notifications et ajoutez le groupe admin_reseau
Stacks Image 9414
notifications des hôtes
Passez aux notifications des services avec les templates de services service-generique-actif et service-generique-passif. Vérifiez l'activation des notifications et ajoutez le groupe admin_reseau. Cochez éventuellement Unknown.
Stacks Image 9435
notifications des services

12.3 Notifications pour le groupe webmaster

Nous voulons que notre stagiaire reçoive les notifications pour les services Apache et MySQL du serveur Weblamp. Le groupe admin_reseau ne recevra les alertes de ces services seulement si notre stagiaire n'a pas acquitté ces alarmes au bout de trois notifications. Pour réaliser cette opération, il faut surcharger le paramétrage des notifications des services concernés. Modifiez les services Process Apache2, Process MYSQL, TCP Apache 80, TCP MYSQL.
Stacks Image 9464
les services concernés pour le groupe webmaster
Stacks Image 9477
Modifications à appliquer pour chaque service concerné.

12.4 Escalade pour le groupe admin_reseau

Comme le stagiaire Alain Durand n'est pas toujours présent, nous devons trouver une solution pour alerter d'autres personnes. C'est là que l'escalade de notifications prend tout son sens. Il nous suffit d'escalader la notification au groupe admin_reseau et donc à l'utilisateur Eric Coquard. Pour créer une escalade de Notification, sélectionnez Configuration / Notifications / Escalations.
Stacks Image 9506
Escalade de notification pour le groupe admin_reseau

12.5 Vérification des notifications par utilisateur

Vous avez la possibilité de vérifier la portée des notifications pour chaque utilisateur en utilisant le lien dans le menu Configuration / Users / Contacts/Users. Le lien s'appelle View contact notifications.
Stacks Image 9535
les notifications d'Alain Durand
Stacks Image 9548
les notifications d'Eric Coquard, on visualise en premier les escalades de notifications

13 Vérifications des notifications avec Postfix

13.1 Notifications sans escalade

Appliquez la nouvelle configuration. Nous allons effectuer un essai en arrêtant le service apache2 du serveur weblamp. Pour accélérer cet essai, les checks sont réglés à une minute.
Stacks Image 9606
déroulement d'une alerte suivi d'un acquittement par l'utilisateur Alain Durand
Après deux notifications, l'utilisateur Alain Durand acquitte les alertes. L'escalade de notification ne se déclenchera pas.
Stacks Image 9627
Résultat dans la boîte mail d'Alain Durand
On remarque, dans la boîte mail d'Alain Durand, les cinq messages de notifications d'alerte des services, suivi des deux messages d'acquittement puis des deux messages de notifications de retour à la normale.

13.2 Notifications avec escalade

Dans cet exemple, l'utilisateur Alain Durand étant absent, l'escalade de notification se déclenche au bout de la quatrième notification d'alerte des services.
Stacks Image 9664
Déroulement des notifications avec le déclenchement de l'escalade.
Stacks Image 9677
Résultat dans la boîte mail d'Alain Durand
Stacks Image 9690
Résultat dans la boîte mail d'Eric Coquard
Les notifications d'alerte seront automatiquement renvoyées au groupe admin_reseau à partir de la quatrième notification. Les notifications d'acquittement et de retour à la normale seront envoyées au groupe admin_reseau.

13.3 Configuration des messages de notification

Les messages de notifications sont facilement personnalisables. Ils utilisent les macros du moteur de supervision, comme le montrent les écrans ci-dessous. Pour accéder aux paramétrages, sélectionnez le menu Configuration / Commands / Notifications.
Stacks Image 9585
Message de notification pour les hôtes
Stacks Image 9719
Message de notification pour les services
Les images suivantes vous indiquent les différents paramètres utilisés pour construire le message.
Stacks Image 9740
Message pour les hôtes
Stacks Image 9753
Message pour les services
Comme vous le constatez, il manque une donnée intéressante, l'heure à laquelle l'événement s'est produit. Vous avez la date de l'événement, mais pas l'heure. Il est facile d'y remédier par la modification des commandes de notifications en rajoutant la macro $TIME$. Cette information peut sembler redondante par rapport à la date d'envoi du mail mais elle peut être très utile lorsque vous recevez les mails dans un laps de temps important et parfois pas toujours dans l'ordre chronologique (problème de relayage entre différents serveurs exchange, par exemple).
Commande de notifications pour les hôtes
/usr/bin/printf "%b" "***** centreon Notification *****\n\n
Type:$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\n
Address: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n
Date/Time: $DATE$ - $TIME$" | @MAILER@ -s "Host $HOSTSTATE$ alert for $HOSTNAME$!" $CONTACTEMAIL$
Commande de notifications pour les services
/usr/bin/printf "%b" "***** centreon Notification *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\n
Service: $SERVICEDESC$\nHost: $HOSTALIAS$\n
Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\n
Date/Time: $DATE$ - $TIME$ Additional Info : $SERVICEOUTPUT$" | @MAILER@ -s "** $NOTIFICATIONTYPE$ alert - 
$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
13.3a Problématique des caractères accentués
Après quelques essais de notification, je me suis aperçu que les messages comprenant des caractères accentués ne s'affichaient pas correctement dans le webmail comme le montre l'image ci-dessous.
Stacks Image 9798
Problème d'accent sur le mot refusé
L'installation du paquet heirloom-mailx améliore la compatibilité des caractères accentués comme le prouve la prochaine image du même message de notification.
apt-get install heirloom-mailx
Stacks Image 9827
Le problème d'accent a disparu

13.3b Bien positionner ses templates

Autre problème, je ne comprenais pas pourquoi je n'arrivais pas à obtenir de notification, lorsque l'hôte était arrêté. En fait le template d'hôte contenant la notification doit se trouver en tête de la liste des templates. Petite explication en image.
Stacks Image 9856
le positionnement des templates d'hôtes a son importance

13.4 Amélioration de la notification d’alerte de service

Suite à une demande particulière, je vous propose un script permettant l’affichage de la date et heure du début du disfonctionnement (en fait c’est la date et heure du dernier changement d’état du service). Ceci permet en cas de rappel de notification d’avoir la date et l’heure de l’incident. Nous utiliserons la macro $LASTSERVICESTATECHANGE$. Elle renvoie une valeur de type Timestamp UNIX pas très lisible pour un humain. Nous utiliserons un script bash pour convertir cette valeur et l’afficher correctement. Créons un script bash dans le dossier des plugins de Centreon. Nous le nommerons create_alarme.sh.
#!/bin/sh

DEBUT_DATE=`date -d @$9`

/usr/bin/printf "%b" "***** centreon Notification *****\n\nNotification Type: $1\n\nService: $2\nHost: $3\nAddress: $4\nState: $5\n\nDate: $6 Time: $7 Additional Info : $8\nDebut Alerte : $DEBUT_DATE"
N’oubliez pas de rendre le script exécutable.
chmod +x create_alarme.sh
Dupliquez la commande de notification des services et modifiez la commande comme ceci.
Stacks Image 43131
Commande de notification
$USER1$/create_alarme.sh $NOTIFICATIONTYPE$ '$SERVICEDESC$' '$HOSTALIAS$' $HOSTADDRESS$ $SERVICESTATE$ $DATE$ $TIME$ '$SERVICEOUTPUT$' $LASTSERVICESTATECHANGE$ | @MAILER@ -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
Affectez cette commande de notification à un utilisateur. Cette modification n’a de sens que si vous utilisez des notifications récurrentes. Vérifiez que le paramètre Notification Interval est différent de zéro, dans l’exemple ci-dessous, nous recevrons une notification toutes les minutes. C’est pour nos tests, il est bien évident qu’il faut éviter cette valeur dans la vrai vie sous peine d’être inondé de messages. Le paramètre First notification delay est paramétré à une minute ce qui impliquera la première notification une minute après l’état Hard de l’alerte.
Stacks Image 43161
Paramétrage des notifications
Nous allons provoquer une alerte en arrêtant, par exemple, le service apache du serveur Web. Le premier changement d’état du service, état soft à critiqua se fait à 11 h 22. La première notification se fera à 11 h 26 comme l’indique la copie du message en dessous.
Stacks Image 43197
Message de notification
On constate le début de l’alerte correspondant au changement d’état. Si nous laissons l’état Critical du service sans acquitter. Les messages suivants indique toujours la même date et heure pour le début de l’alerte (voir la copie ci-dessous).
Stacks Image 43229
Chronologie des notifications
Cet article est terminé, passons à l'installation des widgets.
comments powered by Disqus
 Vous êtes ici: