Shinken sort du bois : la version 0.1 est prête!

Enfin la version 0.1, et quelle version!

L'équipe de Shinken vient d'annoncer la première version officielle de son outil. Cette version 0.1 n'est pas encore pleinement testée et n'est donc pas destinée à arriver aujourd'hui sur vos environnements de production, mais devrait envahir les environnements de qualification sous peu aux vues des fonctionnalités proposées qui sont tout bonnement impressionnantes.

Rappel sur ce qu'est Shinken

Le projet Shinken consiste en une refonte complète du cœur de Nagios en Python, lui apportant une nouvelle architecture plus souple et plus facile à maintenir que le daemon monolithique actuel. Se basant sur une vue Unix, l'architecture se compose de daemons simples qui coopèrent afin de proposer les mêmes fonctionnalités que Nagios, voir plus.

Ainsi en se basant sur la configuration actuelle de Nagios, ainsi que ses innombrables sondes, Shinken est capable de remplacer Nagios dans la supervision classique :

  • vérifications des états SOFT/HARD
  • gestion des dépendances réseaux et logiques (applicatives)
  • gestion des actions correctrices
  • supervision active et passive
  • vérification de la fraicheur des informations dans le cadre de la supervision passive

Mais il est également possible d'obtenir bien plus qu'un Nagios standard :

  • supervision distribuée hautement disponible très facile à mettre en place, et de manière intégrée à la configuration globale
  • gestion des noms en UTF-8
  • presque 5 fois plus de performances que le Nagios classique
  • Multiplateforme : tourne nativement sur GNU/Linux et Windows. Il est même possible de mixer les deux dans une même architecture!

Ces innovations sont dues principalement au choix de Python qui a permis d'avoir une nouvelle architecture très facilement. Les différents éléments de celle-ci sont :

  • Arbiter (Arbitre) : il est en charge de lire la configuration et de l'envoyer aux autres éléments. Il est capable de découper la configuration globale de l'utilisateur afin d'en faire des petits morceaux qui seront pris en charge par les autres éléments. Ceci permet d'avoir une supervision distribuée de manière automatique. C'est également la tour de contrôle de l'ensemble : si un autre élément tombe, il envoi la configuration de ce dernier à un élément de secours qui va reprendre le flambeau, assurant ainsi la haute disponibilité. Enfin, c'est lui qui centralise les demandes des utilisateurs et les transmets au reste de l'architecture.
  • Schedulers (ordonnanceurs) : ils ont pour rôle d'ordonnancer les vérifications, et c'est tout : ils ne lancent rien eux mêmes, mais proposent des files d'attentes pour les autres éléments qui vont venir piocher leur travail. Il peut y en avoir autant que l'utilisateur le souhaite.
  • Pollers (travailleurs) : Ils sont là pour venir prendre les sondes à lancer auprès des ordonnanceurs, les lancer et retourner les résultats. C'est tout. Plus il y a de pollers, meilleures sont les performances.
  • Reactionners (éléments réactifs) : typiquement unique, un tel élément permet de centraliser les notifications et les actions correctrices de tous les ordonnanceurs au même endroit. Plus besoin de demander 20 autorisations SMTP, une seule suffit désormais.
  • Broker (récupérateur) : également unique, il récupère toute les données des ordonnanceurs et les fournies à des modules. Ces derniers en font ce qu'ils veulent, à savoir les exporter dans différentes bases comme NDO en MySQL ou Oracle, base Merlin, fichier plat Nagios standard ou encore fichier de performances des services qui recueillera automatiquement les données de tous les ordonnanceurs! Plus besoin d'aller mettre en place des transferts par SCP dans cron. Un module Livestatus est également disponible ainsi qu'un module CouchDB bien qu'aucun client pour ce dernier n'existe pour l'instant :)

Cette architecture permet une très grande flexibilité et est la meilleure raison de tester Shinken. Elle peut être vue en action dans l'animation suivante :

Tester facilement la version 0.1

Si mettre en place Shinken est simple (il n'a besoin que de deux paquets standard et aucune compilation), ses auteurs ont pensés aux plus feignant d'entre nous : une machine virtuelle toute prête est disponible sur les site officiel. Une fois lancée, il suffit de se connecter avec le compte shinken/shinken et de lancer ./launch_all.sh. C'est tout. Le reste se passe sur l'interface web fournie avec la machine sur http://IPDELAVM/. Elle propose pour l'instant deux interfaces de visualisations : Ninja et Thruk. Ceci permet au passage à ceux qui n'ont pas eu le courage de monter un environnement de test pour ces dernières de voir un peu ce que ça donne.

Les auteurs de Shinken tiennent d'ailleurs à remercier chaleureusement l'équipe de monitoring-fr.org car c'est l'infrastructure de cette dernière qui héberge la machine virtuelle ;)

L'avenir de Shinken

Cette version 0.1 est importante à plus d'un titre pour Shinken. Outre le fait d'être la première véritable version officielle du projet, elle sera également présentée au concours seedcamp qui vient d'être ouvert par l'équipe de Nagios. Il va récompenser les meilleurs nouveaux outils pour Nagios.

Shinken va ainsi (re)demander par ce biais à intégrer officiellement la branche de développement de Nagios. En cas de refus, ce projet continuera seul et nous arriverons à une probable division de la communauté. Mais au moins la concurrence des projets sera bénéfique pour tous les utilisateurs de logiciel de supervision Open Source, et c'est bien ce qui compte.

RSur le même sujet:

  1. Shinken : Le blaireau sort de sa tanière Source : http://www.shinken-monitoring.org/news/the-0–2-version-is-out/ Comme énoncé lors de la conférence de Jean Gabès aux RMLL 2010, l’arrivée de la version 0.2 de Shinken surnommé “Bold Badger” est sortie courant septembre. Pour le moment, vous pouvez tester la version 0.2 en installant Shinken via les sources (la...
  2. Shinken : Le brame du Caribou Et oui, encore une nouvelle version de Shinken et un nom de code sorti d’une imagination on ne peux plus tordue. Cette version 0.3 nommée Crappy Caribou (littéralement Caribou dégueux) est sortie ce 5 octobre. Elle fait suite à la 0.2 (Blaireau chauve) en un...
  3. Shinken : Nagios Core killler ? Une proposition étonnante a eu lieu sur la mailing list de développement de Nagios. Jean Gabès propose ni plus ni moins que de changer l’implémentation en C du cœur de Nagios par une nouvelle faite en Python qui est plus rapide et plus modulaire. Le...
  4. Shinken Page en cours de construction Le projet Shinken consiste en une refonte complète du cœur de Nagios en Python, lui apportant une nouvelle architecture plus souple et plus facile à maintenir que le daemon monolithique actuel. Se basant sur une vue Unix, l’architecture se compose...
  5. Nouvelle Version 1.1.3 de check_MK Même si il n’y a pas d’annonce officielle sur le site de mathias , check_mk est sorti en version 1.1.3. Pour rappel check_mk est un ensemble constitué de : Un agent de supervision (qui fonctionne sur linux, solaris, aix, windows …) Des plugins de check...

Vus : 671
Publié par Monitoring-FR : 139