URL: https://linuxfr.org/news/shinken-version-2-0 Title: Shinken version 2.0 Authors: Jean Gabes Davy Defaud, Nÿco, Benoît Sibaud, claudex, Xavier Teyssier, barmic et BAud Date: 2014年04月16日T10:47:34+02:00 License: CC By-SA Tags: shinken et supervision Score: 42 Le projet de logiciel libre de supervision Shinken vient d’annoncer sa nouvelle version majeure, la 2.0. Elle apporte principalement une orientation du projet vers le cœur de supervision, la mise en place de HTTPS entre les démons et une forte améliorations des règles métiers. Le projet gagne au passage un nouveau logo.  ---- [Annonce de la nouvelle version](http://shinkenlab.io/2-0-release/) [Site du projet](http://www.shinken-monitoring.org) [Site d’échange de packs de supervision](http://shinken.io/) [Cours en ligne sur Shinken](http://shinkenlab.io/tag/online-course.html) ---- ## Un recentrage comme infrastructure de supervision Le changement important de cette version est un découpage bien plus clair qu’avant entre ce qui concerne le cœur du projet, l’infrastructure de supervision avec ses démons, et les divers modules et packs de supervision. L’objectif est de donner aux utilisateurs les connaissances et les choix pour bâtir leur propre solution. Ils sont aidés dans cette tâche par un nouveau site d’échange de packs et de modules, [_shinken.io_](http://shinken.io) et la nouvelle commande `shinken` permettant d’aller récupérer et installer automatiquement les paquetages : ```shell $ shinken install linux-ssh ``` ## Installation via pip La partie installation a également fortement évolué. Précédemment basée sur un script d’installation, elle suit désormais les standards du monde Python avec un paquet disponible sur [_Pypi_](https://pypi.python.org/pypi/Shinken). L’installation de l’infrastructure devient donc tout simplement : ```shell $ pip install shinken ``` Cette nouvelle méthode est bien plus adaptée pour les empaqueteurs, et des paquets pour les distributions principales sont en cours de finalisation. Il est à noter que les futures mises à jour de Shinken se feront simplement en relançant cette même commande. :) ## Amélioration des règles métiers Grâce au (gros) travail du contributeur Christophe Simon, les règles métiers (alias *bp_rules*) ont fortement évolué dans cette version. Il est désormais possible de créer un indicateur agrégé pour un ensemble d’éléments en se basant sur des expressions régulières ou des groupes dans lesquels ils se situent. Par exemple, pour créer un indicateur unique qui agrège les états de tous les disques de ses serveurs GNU/Linux, il suffit de déclarer : ``` check_command bp_rule!g:linux,Disks ``` ## Un passage au HTTPS entre les daemons Dernier changement, et non des moindres, les démons communiquent désormais en HTTP(S). Ceci permet de mettre en place facilement un chiffrement efficace (modulo les failles dans OpenSSL, évidemment) de manière simple par rapport aux versions précédentes qui utilisaient la bibliothèque Python [_Pyro_](https://pypi.python.org/pypi/Pyro4) peu compatible avec le SSL. Il est désormais possible d’interroger directement et facilement les démons Shinken (et leurs indicateurs internes). Par exemple, pour vérifier qu’un démon est en vie, il suffit de lancer : ```shell $ curl http://localhost:7770/ping "pong" ``` Ou, par exemple, pour vider tous les hôtes chargés par Shinken : ```shell $ curl "http://localhost:7770/get_objects_properties?table=hosts" | json_pp ``` Une liste complète des appels API est disponible via : ```shell $ curl http://localhost:7770/api_full | json_pp ``` Les prochaines versions amélioreront fortement cette API, et les modules pourront également proposer leurs propres appels spécifiques. ## Feuille de route et cycle de versions Cette version a eu une gestation bien longue, notamment expliquée par le fait que le développeur principal de Shinken a lancé sa société d’édition pendant cette période et que les objectifs de réusinage de l’infrastructure étaient assez élevés (tout en assurant une compatibilité ascendante). Avec désormais un cycle de version propre à l’infrastructure, décorrélé de celui des modules qui peuvent être plus longs (par exemple, celui de l’interface graphique WebUI), et un objectif d’avoir moins de nouvelles fonctionnalités par version, le cycle de sortie devrait fortement réduire. :) Concernant les améliorations des futures versions, on notera tout particulièrement : * un rétroportage de certaines vues de la version _Enterprise_ de Shinken dans la version communautaire ; * l’ajout d’une fonctionnalité tout particulièrement chère au cœur de l’auteur de Shinken : les _arbiters relays_, permettant de laisser la gestion complète d’un royaume (*aka* _datacenter_) à un démon sur place ; * l’ajout très prochainement des commandes d’instantanées (_snapshots_) permettant d’avoir une « vue » de l’état d’une machine (ex : par le lancement d’un `ps`) lors d’un souci de charge la nuit, par exemple ; * accès à toutes les informations internes des démons depuis l’API HTTP. ## Mise à jour et cours Concernant la documentation, elle est désormais disponible [en ligne](https://shinken.readthedocs.org/en/latest/), mais elle est également embarquée avec l’installation de Shinken et disponible sur le port 8080 en lançant : ```shell $ shinken doc-serve ``` Des [cours en vidéos](http://shinkenlab.io/tag/online-course.html) sont disponibles concernant la mise en place de cette nouvelle version et la mise à jour depuis la version 1.4 sur le _blog_ du projet.