<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Notification on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/notification/</link><description>Recent content in Notification on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Thu, 04 Aug 2016 18:00:49 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/notification/index.xml" rel="self" type="application/rss+xml"/><item><title>Configurer l’envoi de notification email et RSS dans XWiki</title><link>https://blog.zwindler.fr/2016/08/04/configurer-lenvoi-de-notification-email-rss-xwiki/</link><pubDate>Thu, 04 Aug 2016 18:00:49 +0000</pubDate><guid>https://blog.zwindler.fr/2016/08/04/configurer-lenvoi-de-notification-email-rss-xwiki/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/11/1434473398.webp" alt="Featured image of post Configurer l’envoi de notification email et RSS dans XWiki" /&gt;&lt;h2 id="notifications-rss-et-email-dans-xwiki"&gt;Notifications (RSS et email) dans XWiki
&lt;/h2&gt;&lt;p&gt;Disponible nativement pratiquement depuis les toutes premières versions de XWiki (introduit autour de la 1.3), les utilisateurs peuvent être notifiés lors de la modification des pages auxquels ils se sont abonnés.&lt;/p&gt;
&lt;p&gt;L’abonnement est géré de façon automatique via une politique qui est définie par défaut ou modifiée par l’utilisateur lui même.&lt;/p&gt;
&lt;p&gt;A partir de cette liste des abonnements, l’utilisateur peut également définir la manière dont il souhaite être notifié : soit via un flux RSS des pages favorites, soit via un email contenant un export de type &lt;em&gt;diff&lt;/em&gt; des pages modifiées.04&lt;/p&gt;
&lt;p&gt;Ce tutoriel a pour but de vous donner les étapes pour configurer ces notifications de bout en bout.&lt;/p&gt;
&lt;h2 id="configurer-le-serveur-de-mail"&gt;Configurer le serveur de mail
&lt;/h2&gt;&lt;p&gt;Si vous souhaitez utiliser la notification par email, la première chose est bien entendu de configurer votre serveur pour l’envoi d&amp;rsquo;email ou de renseigner dans l’application un serveur SMTP qui pourra faire le relais. Tout se gère dans le menu d’administration du XWiki.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email00.1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="configurer-les-alertes-par-email-désactivé-par-défaut"&gt;Configurer les alertes par email (désactivé par défaut)
&lt;/h2&gt;&lt;p&gt;Ensuite, côté utilisateur, il faut configurer son compte pour recevoir des emails lors de modification de pages favorites. Se connecter au Wiki et ouvrir la page des préférences de l’utilisateur (située en haut à droite de l’écran).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email01.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;On arrive alors sur les préférences de l’utilisateur. Cliquer sur le menu « Favoris » puis sur le crayon pour éditer les préférences actuelles.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email02.0.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email02.1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Sélectionner dans le menu déroulant la fréquence d’envoi d’email souhaitée.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email02.2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ne pas oublier de valider avec Enregistrer en bas du formulaire.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Les nouveaux paramètres sont pris en compte.&lt;/p&gt;
&lt;p&gt;Remarque : on peut également s’abonner au flux RSS sur cette même page :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_rss.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je trouve la mise en page à la mode flux RSS plus plaisante car on a juste des liens vers les pages modifiées. Le diff est complexe à lire dans les notifications email.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="sélection-des-pages-favorites"&gt;Sélection des pages « favorites »
&lt;/h2&gt;&lt;p&gt;Pour rappel, la plupart des fonctionnalités de votre XWiki sont gérées par des applications. Celle qui gère les pages favorites (notion d’abonnement) est &lt;a class="link" href="https://extensions.xwiki.org/xwiki/bin/view/Extension/Watchlist&amp;#43;Application" target="_blank" rel="noopener"
&gt;l’application Watchlist&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les pages favorites sont sélectionnées automatiquement par XWiki si vous avez laissé les valeurs par défaut. Toutes les pages créées et auquel vous aurez contribué en tant qu’utilisateur seront automatiquement inscrites dans vos pages favorites.&lt;/p&gt;
&lt;p&gt;Dans le cas où vous souhaiteriez en ajouter de nouvelles, vous pouvez le faire manuellement en cliquant sur le bouton en forme de cloche en haut à droite à côté de votre avatar de connexion.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email04.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Une fois la page favorite sélectionnée, on clique sur le bouton en forme de cloche, puis on sélectionne si on souhaite ne s’abonner qu’à cette page (premier bouton), à cette page et ses fils (second bouton) ou à tout le wiki dans sa globalité.&lt;/p&gt;
&lt;p&gt;Dans le cas où l’on souhaite disposer de la liste des pages auxquelles on est abonné, il est possible d’en avoir la liste et si nécessaire d’en supprimer dans le menu des préférences utilisateur.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email05.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="bonus--le-planificateur-de-tâches"&gt;Bonus : le planificateur de tâches
&lt;/h2&gt;&lt;p&gt;Petit bonus, lorsque j’ai fais les tests de notifications, je n’ai pas voulu attendre l’heure passée pour recevoir l&amp;rsquo;email ;-). J’ai donc été voir du côté du Scheduler, le planificateur de traitements interne au XWiki.&lt;/p&gt;
&lt;p&gt;On peut couper/relancer ou même forcer le déclenchement des traitements de l’application WatchList (et des autres !).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/xwiki_notif_email00.2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enregistrer&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Piloter Nagios (API) à travers le nagios.cmd</title><link>https://blog.zwindler.fr/2016/07/21/piloter-nagios-api-a-travers-nagios-cmd/</link><pubDate>Thu, 21 Jul 2016 12:00:55 +0000</pubDate><guid>https://blog.zwindler.fr/2016/07/21/piloter-nagios-api-a-travers-nagios-cmd/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/07/nagios1.webp" alt="Featured image of post Piloter Nagios (API) à travers le nagios.cmd" /&gt;&lt;h2 id="i-command-thee-nagios"&gt;I command thee, Nagios
&lt;/h2&gt;&lt;p&gt;Pas la peine de vous faire l’affront de vous présenter Nagios ! Si vous tombez sur cet article, c’est probablement que vous connaissez déjà l’outil et que vous cherchez juste à automatiser des tâches à l’aide d’une API ou d’un CLI pour étendre les fonctionnalités par défaut.&lt;/p&gt;
&lt;p&gt;Car au delà de la configuration manuelle par fichier de configuration (ou via une interface web si vous utilisez Centreon par exemple), et l’interface web, il y a peu de moyens pour interagir avec Nagios.&lt;/p&gt;
&lt;p&gt;Par manque de documentation, je me souviens avoir notamment galéré pour récupérer des statistiques de santé de Nagios. Alors qu’en fait il existe un binaire &lt;strong&gt;nagiostats&lt;/strong&gt; ! Même s’il n’est pas forcément super facilement exploitable, c’est quand même un bon début&amp;hellip;&lt;/p&gt;
&lt;p&gt;Et donc, même si ce n’est pas du tout mis en avant par Nagios, OUI, il existe une méthode pour interagir avec le processus Nagios via des lignes de commandes. Mais je vous préviens tout de suite, il va falloir fouiller les docs archivées !&lt;/p&gt;
&lt;h2 id="petite-explication-de-la-façon-dont-nagios-fonctionne"&gt;Petite explication de la façon dont Nagios fonctionne
&lt;/h2&gt;&lt;p&gt;Nagios est une application monolithique écrite en C. L’interface graphique de Nagios est présentée par un serveur web apache à l’aide de scripts CGI. Je ne sais pas si le fait que l’interface de Nagios soit si &amp;hellip; « austère » (qui à dit « moche » ?) est une limitation liée aux choix technologique ou un réel choix ergonomique.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2016/07/nagios.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Troll à part, il faut comprendre que par défaut, il n’y a pas de méthode native pour faire communiquer Apache et l’application en C. La méthode la plus simple sous Unix consiste alors à passer par un fichier particulier : un pipe nommé. Sans rentrer dans les détails techniques :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;L’utilisateur clique sur un lien lié à une action (comme acquitter une alerte)&lt;/li&gt;
&lt;li&gt;D’un côté, le script CGI écrit des commandes dans ce fichier fictif qu’est le pipe nommé&lt;/li&gt;
&lt;li&gt;De l’autre, au lieu que les commandes soient écrites sur disques, elles sont envoyées directement dans le processus Nagios qui les interprété.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="eurêka-jai-trouvé-mon-premier-exemple-"&gt;Eurêka, j’ai trouvé mon premier exemple !
&lt;/h2&gt;&lt;p&gt;A partir de là, on a trouvé la solution. Il est donc possible d’émuler le comportement de la GUI pour réaliser des actions en ligne de commande. Il suffit d’écrite dans le pipe nommé la bonne commande.&lt;/p&gt;
&lt;p&gt;Forcément, on est par contre limité aux actions qu’on pourrait faire via la GUI. Typiquement, vous ne pourrez pas faire un script pour ajouter  des hôtes à chaud. Ce type d’actions ne sont possibles qu’en modifiant la configuration texte, pas de miracle&amp;hellip;&lt;/p&gt;
&lt;p&gt;Ça peut quand même être très utile. En astreinte, des administrateurs (rebelles) désactivaient les notifications des services qui les dérangeaient&amp;hellip; Les fourbes ! Voilà un petit script pour réactiver tous les mardi matin les alertes appartenant au groupe de services « Services en astreinte ».&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/bash
#Script permettant de reactiver les notifications Nagios des services du groupe
#&amp;#34;Service_en_Astreinte&amp;#34; au cas ou elles auraient ete desactivees
################################################################################
now=`date +%s`
COMMANDFILE=&amp;#39;/usr/local/nagios/var/rw/nagios.cmd&amp;#39;
SERVICEGROUP=&amp;#39;Services_en_Astreinte&amp;#39;
/usr/bin/printf &amp;#34;[%lu] ENABLE_SERVICEGROUP_SVC_NOTIFICATIONS;$SERVICEGROUP\n&amp;#34; $now &amp;gt; $COMMANDFILE
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Et un petit cron&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# Reinitialisation des notifications sur le groupe Service_en_astreinte (le mardi en HO)
30 10 * * 2 /scripts/reset_production_notifications.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pour trouver la liste des commandes disponibles, vous pouvez soit cliquer sur tous les boutons de l’interface graphique tout en surveillant le nagios.log (c’est comme ça que j’ai trouvé mes premières commandes ;-)), soit fouiller le site de Nagios pour retrouver les archives de la v2.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://old.nagios.org/developerinfo/externalcommands/commandlist.php" target="_blank" rel="noopener"
&gt;old.nagios.org/developerinfo/externalcommands/commandlist.php&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="deuxième-exemple"&gt;Deuxième exemple
&lt;/h2&gt;&lt;p&gt;En fouillant le site, je suis tombé sur une autre commande qui m’a paru très utile. Après avoir installé un nouveau site, j’ai voulu vérifier que l’envoi des notifications fonctionnaient bien sur les services important. Pour le tester, j’aurai pu créer un service à positionner exprès en CRITICAL. Cependant je préfère cette solution qui se base sur la commande SEND_CUSTOM_SVC_NOTIFICATION.&lt;/p&gt;
&lt;table class="Content" border="0" width="750"&gt;
&lt;tr&gt;
&lt;td class="LargeBold"&gt;
SEND_CUSTOM_SVC_NOTIFICATION
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="MediumBold"&gt;
Command Format:
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
SEND_CUSTOM_SVC_NOTIFICATION;;;;;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="MediumBold"&gt;
Description:
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
Allows you to send a custom service notification. Very useful in dire situations, emergencies or to communicate with all admins that are responsible for a particular service. When the service notification is sent out, the $NOTIFICATIONTYPE$ macro will be set to « CUSTOM ». The field is a logical OR of the following integer values that affect aspects of the notification that are sent out: 0 = No option (default), 1 = Broadcast (send notification to all normal and all escalated contacts for the service), 2 = Forced (notification is sent out regardless of current time, whether or not notifications are enabled, etc.), 4 = Increment current notification # for the service(this is not done by default for custom notifications). The comment field can be used with the $NOTIFICATIONCOMMENT$ macro in notification commands.
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Et le script qui va avec :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/bin/sh
now=`date +%s`
commandfile=&amp;#39;/usr/local/nagios/var/rw/nagios.cmd&amp;#39;
/usr/bin/printf &amp;#34;[%lu] SEND_CUSTOM_SVC_NOTIFICATION;SERVER1;/var;0;Test_notifier;Petit coucou de la part de ma nouvelle installation!\n&amp;#34; $now &amp;gt; $commandfile
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Avec ce petit script, j’ai bien reçu ma notification de la part du service /var de SERVER1 !&lt;/p&gt;
&lt;p&gt;Il y a bien sûr plein d’autres scripts qu’on peut imaginer, avec les actions sur les acquittements, les commentaires, les rechecks, les actions externes, &amp;hellip; Je vous laisse y penser !&lt;/p&gt;</description></item></channel></rss>