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

Posted by on 1 Juin 2010 in Nagios Powered, Planet | 6 comments

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.

6 Comments

  1. 2-6-2010

    Très bonne nouvelle, il ne me reste plus qu’un peu de temps pour pouvoir la tester…
    Moi qui risque d’avoir un projet en haute dispo d’ici peu, ça risque d’être court, mais bon…

    • 2-6-2010

      Au pire test et essaie de prévoir ton architecture en fonction d’une possible migration dans un ou deux ans. Par contre tu risque d’être un peu dégouté une fois que tu devras mettre en place ton architecture de production, mais ça je n’y peux rien 🙂

  2. 2-6-2010

    Hé hé, moi aussi, ça aurait été pile poil dans ce que je dois mettre en place en ce moment !!
    En tout cas, encore Félicitations pour ce projet ambitieux qui je l’espère aura un bel avenir 😉

    • 9-6-2010

      Pareil pour moi en ce moment, j’ai un projet où Shinken aurait bien sa place mais je ne peux pas le proposer par manque d’une interface d’administration 🙁

      Mais tu es sûre dès qu’il y a l’interface Web complète, je n’hésiterais pas car je sais que ça fera le café sur gros périmètre.

  3. 8-6-2010

    Jeu de mot jeu de mot, Shinken sort du bois et ça envoie du bois. La VM fournit c’est du Shinken prêt à l’emploi 🙂