Shinken 0.4 : la libéllule décadente se pose

Posted by on 9 Déc 2010 in Planet, Supervision | 0 comments

Shinken LibelluleL’équipe de Shinken vient de sortir une nouvelle version de son outil de supervision. Étape importante pour ce projet, c’est la première a être validée pour installation en production !

Un rattrapage des derniers manques par rapport à Nagios

Comme à leur habitude, les développeurs de l’outil, compatible avec Nagios et sa myriade de plugins, ne se sont pas tournés les pouces. Cette version était destinée à régler tous les derniers points qui manquaient par rapport à son grand frère :

  • Chargement des données de rétention au format Nagios
  • Gestion des caractères ! et * dans les associations services sur hôtes
  • Les commandes de données de performances sont gérées (comme celles de Centreon par exemple)
  • Gestion des variables d’environnements _NAGIOS* pour les sondes

L’utilisateur n’a ainsi plus à craindre de perdre des fonctionnalités en passant de Nagios à Shinken. C’est aussi simple que de lancer ce dernier avec les fichiers de configurations de l’honorable star de la supervision (et d’avoir avec quelques lignes de plus une architecture performantes, distribuée et hautement disponible…).

Des nouvelles fonctionnalités

Ils n’ont pu cependant s’empêcher de rajouter quelques nouvelles fonctionnalités au passage :

  • L’apparition des « service generators » dont nous reparlerons par la suite
  • Serveur NSCA intégré au cœur de la solution sous la forme de module
  • Apparition de la sauvegarde des données entre les redémarrages dans un serveur memcache ou redis afin d’offrir une méthode distribuée et redondante entre les nœuds de ces données si importantes
  • Les macros utilisateurs peuvent avoir des vrais noms, SONDESDIR est plus explicite que la célèbre valeur USER1 par exemple pour fournir le répertoire des sondes…

Outre ces nouvelles fonctionnalités, cette version a été l’occasion de mettre en place un modèle de développement dirigé par les tests, ce qui a permis de détecter/régler bon nombre de bugs. Cette version est utilisée en production chez son auteur et se révèle très stable.

Focus sur les générateurs de services

Revenons un peu sur les générateurs de services. L’idée principale de ces dernier est de recentrer un peu les données des hôtes dans la définition de ces derniers et de générer des services à la volée.

Par exemple, si un utilisateur veut superviser les espaces disques d’un serveur, il pourra les déclarer sur son hôtes comme suit :

define host {

host_name  serveur-fichier

_disks     C,D,E

Et pour avoir un service pour chaque disque, l’utilisateur n’a plus qu’à déclarer un unique service dans leur configuration :

define service {

service_description  Espace disque $KEY$

duplicate_foreach   _disk

C’est encore plus utilise pour nos chers administrateurs réseaux qui doivent définir un service par port d’un équipement. Maintenant ils peuvent définir pour une « pile de 6 switchs » avec 48 ports chacun :

define host {

host_name switch-prinicpal

_ports  Switch [1-6] Port [1-48]

Et le service

define service {

service_description  Etat port $KEY$

duplicate_foreach  _ports

Ainsi l’utilisateur a automatiquement 6*48 = 288 services en quelques lignes !

Pour le tester facilement

Comme à son habitude, l’équipe de Shinken fourni son outil sous forme de source installable facilement sur GNU/Linux ou Windows, mais également sous la forme d’une machine virtuelle pré-installée avec les interfaces de visualisation Thruk, Ninja et NagVis 🙂

Le tout est disponible sur le site officiel de l’outil : http://www.shinken-monitoring.org/download/

Aperçu de la roadmap

Cette version était importante pour le projet car c’est la première a être installable sereinement en production. Maintenant que les dernières fonctionnalités manquantes de Nagios sont rattrapées, il est temps pour l’équipe de repartir de plus belle vers des améliorations toujours plus intéressantes pour ses utilisateurs. Les principales nouvelles fonctionnalités de la version 0.5 seront :

  • Escalades de notifications basées sur le temps au lieu du nombre de notifications afin de plus facilement coller à la notion de SLA
  • « Cluster/business correlation » est une fonctionnalités pour agréger facilement des données de plusieurs services en un seul afin de représenter efficacement une application métier avec des règles puissantes comme des « et » ou des « ou ». C’est un peu un « addon business correlator » mais intégré dans le cœur afin de faciliter la configuration et d’avoir une sortie unifiée vers les interfaces de visualisation et la notion de problème/impacts déjà présente dans Shinken
  • L’arrivée de la notion de « criticité » des environnements afin de permettre aux utilisateurs de savoir facilement et rapidement ce sur quoi ils doivent travailler en priorité, et de faciliter la configuration dans le cadre des envois de SMS par exemple
  • la possibilité d’avoir des « downtimes » de contacts afin de pouvoir gérer facilement les vacances des utilisateurs 🙂

Les bases de l’outil étant bien posées, et les méthodes de développement efficaces étant bien intégrées, cette version ne devrait pas tarder à arriver 😉

Pour participer

L’équipe de développement est très ouverte, et toutes les aides sont les bienvenues. Vous pouvez obtenir les informations sur la mailing list sur la page http://www.shinken-monitoring.org/project-and-contact/ ou tout simplement voter pour vos choix d’orientations du projet sur le site des idées de Shinken disponible sur http://shinken.ideascale.com/ (inscription optionnelle). Si vous avez une idée pour améliorer l’outil, c’est le meilleur moyen de le dire 🙂

Leave a Comment