<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Broker on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/broker/</link><description>Recent content in Broker on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Tue, 05 Nov 2019 12:45:09 +0000</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/broker/index.xml" rel="self" type="application/rss+xml"/><item><title>Récap’ du RabbitMQ Summit 2019</title><link>https://blog.zwindler.fr/2019/11/05/recap-du-rabbitmq-summit-2019/</link><pubDate>Tue, 05 Nov 2019 12:45:09 +0000</pubDate><guid>https://blog.zwindler.fr/2019/11/05/recap-du-rabbitmq-summit-2019/</guid><description>&lt;img src="https://blog.zwindler.fr/2019/11/20191104_085806.webp" alt="Featured image of post Récap’ du RabbitMQ Summit 2019" /&gt;&lt;h2 id="des-lapins-partout-nous-étions-au-rabbitmq-summit-"&gt;Des lapins partout, nous étions au RabbitMQ Summit !
&lt;/h2&gt;&lt;p&gt;Dimanche soir, je suis arrivé à Londres pour participer, avec deux de mes collègues, au RabbitMQ Summit 2019. Cette journée est dédiée à mon broker de messages préféré, RabbitMQ (et non ce n’est pas Kafka - ceci est un troll gratuit pour mes collègues).&lt;/p&gt;
&lt;p&gt;Pour ceux qui n’auraient pas suivi, &lt;a class="link" href="https://blog.zwindler.fr/recherche/?keyword=rabbitmq" &gt;j’ai déjà écris quelques articles sur le sujet&lt;/a&gt; dont une &lt;a class="link" href="https://blog.zwindler.fr/2019/04/16/suivez-le-lapin-orange-intro-et-bonnes-pratiques-dinfra-rabbitmq/" &gt;introduction si vous débutez&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Cette journée a été l’occasion de pouvoir faire le plein de bonnes pratiques, REX, et autres protips pour optimiser nos clusters.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/11/20191104_084114.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="keynote"&gt;Keynote
&lt;/h2&gt;&lt;p&gt;Sans surprise, la keynote d’introduction était réalisée par des membres de la core team de RabbitMQ (Diana ParraCorbacho et Michael Klishin), qui ont parlé de l’actualité du Broker.&lt;/p&gt;
&lt;p&gt;Une version majeure de RabbitMQ est sortie en octobre (la 3.8) et de nombreuses des features annoncées l’an dernier sont maintenant utilisables.&lt;/p&gt;
&lt;p&gt;Je suis particulièrement enthousiaste à propos des quorum queues et des métriques Prometheus natives, qui sont clairement les deux stars de cette édition, avec plusieurs talks dédiés ou y faisant référence.&lt;/p&gt;
&lt;p&gt;L’ajout de features flags pour faciliter les mises à jours (présents à partir de la 3.7.20+ ou 3.8+) est clairement un autre gros point positif. Michael Klishin a officiellement indiqué que le blue/green deployment n’était désormais plus la seule méthode supportée pour mettre un cluster à jour.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2019/11/20191104_092344.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;La 3.8 étant maintenant derrière nous (seulement des bugs fix sortiront à partir de maintenant), cap sur la 3.9 !&lt;/p&gt;
&lt;p&gt;Dans les points importants, un travail va être réalisé pour rendre le core de chaque protocole identique. En effet, aujourd’hui, chaque protocole supporté par RabbitMQ est un module spécifique. Une refonte de l’UI est aussi prévue.&lt;/p&gt;
&lt;p&gt;Dans les annonces, une version entreprise (RabbitMQ Entreprise Edition) devrait également voir le jour dans les mois qui viennent. Identique à la version communautaire dans les grandes lignes, elle intégrera des modifications supplémentaires pour faciliter l’hébergement de cluster RabbitMQ inter-connecté sur un WAN ou crossDC. Bien évidemment un support pro fera parti du package.&lt;/p&gt;
&lt;p&gt;Le dernier point abordé, pour le futur, est le gros travail sur le &amp;ldquo;moteur de stockage&amp;rdquo; utilisé par RabbitMQ (pour la configuration et la persistance). Aujourd’hui, ce travail est réalisé par un projet annexe appelé Mnesia. Michael Klishin a insisté sur le fait que même si le code restait pertinent, la base de code était elle vieillissante.&lt;/p&gt;
&lt;p&gt;Un nouveau projet Mnevis avait donc été lancé. Cette réécriture de 0 à pour but de mieux prendre en compte des problématiques multi DC et une meilleure reprise sur incident.&lt;/p&gt;
&lt;p&gt;Même si Mnevis ne sera pas officiellement pas disponible pour tout de suite, (probablement pas avant la version 4) un prototype devrait être disponible avec une version modifiée de RabbitMQ. &lt;a class="link" href="https://github.com/rabbitmq/mnevis" target="_blank" rel="noopener"
&gt;Les sources de Mnevis sont disponibles ici&lt;/a&gt;. On aura certainement plus d’infos au prochain RabbitMQ Summit !&lt;/p&gt;
&lt;h2 id="practical-advice-for-the-care--feeding-of-rabbitmq"&gt;Practical Advice for the Care &amp;amp; Feeding of RabbitMQ
&lt;/h2&gt;&lt;p&gt;La keynote passée, Gavin Roy a présenté un REX sur plus de 10 ans d’utilisation de RabbitMQ en production, avec les pièges dans lesquels lui et son équipes étaient tombés.&lt;/p&gt;
&lt;p&gt;De soucis de code PHP qui ouvrait des connexions éphémères (coûteuses dans RabbitMQ), jusqu’à l’envoi de messages contenant des payloads (alors que AMQP propose d’ajouter des metadata), en passant par des lenteurs dues à des erreurs de configuration, le talk a été riche en bonnes pratiques (ou plutôt, mauvaises pratiques à éviter !).&lt;/p&gt;
&lt;p&gt;Même si certaines erreurs peuvent sembler faciles à éviter (surtout avec le recul), c’est un de mes talks préférés de la journée, avec de nombreuses réflexions à venir, une fois rentré.&lt;/p&gt;
&lt;h2 id="prometheus-export"&gt;Prometheus Export
&lt;/h2&gt;&lt;p&gt;C’est le 2ème gros sujet de la journée. J’ai assisté à la présentation de l’ajout de métriques natives au format &lt;a class="link" href="https://openmetrics.io/" target="_blank" rel="noopener"
&gt;OpenMetrics&lt;/a&gt; directement dans RabbitMQ.&lt;/p&gt;
&lt;p&gt;Un des gros soucis de l’interface de management actuelle et des métriques qu’elle expose est qu’il est nécessaire de disposer de privilèges important pour les consulter. Dans un contexte multi-équipes (ou multitenant), ce n’est pas pratique. Le second est un problème de performance. Actuellement l’interface de management (plugin de RabbitMQ) arrive parfois à saturation, nécessitant en cas de charge plusieurs dizaines de secondes à s’afficher.&lt;/p&gt;
&lt;p&gt;Pour éviter ces soucis, certains d’entre vous utilisent peut être le rabbitmq-exporter, qui récupère les données de la management UI et les expose à Prometheus au format &lt;a class="link" href="https://openmetrics.io/" target="_blank" rel="noopener"
&gt;OpenMetrics&lt;/a&gt;. Cependant, ce client, tributaire de la management UI, est nécessairement également limité en cas de surcharge.&lt;/p&gt;
&lt;p&gt;La vraie solution qui vient de sortir en 3.8 est donc l’exposition native de métriques au format &lt;a class="link" href="https://openmetrics.io/" target="_blank" rel="noopener"
&gt;OpenMetrics&lt;/a&gt;. Cet ajout a &lt;em&gt;a priori&lt;/em&gt; déjà été énormément bénéfique à RabbitMQ et son écosystème, permettant de déceler plusieurs portions de code inefficientes dans le code de RabbitMQ et même dans le code de Erlang (bugs fixés depuis).&lt;/p&gt;
&lt;h2 id="après-déjeuner-2-talks-un-peu-décevant"&gt;Après déjeuner, 2 talks&amp;hellip; un peu décevant&amp;hellip;
&lt;/h2&gt;&lt;p&gt;Les talks suivants (&amp;ldquo;Source oriented exchanges pattern to keep events in order&amp;rdquo; et &amp;ldquo;RabbitMQ MQTT versus EMQX&amp;rdquo;) ne sont pas simples à retranscrire.&lt;/p&gt;
&lt;p&gt;Le premier était très générique, sur la façon de gérer correctement un processus nécessitant que les messages soient traités dans l’ordre.&lt;/p&gt;
&lt;p&gt;Le second, un peu étonnant, comparait RabbitMQ avec un produit concurrent au travers du scope MQTT et sur un usecase très précis.&lt;/p&gt;
&lt;p&gt;Quelques points que j’ai retenu :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;j’ai raté un talk de Wework qui parle de sharding et qui est probablement intéressant à (re)voir (Wework’s &amp;ldquo;good enough&amp;rdquo; order guarantee, je mettrai à jour le lien)&lt;/li&gt;
&lt;li&gt;il existe un outil appelé MZ Tool (???) qui permet de stress-tester vos infrastructures MQTT. Ce dernier peut être piloté par Ansible ou Terraform. J’ai trouvé un projet MZ-Tools qui n’a rien à voir&amp;hellip; Je continue à chercher.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="rabbitmq-at-scale"&gt;RabbitMQ at Scale
&lt;/h2&gt;&lt;p&gt;Partenaires principaux du RabbitMQ Summit, les gens de Code84 (&lt;a class="link" href="https://www.cloudamqp.com/" target="_blank" rel="noopener"
&gt;CloudAMQP&lt;/a&gt;) étaient présents, en nombre ! La société est spécialisée dans l’hébergement de serveurs RabbitMQ, mais aussi de Kafka, PostgreSQL et Mosquitto en mode PaaS. La société est également connue sur son &lt;a class="link" href="https://www.cloudamqp.com/blog/index.html" target="_blank" rel="noopener"
&gt;blog technique pléthorique&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2021/tweet_rmq.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Lovisa Johansson (qui a écrit la plupart des articles du blog, que je recommande chaudement) et Anders Bälter nous ont présenté le cheminement de leur société depuis 2012. En partant de simples API Heroku et de serveurs AWS, la plateforme hébergement maintenant les serveurs RabbitMQ de milliers de clients, tout en publiant des métriques, des logs, des alertes, vers la plupart des composants SaaS connus.&lt;/p&gt;
&lt;p&gt;Ce talk a aussi été l’occasion de présenter quelques statistiques d’utilisation, notamment sur les moyennes/maximums de métriques comme le nombre de messages par secondes, le nombre de vhosts ou de policy, etc.&lt;/p&gt;
&lt;h2 id="feature-complete-uncovering-the-true-cost-of-different-rabbitmq-features-and-configurations"&gt;Feature complete: uncovering the true cost of different rabbitmq features and configurations
&lt;/h2&gt;&lt;p&gt;Le dernier talk auquel que nous avons vu a été donné par Jack Vanlightly, qui travaille maintenant chez Pivotal (l’éditeur de RabbitMQ).&lt;/p&gt;
&lt;p&gt;Ce talk a été extrêmement riche et mérite d’être revu, à tête reposée.&lt;/p&gt;
&lt;p&gt;Jack Vanlightly a fait une série de bench sur plusieurs types de serveurs, avec diverses compositions de producers/consumers, types d’exchanges et d’autres paramètres moins connus.&lt;/p&gt;
&lt;p&gt;Les cas étaient parfois extrêmes, mais je pense que les différents cas qu’ils illustrent s’avéreront utiles pour tuner des comportements d’apparence anormaux dans des cas réels (quel paramètre tuner en fonction du nombre de consumers ou de la latence du réseau par exemple).&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;Malgré notre envie de rester jusqu’au bout, nous devions partir pour arriver à l’heure pour notre vol retour.&lt;/p&gt;
&lt;p&gt;Ce RabbitMQ Summit a été l’occasion de discuter avec d’autres utilisateurs de RabbitMQ et de revoir les bonnes pratiques avec des professionnels qui en hébergent des milliers (600000 connexions actives chez CloudAMQP tout de même !).&lt;/p&gt;
&lt;p&gt;Ça a aussi été l’occasion de voir que nous n’étions pas aussi &amp;ldquo;petits&amp;rdquo; que nous pensions dans notre usage de RabbitMQ, même si nous sommes très loin des limites de l’application dans nos cas d’usage !&lt;/p&gt;
&lt;p&gt;Les joies du Dual Tracks ont fait que nous avons forcément raté certains talks que nous aurions voulu voir&amp;hellip; Heureusement qu’il y aura les vidéos sur YouTube dans quelques jours/semaines !&lt;/p&gt;
&lt;p&gt;A refaire, donc !&lt;/p&gt;</description></item><item><title>[Tutoriel] Shinken 2.4 sur CentOS/RHEL 7 – partie 3</title><link>https://blog.zwindler.fr/2015/09/22/tutoriel-shinken-2-4-sur-centosrhel-7-partie-3/</link><pubDate>Tue, 22 Sep 2015 16:32:00 +0000</pubDate><guid>https://blog.zwindler.fr/2015/09/22/tutoriel-shinken-2-4-sur-centosrhel-7-partie-3/</guid><description>&lt;img src="https://blog.zwindler.fr/2015/09/shinken.webp" alt="Featured image of post [Tutoriel] Shinken 2.4 sur CentOS/RHEL 7 – partie 3" /&gt;&lt;p&gt;Cet article fait parti d’une série d’articles (au moins 3) que je vais publier sur le sujet et que j’ai séparé pour les rendre un peu plus digestes. Je vous conseille quand même de ne pas en sauter pour bien comprendre de quoi on parle ;-) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2015/09/22/tutoriel-shinken-2-4-sur-centosrhel-7-partie-1/" &gt;Partie 1 : Présentation de Shinken&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2015/09/22/tutoriel-shinken-2-4-sur-centosrhel-7-partie-2/" &gt;Partie 2 : Installation de Shinken 2.4 sur RHEL/CentOS 7&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2015/09/22/tutoriel-shinken-2-4-sur-centosrhel-7-partie-3/" &gt;Partie 3 : Configuration initiale de Shinken 2.4 sur RHEL/CentOS 7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="les-modules"&gt;Les modules
&lt;/h2&gt;&lt;p&gt;L’ensemble des modules et en particulier le broker n’a donc aucun module d’activé. Or les interfaces graphiques sont gérées par des modules du broker pour ne citer qu’eux.&lt;/p&gt;
&lt;h3 id="les-modules-et-shinkenio"&gt;Les modules et shinken.io
&lt;/h3&gt;&lt;p&gt;Par convention (ce n’était pas forcément le cas dans les précédentes versions), la configuration des modules est définie dans des fichiers de configurations individuels qui seront stockés dans le sous dossier modules de &lt;strong&gt;/etc/shinken/&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;On peut trouver les fichiers liés aux modules dans le répertoire &lt;strong&gt;/var/lib/shinken/modules/&lt;/strong&gt; (par défaut, mais vous pouvez le modifier dans le fichier &lt;strong&gt;shinken.cfg&lt;/strong&gt; ou dans les « .ini » des démons).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat /etc/shinken/modules/sample.cfg
# Here is a sample module that will do nothing :)
#define module{
# module_name module-sample
# module_type module-sample
# key1 value1
# key2 value2
ll /var/lib/shinken/modules
total 24
drwxr-xr-x 2 shinkn shinkn 4096 17 sept. 14:34 dummy_arbiter
drwxr-xr-x 2 shinkn shinkn 4096 17 sept. 14:34 dummy_broker
drwxr-xr-x 2 shinkn shinkn 4096 17 sept. 14:34 dummy_broker_external
drwxr-xr-x 2 shinkn shinkn 4096 17 sept. 14:34 dummy_poller
drwxr-xr-x 2 shinkn shinkn 4096 17 sept. 14:34 dummy_scheduler
-rw-r--r-- 1 shinkn shinkn 919 17 sept. 14:34 __init__.py
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Autant dire que pour l’instant on ne peut pas faire grand chose !&lt;/p&gt;
&lt;p&gt;C’est un choix technique qui a été fait à partir de la version 2 (si je ne m’abuse) et qui permet de n’avoir que ce dont on a vraiment besoin, ce qui est une très bonne pratique.&lt;/p&gt;
&lt;p&gt;Pour autant, pour éviter de trop alourdir le processus d’installation de multiples modules, l’équipe a mis au point un catalogue d’extensions qui permet d’installer les modules manquants à l’aide d’une simple ligne de commande, ce qui est très pratique.&lt;/p&gt;
&lt;p&gt;La première fois, il faut commencer par « initialise » notre Shinken 2.4, avec la commande suivante :&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shinken --init
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Le site &lt;a class="link" href="http://shinken.io/browse/modules/updated" target="_blank" rel="noopener"
&gt;shinken.io&lt;/a&gt; référence à date pas moins de 138 packages dont les fameux modules qui nous manquent.&lt;/p&gt;
&lt;h3 id="premier-module--les-logs-comme-nagioslog"&gt;Premier module : les logs comme nagios.log
&lt;/h3&gt;&lt;p&gt;Pour installer le module de log plat à la mode « Nagios », il faut installer simple-log.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shinken install simple-log
Grabbing : simple-log
OK simple-log
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pas mal hein?&lt;/p&gt;
&lt;p&gt;Si vous avez l’erreur suivante qui apparaît, c’est que vous n’avez pas fait la commande shinken init à l’étape précédente.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;shinken install simple-log
[1442761511] ERROR: [Shnken] Cannot load cli commands, missing paths or cli entry in the config
[1442761511] ERROR: [Shnken] CLI loading not done: missing configuration data. Please run --init
shinken --init
Creating ini section paths
Creating ini section shinken.io
Saving the new configuration file /root/.shnken.ini
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="installer-la-webui-linterface-graphique-officielle-du-projet"&gt;Installer la WebUI, l’interface graphique officielle du projet
&lt;/h3&gt;&lt;p&gt;Pour installer l’interface graphique « officielle » (aka la WebUI), il faut se rendre sur la page &lt;a class="link" href="http://shinken.io/package/webui2" target="_blank" rel="noopener"
&gt;suivante&lt;/a&gt; (et la documentation qui détaille sont installation sont disponibles &lt;a class="link" href="https://github.com/shinken-monitoring/mod-webui/wiki/Installation" target="_blank" rel="noopener"
&gt;ici&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Toutes les dépendances python peuvent être installées via pip et le fichier requirements.txt. Pour mongodb, je vous l’ai déjà fait installer un peu plus tôt donc ça devrait déjà être fait (enfin&amp;hellip; si vous avez suivi&amp;hellip; sinon :-p retournez à l’article précédent).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;pip install -r https://raw.githubusercontent.com/shinken-monitoring/mod-webui/develop/requirements.txt
shinken install webui2
Grabbing : webui2
OK webui2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Par défaut, le fichier de configuration &lt;strong&gt;webui2.cfg&lt;/strong&gt; est créé dans le dossier &lt;strong&gt;/etc/shinken/modules/&lt;/strong&gt; et les fichiers du modules ont été déposés dans &lt;strong&gt;/var/lib/shinken/modules/&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pour que notre authentification par fichier &lt;strong&gt;htpasswd&lt;/strong&gt; soit prise en compte, il faut dé-commenter la ligne contenant le paramètre &lt;strong&gt;htpasswd_file&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;[Deprecated]Vous devriez aussi changer tout de suite le paramètre &lt;strong&gt;auth_secret&lt;/strong&gt; dans le fichier de configuration &lt;strong&gt;webui2.cfg&lt;/strong&gt;. Remplacez CHANGEME par la valeur que vous voulez.&lt;/p&gt;
&lt;p&gt;Historiquement il fallait changer soit même le paramètre &lt;strong&gt;auth_secret&lt;/strong&gt; dans le fichier de configuration mais cette option a été remplacée par un fichier autogénéré. Cette méthode est plus sécurisante car elle évite d’oublier de le faire ;-).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;htpasswd_file /etc/shinken/htpasswd.users
[...]
# Authentication secret for session cookie
#auth_secret BOBLEPONGE
# ; CHANGE THIS or someone could forge cookies
auth_secret_file /var/lib/shinken/auth_secret
[...]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pour l’instant, seule l’authentification par Apache htpasswd est activé (vu qu’on vient de le décommenter). On pourra en rajouter d’autres par la suite mais pour faire simple, on va juste y ajouter un compte pour commencer.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;htpasswd -c /etc/shinken/htpasswd.users admin
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Ensuite on démarre la base mongodb&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;systemctl enable mongod
systemctl start mongod
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="câbler-le-tout"&gt;Câbler le tout
&lt;/h3&gt;&lt;p&gt;On a installé deux modules, mais aucun des deux n’ont été reliés au broker : ils ne seront pas utilisés au démarrage. On modifie donc la configuration du broker en conséquence.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vi /etc/shinken/brokers/broker-master.cfg
modules simple-log,webui2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Pour plus de détails sur la configuration du broker, je vous renvoie vers la page &lt;a class="link" href="https://shinken.readthedocs.org/en/latest/08_configobjects/broker.html" target="_blank" rel="noopener"
&gt;broker&lt;/a&gt; de la documentation officielle.&lt;/p&gt;
&lt;p&gt;Redémarrez l’outil pour prendre en compte la modification de configuration et connectez vous à l’URL &lt;code&gt;http://@IP_shinken:7767&lt;/code&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;systemctl restart shinken
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/09/shinken2.avif%22"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Yata !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2015/09/03_shinken.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Le dashboard. Mais pour l’instant il n’y a pas grand chose !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="en-cas-de-problèmes"&gt;En cas de problèmes
&lt;/h2&gt;&lt;p&gt;Par défaut, les logs sont stockés dans le répertoire &lt;strong&gt;/var/log/shinken/&lt;/strong&gt;, avec un fichier par démon.&lt;/p&gt;
&lt;p&gt;Ils sont généralement assez détaillés et on peut moduler le niveau de détails dans les fichiers de configuration des démons que j’ai présenté un peu plus tôt.&lt;/p&gt;
&lt;p&gt;Dans le cas où la configuration (&lt;strong&gt;shinken.cfg&lt;/strong&gt; et tous les autres .cfg qui en découlent) contiendrait une erreur, l’arbiter plantera au démarrage et les informations sur son plantage seront contenues dans le fichier &lt;strong&gt;/tmp/bad_start_for_arbiter&lt;/strong&gt;. Ça peut être utile.&lt;/p&gt;
&lt;h2 id="aller-plus-loin"&gt;Aller plus loin
&lt;/h2&gt;&lt;p&gt;Ça y est. Votre nouvel outil de supervision fonctionne et vous disposez d’une interface graphique pour voir ce qu’il s’y passe.&lt;/p&gt;
&lt;p&gt;Voici quelques pistes pour réellement terminer le travail que vous venez de commencer :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;D’abord vous pourriez commencer par ajouter des plugins et quelques serveurs à votre configuration pour voir comment Shinken réagit quand on lui donne un peu de travail. Et pourquoi ne pas vous économiser du travail de configuration en utilisant &lt;a class="link" href="http://shinken.io/browse/packs/updated" target="_blank" rel="noopener"
&gt;les packs&lt;/a&gt;, dans ce but ultime d’automatiser toujours plus (pour travailler moins) ?&lt;/li&gt;
&lt;li&gt;Ensuite, vous pourriez ajouter des modules à la WebUI, comme par exemple &lt;a class="link" href="http://shinken.io/package/ui-graphite" target="_blank" rel="noopener"
&gt;ui-graphite&lt;/a&gt; ou &lt;a class="link" href="http://www.shinken.io/package/ui-pnp" target="_blank" rel="noopener"
&gt;ui-pnp&lt;/a&gt; pour ajouter la gestion des graphes dans votre WebUI.&lt;/li&gt;
&lt;li&gt;Enfin, vous pourriez vous pencher sur les aspects &lt;a class="link" href="https://shinken.readthedocs.org/en/latest/06_medium/high-availability.html" target="_blank" rel="noopener"
&gt;de haute disponibilité, de répartition de charge&lt;/a&gt; et de &lt;a class="link" href="https://shinken.readthedocs.org/en/latest/07_advanced/distributed-with-realm.html" target="_blank" rel="noopener"
&gt;gestion des royaumes&lt;/a&gt;, histoire de répondre à des problématiques plus complexe ?&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>