| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Jinja est un outil de templating qui est utilisé par Shinken pour la mise en forme des notifications par mail.
Il permet facilement de concevoir un mail dynamique en fonction de vos besoins.
Bonnes pratiques
| Warning |
|---|
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. |
Faites une copie des templates utilisés par les commandes de notification qui vous ont été fournies lors de l'installation.
Nous vous recommandons de conserver le préfixe [ host_ | service_ ] afin d'identifier plus facilement vos templates.
| Code Block |
|---|
cd /var/lib/shinken/libexec/notifications cp host_alert_content_template.tpl <nom de votre fichier> cp service_alert_content_template.tpl <nom de votre fichier> |
Cloner et éditer les commandes de notification par mail
Clonez les commandes suivantes ( voir la page Actions de masse ( Shinken admin ) ).
- notify-host-by-email
- notify-host-by-email-with-images
- SHINKEN EXAMPLE [ notify-host-by-email-with-thresholds ] - Clone it before usage
- notify-service-by-email
- notify-service-by-email-with-images
- SHINKEN EXAMPLE [ notify-service-by-email-with-thresholds ] - Clone it before usage
| Panel |
|---|
Rattacher les commandes à une méthode de notifications
Clonez également les méthodes de notification correspondantes afin d'y rattacher vos commandes personnalisées ( voir la page Créer une méthode de notification spécifique - bonnes pratiques )
Utilisation de Jinja
Le template utilisé par les commandes de pack Shinken utilise toutes les données dynamiques utilisables au sein des templates. Le template génère le mail au format HTML, pour des raisons de mise en page.
Les données dynamiques peuvent être intégrées facilement au contenu généré.
Il vous est possible de soumettre à conditions l'intégration dans le mail, de certaines parties du template.
| Code Block | ||
|---|---|---|
| ||
{% 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 %} |
Il sera possible d'utiliser des boucles "for" pour créer un élément HTML à partir d'une liste ou d'objet, ou même d'attribué dynamiquement des classes à des éléments.
Documentation de Jinja
Vous pouvez trouvez 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.
...


