Centreon – Embellir vos notifications mail facilement


Je ne sais pas pour vous, mais moi, les notifications que m’envoie Centreon par mail, je les trouves vraiment moche. Certes, il ne s’agit que de notifications et elle n’ont pas pour but d’être des œuvres d’art, mais entre le texte brut et l’œuvre d’art, il y a un fossé à remplir.

Fossé qui peut ce remplir simplement. Mais tout d’abord, un petit rappel s’impose. Voici les notifications de base que fourni Centreon à l’installation de CES :

C’est basique, très basique, mais ça fait son job me direz-vous. Cependant, voici le résultat que l’on peut obtenir en quelques lignes de commande :

C’est quand même autre chose.

Un grand merci à Shini31 d’avoir partager son travail qui nous permet d’obtenir ce résultat simplement.


Nous allons dans un premier temps, cloner le dépôt git contenant les fichiers utiles.

git clone https://github.com/Shini31/centreon-notifications.git

Si jamais, vous n’avez pas git installé sur votre CES, il vous suffit de faire ceci :

yum install git

Nous allons ensuite nous déplacer dans le répertoire contenant les nouveaux fichiers PHP relatives aux notifications.

cd centreon-notifications/mail/

Et si vous faite un ls, vous devriez avoir ces fichiers listés :

host-email.php  host_email.png  service-email.php  service_email.png

Il va maintenant falloir les déplacer dans le dossier contenant vos différents script de commande Centreon, la commande ci dessous va donc pour une installation CES 3.3 par défaut, à vous de l’adapté selon votre installation :

mv host-email.php /usr/lib/nagios/plugins/
mv service-email.php /usr/lib/nagios/plugins/

À vous maintenant de suivre vos fichiers :

cd /usr/lib/nagios/plugins/

Une fois dans le répertoire, il va falloir changer l’appartenance des fichiers et leurs droits afin de permettre à Centreon de les utiliser :

chown centreon:centreon host-email.php
chown centreon:centreon service-email.php

chmod 775 host-email.php
chmod 775 service-email.php

Il va aussi falloir faire quelques modifications dans les deux fichiers, commençons avec les hôtes :

vim host-email.php

A la ligne 31, $subjects, supprimez [CENTREON], pour plus de lisibilité dans vos mails. (Optionnel)
A la ligne 32, $url, mettez l’adresse web de votre Centreon en FQDN, à savoir ce qu’il y a avant /centreon/main.php.
A la ligne 33, $from, mettez y l’adresse mail avec laquelle Centreon vous envoie ses mails.

Sauvegardez votre fichier, et passons ensuite à celui des services :

vim service-email.php

Il faudra faire la même chose que précédemment, mais cette fois aux lignes : 68, 69 et 70.


Un fois tout cela effectué, il va falloir se rendre dans l’interface web de notre Centreon. Une fois connecté ilrendez vous dans l’arborescence ci-dessous :

Configuration > Commands > Notifications

Vous trouverez sur cette page, les différentes notifications pré-configurés par Centreon. Si vous voulez garder vos anciennes notifications par « sécurité », je vous conseil de sélectionner host-notify-by-email et service-notify-by-email et de les dupliquer afin d’avoir des backup comme si dessous :

Un fois vos deux backup en place, nous allons modifier les deux commandes par défauts, commençons par host-notify-by-email, une fois dans la commande, supprimez l’entièreté de la case Command Line, et mettez-y cela :


$USER1$/host-email.php "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$HOSTALIAS$" "$HOSTSTATE$" "$HOSTADDRESS$" "$HOSTOUTPUT$" "$LONGDATETIME$" "$SERVICEDESC$" "$SERVICESTATE$" "$CONTACTEMAIL$" "$TOTALHOSTSUP$" "$TOTALHOSTSDOWN$" "$HOSTACKAUTHOR$" "$HOSTACKCOMMENT$"


Puis sauvegardez, et passons ensuite à la commande service-notify-by-email :


$USER1$/service-email.php "$NOTIFICATIONTYPE$" "$HOSTNAME$" "$HOSTALIAS$" "$HOSTSTATE$" "$HOSTADDRESS$" "$SERVICEOUTPUT$" "$LONGDATETIME$" "$SERVICEDESC$" "$SERVICESTATE$" "$CONTACTEMAIL$" "$SERVICEDURATIONSEC$" "$SERVICEEXECUTIONTIME$" "$TOTALSERVICESWARNING$" "$TOTALSERVICESCRITICAL$" "$TOTALSERVICESUNKNOWN$" "$LASTSERVICEOK$" "$LASTSERVICEWARNING$" "$SERVICENOTIFICATIONNUMBER$" "$SERVICEACKAUTHOR$" "$SERVICEACKCOMMENT$"


Ces deux commandes modifié vont permettre d’appeler les nouveaux fichiers en PHP mis plus tôt sur le serveur.

Il ne vous reste plus qu’à exporter votre configuration sur votre poller et le redémarrer :

Et voilà, vous pourrez profiter de ces nouvelles notifications dès la prochaine alerte, mais ne les contempler pas trop, si elles vous en recevez c’est qu’il y a un soucis à régler.

C’est ainsi que ce termine ce tutoriel. Si vous avez des questions, suggestions, modifications, etc, n’hésitez pas dans les commentaires.

  • Bonjour,
    juste deux points à corriger, il faut centreon et non centron pour le changement d’appartenance. Et pour les commandes de notifications, il faut des double-quotes, pas des guillements.
    Autrement, c’est nickel, je l’ai adopté pour mon raspberry 😉 merci à toi

    • T. Julian

      Bonsoir,
      Merci de ton retour ça fait vraiment plaisir 🙂 et content que ça te soit utile.

      Pour l’appartenance c’est corrigé, on ne remarquera pas le C/C foireux.
      Par contre pour les commandes, c’est celles du git et celles que j’utilise en prod sans soucis. Tu as eut un problème avec ?

      • En fait les commandes que tu as mis sur ta page web, les macros sont séparées par des guillemets « $NOTIFICATIONTYPE$ » alors qu’il faudrait des doubles quotes « $NOTIFICATIONTYPE$ ». Ce n’est pas méchant mais cela peut perturber un newbie.

        • T. Julian

          Ah oui je viens de voir, coté backoffice ça me met bien des  » et non les «
          Pour ça que je ne comprenais pas ^^
          Du coup je vais regarder du coté de la mise en forme ce qui provoque ça et corriger.

          Merci 🙂