L'envoi de mail se fait en utilisant des modèles de mail ( un pour le titre et un pour le contenu ).
Suivant le besoin, il sera nécessaire de changer le titre ou le contenu de vos mails.
Pour cela, il y a quelques règles à respecter :
Cette page explique comment créer, utiliser et vérifier vos modèles de mail.
Shinken livre deux modèles de mail :
Chacun est constitué de deux parties :
L'adresse des modèles de mail est définie dans la commande de notification
Par exemple, pour la commande notify-host-by-email ( voir la page NEW_PAGE - 003.5.6 - SEF-11240 - notify-host-by-email - Commande de notification ) les options suivantes définissent les chemins des fichiers :
--title-tpl $NOTIFPLUGINDIR$/host_alert_title_template.tpl --content-tpl $NOTIFPLUGINDIR$/host_alert_content_template.tpl |
Il vous est conseillé de conserver tous les fichiers et configuration d'origine, sinon vos modifications seront écrasées lors d'une prochaine mise à jour de ces derniers. |
( voir la page NEW_PAGE - 003.5.6 - SEF-11240 - Créer une méthode de notification spécifique - bonnes pratiques )
Il faudra, dans la nouvelle méthode de notification, modifier les commandes utilisée qui doivent être créés également.
( voir la page NEW_PAGE - 003.5.6 - SEF-11240 - Créer des commandes de notification spécifique - bonnes pratiques )
Il faudra, dans la nouvelle commande, modifié la "Ligne de commande" pour changer les deux options "--title-tpl" et "--content-tpl" afin de pointer sur les nouveaux fichiers créés dans l'étape suivante.
$NOTIFPLUGINDIR$/notify_by_email.py --title-tpl $NOTIFPLUGINDIR$/host_alert_title_template_my_name.tpl --content-tpl $NOTIFPLUGINDIR$/host_alert_content_template_my_name.tpl -F "$SENDER$" ... |
Choisir un nom pour vos fichiers ( .tpl ),
Il est recommandé de conserver le préfixe [ host_ | service_ ] afin d'identifier plus facilement vos templates.
cd /var/lib/shinken/libexec/notifications cp host_alert_title_template.tpl host_alert_title_template_my_name.tpl cp host_alert_content_template.tpl host_alert_content_template_my_name.tpl |
Le script pour envoyer les mails utilise un modèle de génération nommé Jinja.
L'utilisation de Jinja est assez intuitive, mais voici tout de même quelques explications
Le fichier (.tpl) utilise des données renvoyées par le script. Vous n'avez pas la main sur le nommage des données, vous pouvez seulement les utiliser.
Voici la liste des données utilisables :
| Nom | Description | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Nom de l'hôte | |||||||||||||||||||||||
| Nom du check | |||||||||||||||||||||||
| Le type de notification envoyé. Cela correspond au type d'événement qui a été constaté sur l'élément.
| |||||||||||||||||||||||
| retard de la notification | |||||||||||||||||||||||
| numéro de la notification | |||||||||||||||||||||||
| Titre de la notification | |||||||||||||||||||||||
| Nom du royaume | |||||||||||||||||||||||
| Date de vérification | |||||||||||||||||||||||
| Statut de l'élément | |||||||||||||||||||||||
| Icon du statut | |||||||||||||||||||||||
| Durée depuis le changement de statut | |||||||||||||||||||||||
| Dernier statut avant changement | |||||||||||||||||||||||
| Résultat court de l'élément | |||||||||||||||||||||||
| Résultat long de l'élément | |||||||||||||||||||||||
| Lien de l'élément sur l'interface Shinken | |||||||||||||||||||||||
| Auteur de la "Prise en compte" | |||||||||||||||||||||||
| Commentaire de la "Prise en compte" | |||||||||||||||||||||||
| Auteur de la "Période de maintenance" | |||||||||||||||||||||||
| Commentaire de la "Période de maintenance" |
Il vous est possible de soumettre à conditions, l'intégration dans le mail, de certaines parties du template.
{% if shinken_var['my_var'] %}
<!-- Ce code ne sera pris en compte que si la donnée shinken_var['my_var'] existe et est renseignée ->
{{ shinken_var['my_var'] }} <!-- sera remplacé dans le mail, par le contenu de shinken_var['my_var'] ->
{% endif %} |
Vous pouvez trouver toutes les informations concernant l'outil de templating Jinja à l'adresse suivante : Jinja Documentation.
Cependant, la documentation de la version utilisée par Shinken n'est plus édité, il se peut que quelques différences soient présentes avec la version que vous utiliserez.
Les logiciels mails ( Thunderbird, Outlook, Spark, ... ) et les services de mails web ( gmail, outlook ) n'interprètent pas les balises de la même manière. ( certaines balises peuvent ne pas être interprétées chez certains )
Si vous souhaitez intégrer du HTML et du CSS dans les notifications mail, nous vous conseillons fortement d'identifier les clients mails qui le liront et de consulter le site Can I Email ( voir la page Can I Email ) qui est une source d'information fiable sur la prise en charge des balises web par les principaux clients mails du marché.
|
Vous pouvez voir ici qu'il est supporté par 1&1 par exemple, mais pas par free.fr
D'autres balises HTML sont interdites par Shinken pour des motifs de sécurité.
Il s'agit des balises Script, d'image, d'input ou d'iframe. Bien que très utile, elles permettent trop de dérives pour être autorisées à passer dans le système.
Il sera possible d'intégrer ces éléments directement par le template mail, mais ils ne pourront être dynamiques en fonction de vos hôtes et/ou checks.
Vous pouvez intégrer des variables dynamiques à l'HTML, elles seront interprétées par le système et vous permettent d'afficher des données précises ( voir la page LES VARIABLES ( Remplacement dynamique de contenu - Anciennement les MACROS ) )