Sortie de Shinken 1.2, cap sur un tableau de bord et une interface de configuration

Posted by on 31 Août 2012 in Planet, Shinken, Supervision | Commentaires fermés sur Sortie de Shinken 1.2, cap sur un tableau de bord et une interface de configuration

Après une attente un peu plus longue que prévue, le logiciel de supervision Shinken, parti comme une réécriture de Nagios en Python, sort une version 1.2. Les développements de cette version se sont concentrés principalement sur l’interface de visualisation des alertes, ainsi que sur l’arrivée d’une nouvelle interface de découverte et configuration.

L’interface de visualisation

Outre un léger relooking de l’interface et de meilleures capacités pour filtrer les informations, la principale nouveauté de cette version est l’arrivée d’un tableau de bord. L’utilisateur pouvant sélectionner des « widgets » et les placer à sa guise sur sa page personnalisée.

Dashboard de Shinken 1.2

L’installation pour les feignants

 Les développeurs ont pensés aux administrateurs surchargés de travail n’ayant pas le temps de télécharger et lancer une installation de l’outil. Désormais, une installation peut se résumer en :


curl -L http://install.shinken-monitoring.org | /bin/bash

 Et c’est fini 🙂

Scalabilité de la supervision passive

 Si la possibilité de rajouter des capacités de traitement pour la supervision active (aller chercher l’information) était native depuis les premières versions de l’outil, ce n’était pas encore le cas pour les informations passives (écouter les informations en provenance des équipements). Ce point est désormais réglé avec la possibilité d’activer un chemin direct entre les éléments qui écoutent les informations et ceux qui les consomment, sans passer par le relayeur central de l’architecture.

La partie configuration

 Dans cette version, un soin tout particulier a été apporté à la gestion de configuration de l’outil, afin qu’elle soit la plus simple possible, sans (trop) entraver les possibilités de configuration.

On note ainsi l’arrivée de découverte des équipements en plusieurs phases au lieu d’une seule. Par exemple, une première phase basée sur Nmap pouvant découvrir les principales caractéristiques des équipements (OS, ports ouverts, fabricant du matériel, …), et de nouvelles sondes de découvertes pouvant être lancés sur les équipements respectant certains critères (comme ne scanner les partages réseaux que sur les Windows par exemple).

Autre point intéressant de cette version, l’apparition de moyens d’échanger des bonnes pratiques de supervision. Si dans le microcosme Nagios le partage de sondes de supervision est courant, celui du partage des bonnes pratiques de la configuration de ces sondes l’est beaucoup moins. Or une bonne partie de la bonne gestion de gros environnements passe par ces bonnes pratiques. Shinken propose un outil (shinken-pack) permettant d’extraire de la configuration ce qui a trait à un sujet particulier (Linux, Windows, etc) comme la configuration des sondes ou les règles de découvertes, et d’en faire une archive. Un site communautaire http://community.shinken-monitoring.org a été mis en place pour faciliter leur partage.

Dernier point de la partie configuration est l’arrivée en beta de l’outil de configuration de Shinken, nommé sKonf. Il permet d’utiliser la bibliothèque de découverte de l’outil, mais également la configuration plus classique des éléments. Il est également capable d’aller rechercher de nouveaux packs de supervision directement sur le site communautaire du projet.

Exemple de scan issu de sKonf

Corrélation avancée et calcul de KPI : les triggers

Un autre outil important en matière de supervision est Zabbix. ce dernier repose sur l’obtention de données de performances qui sont analysée par des expressions dites « triggers », là où Nagios, et donc Shinken, laisse cette tâche aux sondes.

Shinken inaugure dans cette version ses propres triggers. Ces derniers n’ont pas pour but d’être utilisés pour toute la supervision, mais dans les cas où l’utilisation des sondes n’est plus adaptée. Ces triggers sont tout simplement du code Python qui sera lancé après les sondes au sein même de l’outil, et ayant accès à toutes ses données.

Ils pourront être utilisés pour définir des règles métiers complexes, où de simples opérateurs & | Xof: ne sont plus assez complets, ou encore dans le calcul de nouveaux indicateurs, comme calculer la moyenne du temps de réponse de serveurs web déjà supervisés, et alerter si elle devient trop importante. Le principal atout de ce système étant que les données étant réinjectées directement au sein de l’outil, elles seront disponibles avec les interfaces actuelles de supervision.

Un autre module fait appel à ce système : le module Collectd. L’outil du même nom est un agent exportant sur le réseau les données de performances des serveurs. Shinken est désormais capable d’écouter ces informations et les transformer en données de performances pour ses propres services. Des triggers peuvent alors être utilisés pour comparer les valeurs à des seuils, et lever des alertes si besoin est.

On notera enfin des améliorations importantes du côté du temps de démarrage sur les gros environnements, ce qui est toujours bon à prendre 🙂

Et un hors série Linux Mag en prime!

Les développeurs de Shinken n’ont pas passé leur temps uniquement dans le code, mais également à rédiger un hors série complet de LinuxMag sur Shinken! Très orienté sur cette nouvelle version, c’est une lecture indispensable pour tous ceux souhaitant tester Shinken, ou découvrir de plus prêt les nouvelles fonctionnalités de l’outil.

Prochaine version

Les développements actuels sont orientés vers la complétion de l’interface de configuration sKonf, ainsi que le rajout de nouvelles fonctions aux triggers et la possibilité à des modules externes d’en fournir des nouvelles.

Une autre idée des utilisateurs de Shinken devrait également voir le jour, à savoir pouvoir changer les commandes, et donc potentiellement les seuils, suivant la période de temps (par exemple augmenter les seuils de charge acceptables pendant une sauvegarde). Sera également présent une partie complète pour l’interface de visualisation dédiée à la supervision « de bout en bout », permettant de simuler un utilisateur sur un site de vente en ligne par exemple (avec affichage des temps de réponses, captures d’écrans sur les erreurs, etc).

Read More