Afin de pouvoir recevoir des notifications, la source cfg-file-shinken comprend un certain nombre de commandes qu'il faudra importer et appliquer sur les utilisateurs à notifier.
Cette page apporte des conseils sur l'utilisation optimale des packs livrés par Shinken.
Nous allons ici vous présenter un exemple de personnalisation de la commande de notification par défaut de Shinken.
Voici la ligne de commande utilisée par l'objet commande notify-host-by-email ( voir la page notify-host-by-email - Commande de notification ):
$NOTIFPLUGINDIR$/notify_by_email.py --title-tpl $NOTIFPLUGINDIR$/host_alert_title_template.tpl --content-tpl $NOTIFPLUGINDIR$/host_alert_content_template.tpl -F "$SENDER$" -r "$CONTACTEMAIL$" -n $NOTIFICATIONTYPE$ -H "$HOSTNAME$" --address "$HOSTADDRESS$" --url $MAILURL$ --huuid $_HOSTID$ --state $HOSTSTATE$ --last-state $LASTHOSTSTATEID$ --last-change $LASTHOSTSTATECHANGE$ --last-check "$DATE$ $TIME$" --output "$HOSTOUTPUT$" --long-output "$LONGHOSTOUTPUT$" --ack-author "$ACKAUTHOR$" --ack-data "$ACKDATA$" |
Comme vous pouvez le constater, la ligne de commande fait référence à de nombreuses notations de remplacement dynamique de contenu ( voir la page Les Variables ( Remplacement dynamique de contenu - Anciennement les Macros ) ) afin d'envoyer les valeurs représentatives à l'instant T de la notification liée à l'hôte supervisé.
$NOTIFPLUGINDIR$ Cette commande est localisée dans le répertoire par défaut /var/lib/shinken/libexec/notifications/
Le script utilisé est un script Python qui prend un certain nombre d'arguments.
Pour faire un clone d'une commande livré par Shinken, il y a plusieurs étapes à suivre qui sont expliqués dans la page Personnaliser une commande livrée par un pack Shinken
Il vous est possible d'afficher l'aide du script, apportant des précisions concernant chaque option prise en charge par ce dernier, en tapant :
/var/lib/shinken/libexec/notifications/notify_by_email.py --help |
Ce script Python notify_by_email.py peut utiliser un argument --SMTP ou -S qui permet alors de passer en paramètre l'IP ou l'adresse d'un serveur SMTP pour l'envoi de l'email.
Admettons par exemple que votre serveur SMTP est le serveur 192.168.1.200, il suffit donc de rajouter l'information --SMTP 192.168.1.200 dans votre ligne de commande ( voir la page notify-host-by-email - Commande de notification ) :
$NOTIFPLUGINDIR$/notify_by_email.py --title-tpl $NOTIFPLUGINDIR$/host_alert_title_template.tpl --content-tpl $NOTIFPLUGINDIR$/host_alert_content_template.tpl -F "$SENDER$" -r "$CONTACTEMAIL$" -n $NOTIFICATIONTYPE$ -H "$HOSTNAME$" --address "$HOSTADDRESS$" --url $MAILURL$ --huuid $_HOSTID$ --state $HOSTSTATE$ --last-state $LASTHOSTSTATEID$ --last-change $LASTHOSTSTATECHANGE$ --last-check "$DATE$ $TIME$" --output "$HOSTOUTPUT$" --long-output "$LONGHOSTOUTPUT$" --ack-author "$ACKAUTHOR$" --ack-data "$ACKDATA$" --SMTP 192.168.1.200 |
Au lieu de rajouter l'adresse en dur dans la ligne de commande, pour pourriez également utiliser une notation de remplacement dynamique de contenu, référant à une donnée de l'hôte par exemple, comme : $_HOSTIPSMTPSERVEUR$ |
Certaines paramètres sont optionnels :
Par exemple, pour la commande suivante :
$NOTIFPLUGINDIR$/notify_by_email.py --title-tpl $NOTIFPLUGINDIR$/host_alert_title_template.tpl --content-tpl $NOTIFPLUGINDIR$/host_alert_content_template.tpl -F "$SENDER$" -r "$CONTACTEMAIL$" -n $NOTIFICATIONTYPE$ -H "$HOSTNAME$" --address "$HOSTADDRESS$" --url $MAILURL$ --huuid $_HOSTID$ --state $HOSTSTATE$ |
le mail ressemblera à :
|