Shinken 1.0 est de sortie

52
28
fév.
2012
Supervision

Le projet Shinken, outil de supervision et réécriture complète de Nagios, logiciel phare de la catégorie, continue son bonhomme de chemin et atteint une étape importante : la version 1.0. Depuis la dernière version, l'orientation du projet se tourne vers une facilité accrue de mise en place de l'outil, qu'il a hérité en partie de son aïeul.

Shinken

Parmi les nouveautés, nous en avons donc qui sont orientées pour les débutants avec un nouveau script d'installation de l'outil et de ses modules, et une armée de modèles de supervisions prêt à l'emploi. Les plus experts ne sont pas totalement oubliés non plus, avec par exemple la possibilité de lancer Shinken sur un système Android et obtenir alors une passerelle SMS pour l'envoi d'alertes mais également la prise en compte de soucis par la réception de SMS !

Les débutants chouchoutés

Le nouveau script d'installation prend en charge les systèmes Debian/Ubuntu et RedHat/CentOS. Il permet de mettre en place en quelques secondes un système Shinken complet, ainsi que les nombreux modules qui gravitent dans la sphère de la supervision, comme les interfaces NagVis ou Multisite.

Les modèles de supervisions prédéfinis sont nombreux et couvrent un large besoin des débutants. Parmi ces modèles, on notera par exemple Linux, Windows, VMware (ESX et VM), des systèmes de base de données (Oracle, MySQL, SQLServer et MongoDB), ainsi que des outils d’infrastructure plus classiques comme Active Directory ou Exchange.

Pour les plus aguerris

Les autres nouveautés sont également nombreuses.

Ainsi le module GLPI a été amélioré et permet désormais d'avoir un système totalement fonctionnel avec un FusionInventory/GLPI/Shinken. Plus de détails dans le lien dédié sur le site de son auteur.

Les règles métiers, qui permettent de calculer un état corrélé à partir d'autres indicateurs (comme calculer l'état d'une application en cluster en fonction de règles & | de ses services web et de bases de données), se voient rajouter une règle de « Not », qui permet ainsi de calculer les états des clusters actifs/passifs très simplement.

Les administrateurs qui ont des environnements réseaux complexes avec des sous-réseaux particuliers seront ravis d’apprendre qu'ils peuvent désormais « tagger » les hôtes pour qu'ils soient supervisés depuis un serveur dans ce sous réseaux (ou DMZ) simplement en définissant la plage d'IP de cette zone. Ceci facilite grandement la configuration.

L'interface web de Shinken n'est pas en reste, et gère désormais l'affichage des graphiques issus des outils PNP4Nagios et Graphite. Ce dernier est un moteur de données de performance très récent et qui est conçu pour les très grands environnements grâce à des performances bien plus élevées que les classiques fichiers RRD.

Et une interface de configuration, c'est pour quand?

S'il y a bien une demande qui revient très souvent aux oreilles des développeurs de Shinken, c'est bien celle là :) Et la réponse est : bientôt :)

Les briques sous-jacentes de cette interface commencent à se mettre en place, et un premier jet d'interface est même présent dans cette version, mais est très loin d'être pleinement utilisable.

La future interface de configuration va utiliser fortement le moteur de découverte, ainsi que les modèles des utilisateurs, afin de faciliter un maximum l'ajout de nouveaux hôtes, en tentant de détecter au mieux son ou ses types. Bien sûr les administrateurs auront la main sur ces règles de détection et pourront en rajouter d'autres très facilement. C'est ce système qui a été mis en place avec les modèles pré-définis, qui viennent tous avec une règle de détection.

Et pour participer ?

Entre donner un coup de main sur le code, écrire un peu de documentation ou donner son avis sur la roadmap, le choix est large :-)

  • # Yes !

    Posté par . Évalué à 10.

    On ajoute à tout ça un "chef de projet" réactif, sympa et accessible !
    Et ça donne un très bon projet. Qui évolue vite.

    Pour info, j'utilise Shinken sur un parc de 800 machines sans rencontrer de problème majeur. (Mis à part quand je configure avec mes moufles)
    C'est nettement plus rapide, moins consommateur en ressources que Nagios.
    Et surtout, c'est maintenable facilement pour qui connait un peu Python !

    Jonathan.

    • [^] # Re: Yes !

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

      Je tiens à signaler que je ne l'ais pas payé pour poster ce commentaire ;)

      Plus sérieusement, merci, ça fait toujours plaisir. Pour les performances, c'est en effet un intérêt majeur, mais j'espère qu'avec le temps on arrivera à montrer que les avancées sur la corrélation sont également importantes (la différentiation forte entre les problèmes sources et les impacts), voir peut-être même plus que juste une meilleure utilisation des CPU multi-cores actuels ;)

      • [^] # Re: Yes !

        Posté par . Évalué à 5.

        J'ai ton livre sur nagios dans ma bibliothèque, et je trouve ton travail excellent sur shinken.
        Ce que tu as réussi à développer en si peu de temps, est tout juste incroyable.
        Un grand merci!

    • [^] # Re: Yes !

      Posté par . Évalué à 2.

      pour comparer avec zabbix justement, tu monitores combien de variables sur tes 800 machines et ça te prend quelles ressources ?

      • [^] # Re: Yes !

        Posté par . Évalué à 1.

        J'ai plus de 6000 services en tout (essentiellement des checks NRPE).
        Pour les ressources, j'ai pas ces infos sous la main.
        Tu veux quel type de données ?

        • [^] # Re: Yes !

          Posté par . Évalué à 1.

          la cpu et la ram pour traiter tout ça par exemple … ça permet de voir la montée en charge sur une infra …

    • [^] # Re: Yes !

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

      Je confirme l’aspect réactif de l’équipe, et j’en ai usé et abusé…
      C’est d’ailleurs surprenant de se retrouver dans le changelog :-)

  • # Ça ne vient pas de moi...

    Posté par . Évalué à 2.

    A chaque fois que j'ai essayé Nagios ou un dérivé, j'ai toujours trouvé cela complexe, bien peu logique, même en passant par des distros comme FAN. Vu la raison d'être de Shinken, je constate que je ne suis pas le seul, ça fait plaisir.

    • [^] # Re: Ça ne vient pas de moi...

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

      C'est très (très) flexible et la configuration est à la limite d'un langage de programmation (héritage and co), donc le premier pas est très très lourd :(
      Mais on tente de corriger ça justement (pas moins flexible, mais de proposer un état "simple" pour les débutants, pour qu'ils ne partent pas d'une feuille blanche…)

      Par exemple, la première fois que j'ai mis un Nagios en place (2005), il m'a fallu 1 semaine pour le faire tourner correctement (non il n'y avait pas FAN à l'époque :p ). J'avais été d'ailleurs tellement dégouté que j'avais proposé Zabbix à mon maitre de stage…

      Donc oui, tu n'es pas le seul, loin de là :)

      • [^] # Re: Ça ne vient pas de moi...

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

        J'utilise nagios depuis pas mal d'années et je suis d'accord sur la complexité de la configuration : il ne faut surtout pas le faire "à la main".
        A mon travail, je génère la config par script (perl) depuis un annuaire ldap.

        Quand j'aurais un peu de temps, je compte bien regarder shinken

        • [^] # Re: Ça ne vient pas de moi...

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

          C'est un peu l'idée en effet :)

          En fait il y a déjà la possibilité de donner au moteur de découverte d'autres "sources" (pour l'instant on a en gros nmap et vmware) où il tirerait la liste des hôtes, et pourquoi pas des propriétés (par exemple si c'est dans une OU exchange, bah on tag exchange :p ). Ce module de découverte va être la base de l'outil de configuration, avec une utilisation hôte par hôte par exemple.

          Il va ainsi détecter le ou les types des nouveaux hôtes que l'administrateur souhaite rajouter, et les "tagguer" (genre "windows2008,exchange,europe,prod"). Puis là on aura l'application des templates. Ceux là seront définis par l'admin de supervision, avec par exemple des cas particuliers pour les hôtes europe&prod par exemple (genre on change les contacts pour l'europe).

          Point important surtout, c'est de rendre possible l'ajout de nouveaux hôtes à n'importe quel admin, pas juste celui qui est responsable de la supervision :p En gros lui il fait les templates, et les autres entrent/détectent et "taguent" leurs hôtes. C'est je pense un bon moyen de permettre à tous les membres de l'équipe de s’approprier l'outil de supervision, qui reste encore trop spécialisé, c'est dommage :)

          Quand tu auras un peu de temps, on pourra voir ensemble pour adapter ton script à ce fonctionnement par exemple (il faut juste qu'il print les informations, c'est très simple :p ), si tu es partant :)

  • # Surveilr

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

    Hello,
    j'ai vu une conférence au fosdem sur surveilr, un futur outil de supervision qui permettrai de se baser sur l'historique de l'état autant que sur l'état courant pour détecter les problèmes: par exemple si l'espace disque est sensé être autour des 90% , si d'un coup il descend à 10% c'est bizarre …

    ou si il est sensé faire une sinusoïdale, et que d'un coup il y à un gros écart vers le haut ou vers le bas c'est sans doute un problème aussi…

    Bref, pas juste se baser sur l'état à un instant T.

    Y a t'il des plans concernant une fonctionnalité similaire ?

    • [^] # Re: Surveilr

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

      C'est une brique, c'ets à dire que n'importe quel outil enverrai les retours de check a surveilr qui lui renvoi un état (qui peut donc être différent de l'état du check). Il fait une analyse comportementale. Ce projet a l'air pas mal, je pense qu'il vaut mieux se baser dessus quand il sera disponible.

      • [^] # Re: Surveilr

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

        Ah c'est malin, ça va me casser un effet d'annonce pour ce qui vient après l'UI de conf :)

        En gros oui, je comptais mettre en place un tel système, sous forme de module en fait (ce n'est pas utile pour tous les indicateurs, donc le mettre dans le cœur n'est pas très utile). J'ai pas mal creusé les algo de prédiction et autre trucs rigolo du genre ces derniers temps, et j'ai été content de voir ce projet car ça permettra de lui envoyer les infos en parallèle de la supervision "normal", et d'en tirer des alertes par la suite (typiquement une charge anormalement basse en effet, chose pas vraiment prévue en supervision classique).

        Donc oui, ça va venir, mais après l'UI de configuration je pense car c'est le besoin le plus criant. Mais ça va être juste après avec le calcul de KPI (en gros moyenne, max, min d'autres indicateurs, ou règles complexes que de simple & | ne peuvent gérer, cf le draft de ça sur le wiki de Shinken).

        S'il y en a qui ont déjà creusé surveilr, on peut voir à commencer les modules dès maintenant s'ils sont motivés :) (coder un module pour Shinken est très très simple, surtout si le travail "lourd" d'algo est fait par l'autre outil ;) ).

  • # Merci

    Posté par . Évalué à 2.

    un grand merci aux développeurs, maintenant que shinken a atteint une certaine niveau de maturité on peut envisager un passage en production, de plus l’interfaçage avec glpi et fusionInventory est très intéressant dans l'optique d'une gestion globalisée et d'une ré-utilisation de l'existant.

  • # Fedora

    Posté par . Évalué à 1.

    Le nouveau script d'install ne fonctionne pas avec fedora, y-a-t-il des soucis d’incompatibilités avec cette distribution ?

    • [^] # Re: Fedora

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

      Oui, il a été développé pour Debian/Ubuntu et Centos/RedHat. Pour Fedora, un package rpm est en cours de finition pour la 1.0, ou alors il faut utiliser l'ancienne version de l'installation, avec le setup.py.

Suivre le flux des commentaires

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