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.

Sélectionnez un système satellite

Laissez le Nom de courrier par défaut qui est le nom FQDN du serveur

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.netSaisissez votre message
essai de messageLorsque 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

Le message est arrivé dans la boîte d l'utilisateur Jean Dupont

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.

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

groupe de contact admin_reseau

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

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.

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.

les services concernés pour le groupe webmaster

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.

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.

les notifications d'Alain Durand

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.

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.

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.

Déroulement des notifications avec le déclenchement de l'escalade.

Résultat dans la boîte mail d'Alain Durand

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.

Message de notification pour les hôtes

Message de notification pour les services
Les images suivantes vous indiquent les différents paramètres utilisés pour construire le message.

Message pour les hôtes

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.

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

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.

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.

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.

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.

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).

Chronologie des notifications
Cet article est terminé, passons à l'installation des widgets.