Shinken, la refonte de Nagios en Python, sort en version 0.1

Posté par (page perso) . Modéré par Nÿco.
33
1
juin
2010
Python
Le petit monde de la supervision open source est très animé ces derniers temps. Nagios reste la référence dans le domaine, mais de nombreux autres projets cherchent à le détrôner.

Un de ses concurrents est d'un type un peu particulier : c'est une réécriture complète du champion en Python ! Il se nomme Shinken et sa première version vient tout juste de sortir.

Pour ceux qui s'interrogent sur l'architecture du programme, elle est présentée sur le site de la communauté francophone de la supervision open source , ainsi que bien sûr sur le site du projet officiel. Elle fera également partie d'une conférence aux RMLL, raison de plus de venir sur Bordeaux début juillet.

Les auteurs attendent avec impatience les retours des tests de cette première vraie version et invitent tous ceux qui le souhaitent à participer à ce projet.

NdM : Jean Gabes avait commencé par présenter la version 0.1 de Shinken dans un journal avant cette dépêche. Nagios est en effet codé en C, Shinken est en pur Python. Ce choix a permis de mettre en place rapidement et facilement une architecture qui respecte la philosophie Unix (un outil par tâche) et qui s'oppose ainsi à la vue monolithique de Nagios.

La première version officielle de cet outil, la 0.1, vient de sortir .

Comme toute bonne réécriture, il peut réutiliser la configuration de Nagios ainsi que ses nombreuses sondes de vérifications. Mais il autorise également l'utilisateur à monter un environnement distribué hautement disponible très facilement, d'avoir un support de l'UTF-8, de fortes performances par rapport à Nagios et enfin d'être multiplateforme.

Son nom est celui d'un type de Katana très coupant. Il le tire de sa fonctionnalité la plus marquante : il est capable de découper automatiquement et intelligemment la configuration de l'utilisateur pour la distribuer sur les daemons de supervision.

Toutes les fonctionnalités de Nagios ne sont pas encore implémentées, mais les quelques manquantes sont rarement utilisées et ne devraient pas tarder. De nouvelles sont également déjà présentes et devraient intéresser de nombreux utilisateurs de Nagios comme la modification de retour de sonde à la volée en fonction de la période de temps, ainsi qu'une plus grande facilité de configuration des escalades de notifications.

Ce projet est encore jeune, et n'est donc pas destiné à investir vos serveurs de production à court terme, mais cette version 0.1 est déjà bien avancée, et est disponible pour feignants sous forme d'une machine virtuelle avec deux interfaces Nagios de visualisation pré-installées (Ninja et Thruk). Ceci permet au passage de pouvoir tester ces deux interfaces qui changent de celle limitée fournie avec Nagios.

Concernant l'aspect projet par rapport au projet Nagios originel, après un échec lors de la proposition en décembre dernier d'inclusion du code de Shinken dans une branche de développement de Nagios, une autre tentative est en cours avec la participation à seedcamp, concours organisé par Nagios pour récompenser les nouveaux projets innovants gravitant autour de la star des outils de supervision. En cas d'échec, le projet Shinken continuera sa route seul en tentant de garder le plus possible une compatibilité avec son grand frère jusqu'à ce que l'implacable loi de Darwin fasse son œuvre.
  • # Rapport avec les épisodes précédent ?

    Posté par . Évalué à 4.

    Je remarque que l'auteur de ce nouveau logiciel (concurrent / remplaçant de Nagios) est la même personne qui avait publié la dépêche intitulée "Nagios : l'auteur tente de museler sa communauté pour cause d'avoir été trop libre" [1].
    Ce nouveau logiciel est-il issu d'une volonté de s'éloigner de Nagios ou de son concepteur (projet politique) ou parce que techniquement le logiciel Nagios n'est pas satisfaisant (projet technique) ? Mais dans ce cas pourquoi ne pas contribuer directement au projet Nagios ?

    J'ai peu suivi la suite de "l'affaire" nagios-fr, mais j'ai du mal à voir dans cette initiative autre chose qu'une volonté d'attirer la communauté Nagios sur un autre projet communautaire. Ceci dit sans remettre en cause les qualités présentes ou à venir du logiciel "Shinken".

    [1] https://linuxfr.org//2010/02/24/26504.html
    • [^] # Re: Rapport avec les épisodes précédent ?

      Posté par . Évalué à 4.

      Justement, en lisant les dépêches et les journaux sur le sujet, j'ai l'impression que l'auteur a fait de son mieux pour continuer à travailler avec l'équipe de Nagios.

      Le journal mentionné dans la dépêche donne d'ailleurs plus d'informations sur l'historique.
    • [^] # Re: Rapport avec les épisodes précédent ?

      Posté par (page perso) . Évalué à 10.

      En effet, je suis la même personne, mais Shinken était déjà en cours depuis bien avant le soucis de droit sur le nom nagios entre ex-nagios-fr.org et Nagios Enterprise.

      Shinken n'est pas un projet renégat. Il est arrivé comme un proof of concept non public pendant plusieurs mois. Le but était à l'époque de corriger les bugs que j'avais vu dans Nagios lorsque j'ai rédigé un livre dessus. Il y avait des problèmes de conceptions lorsqu'on arrivait à vouloir monter des environnements distribués grosso-modo.

      Déjà auteur de plusieurs patchs pour Nagios (même après le début de Shinken d'ailleurs), j'avais présenté ces idées en offlist, mais il me fallait des preuves du bien fondé de mes idées (Pool de process pour les performances, division des processus pour la partie distribution).

      Toujours en off, j'ai développé le proof of concept et j'ai présenté les idées pour intégrations en C dans Nagios. Ce développement était donc purement technique. N'ayant aucune réponse j'ai continué le développement. Je suis arrivé à un point où il était plus facile de mettre dans le proof of concept ce qui manquait de Nagios, plutôt que de continuer à vouloir extraire les idées pour les porter en C.

      Là j'ai encore proposé une idée, mais plus originale, toujours en off : inclure le code du proof of concept dans une branche de développement. Toujours sans réponses (c'est une habitude sur le projet Nagios...), je relance ma proposition sur la mailing list (décembre, soit plus de 6 mois après le début du code finalement).

      Là les réactions ont étés vives, mais au moins il y a eu réaction! sauf de l'auteur par contre.

      C'est après cette histoire qu'est arrivée celle entre nagios-fr.org et l'auteur de Nagios. Histoire qui ne portait d'ailleurs pas du tout sur Shinken, mais sur Icinga, autre Fork de Nagios, soutenu par une société allemande.

      Je ne compte plus les mails que j'ai envoyé en off à l'auteur de Nagios avant et après la proposition sur la mailing list pour savoir ce qu'il en pensait, mais je dois tomber dans son filtre spam vu que je n'ai jamais eu une seule réponse.

      Là encore j'essaie d'intégrer le projet Nagios officiel en participant au concours seedcamp alors que le projet Shinken est déjà bien parti et pourrait s'en passer. Et devinez quoi? Et bien oui, le concours est soumis à modération, et pour l'instant ma proposition n'est pas encore validée pour ce concours alors que d'autres le sont.

      Il ne faut pas oublier que Shinken propose à l'heure actuelle des fonctionnalités qui ne devraient être présentes que dans quelques mois dans la version privatrice de Nagios. Ceci explique peut être cela après tout. Ça devient un peu politique, mais ce n'est pas pour me ravir, bien au contraire car je ne suis pas si doué que ça à ce petit jeu.
      • [^] # Re: Rapport avec les épisodes précédent ?

        Posté par . Évalué à 6.

        Je plussois, c'est vrai shinken est sur les rails ;-) depuis fort longtemps.

        La communauté EON (EyesOfNetwork), dont moi, surveillons d'extrêmement près depuis un long moment l'avancée de Shinken. Nous avons même pris sur la 2.0 quelques décisions concernant des updates pour ne pas nous fermer la porte.

        Concernant Nagios, bien avant NEB, nous avions, nous aussi proposer notre aide, et devinez quoi ? No answer.

        @++
        Athos10
        • [^] # Re: Rapport avec les épisodes précédent ?

          Posté par (page perso) . Évalué à 10.

          Bon, il fallait s'y attendre un peu, j'ai eu une réponse officielle (enfin ça y ressemble bien) de la part de la société derrière Nagios par l'intermédiaire un post twitter de la directrice de communication http://twitter.com/motherofnagios

          Si on oublie le message précédent qui lance encore un FUD sur la marque Nagios à propos du plus grand regroupement de la communauté allemande qui a eu lieu il y a quelques temps, on peut en tirer comme conclusion que, seedcamp étant là pour trouver les nouvelles idées pour le projet Nagios, Shinken n'a même pas le droit de présence (dommage, la communauté aurait peu être eu un avis différent qui sait) dans l'environnement Nagios.

          Pas de chance, il est tout de même là.

          Le projet Shinken ne va donc plus chercher à intégrer le projet Nagios, vu que ce dernier n'en veut pas. Je vais faire en sorte de garder une compatibilité maximale pour ceux qui souhaite migrer, mais on peut désormais considérer Shinken comme un Fork de Nagios à part entière.

          Et vive Darwin surtout :)
          • [^] # Re: Rapport avec les épisodes précédent ?

            Posté par . Évalué à 3.

            Rien à voir, mais je conseille de trouver un bon anglophone et de faire corriger le site Web de Shinken, parce que c'est une véritable horreur :S
          • [^] # Re: Rapport avec les épisodes précédent ?

            Posté par . Évalué à 2.

            > on peut désormais considérer Shinken comme un Fork de Nagios
            > à part entière.

            Corrige le néophyte que je suis si je me trompe, mais d'après ce que je comprends l'auteur de Nagios cherche à rentabiliser la marque et le produit, situation qui semble ne pas te plaire et tu souhaiterais bien attirer une partie de la communauté Nagios sur ton projet pour en faire un concurrent techniquement valable et géré de manière plus ouverte.
            Jusqu'ici j'ai bon ?

            Dans ces conditions tu n'as pas intérêt à te rapprocher de Icinga (ou des autres forks s'il en existe) histoire d'avoir plus de chances de réussir ? Vous allez grosso modo refaire les mêmes choses, avec peut-être des technos différentes mais en divisant les ressources. Et sur un projet libre, l'effet de masse est capital : si tu gères cela comme un pur projet technique, le risque est que, au delà des fonctionnalités, tu te retrouves seul avec 3 de tes amis à utiliser Shinken, et que tu baisses les bras au bout d'un moment.

            C'est ce qui s'est produit avec Nessus, plein de forks se sont montés quand Tennable a changé la licence. Aujourd'hui un seul fork survivote mais reste largué techniquement par le Nessus de Tennable.
            • [^] # Re: Rapport avec les épisodes précédent ?

              Posté par (page perso) . Évalué à 3.

              Ce qui me dérange n'est pas qu'il cherche à rentabiliser son outil. C'est même son droit le plus total. Non, ce qui me dérange est comment il s'y prends : en utilisant la communauté comme un simple argument marketing, et en orientant le développement vers sa solution privatrice, sans rien retourner au moteur initial.

              C'est un modèle Open Core. C'est légal, mais pas très moral sachant que la communauté a été la première force de Nagios.

              De plus jusqu'à maintenant Shinken avait pour vocation de réintégrer Nagios, même si son auteur l'aurait utilisé pour sa solution privatrice. Mais au moins la communauté pouvait encore le faire évoluer. En effet, les propositions d'évolutions sur Nagios ne sont pas écoutées. Ceci pose un léger soucis.

              Faire un lien avec Icinga pourquoi pas, je discute beaucoup avec eux ces temps-ci en effet. Reste à voir comment se ferra un tel rapprochement. L'aspect <techniquement compatible> c'est facile, en majorité déjà fait même si Shinken propose des notions de haut niveau pas encore fournies par Icinga web (leur module web, principale force d'Icinga).

              Par contre je ne chercherai pas à me couper d'autres partenaires comme Centreon par exemple. car j'adore Centreon que j'utilise tout de même tous les jours :)

              J'ai pleinement conscience de la division des forces, c'est bien pour ça que je mettais ma fierté de côté et que je demandais une inclusion dans Nagios canal historique. Mais vu que ce n'est pas possible, je suis bien obligé de proposer un nouveau choix à la communauté. J'espère seulement proposé une migration si facile que ceci ne posera pas de problème à tous les administrateurs.

              La version 0.2 de Shinken va justement être orientée vers l'industrialisation et la facilité de mise en place de l'outil. D'ailleurs ceux qui vont voir les sources doivent mieux s'y retrouver depuis le code de la semaine dernière.

              Shinken devait être la solution pour Nagios afin de lutter efficacement contre Zenoss et Zabbix. J'espère qu'il le sera, et que ce ne sera qu'un simple nom de paquet à changer lors de la mise en place de notre cher outil de supervision.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.