Shinken 1.4

Posté par  (site web personnel) . Édité par Xavier Teyssier, claudex et Benoît Sibaud. Modéré par patrick_g. Licence CC By‑SA.
25
27
mai
2013
Supervision

Après plus de 850 commits depuis la version 1.2, voici la version 1.4 de l'outil de supervision Shinken. Cette version (baptisée Jiggly Jerboa) améliore tant le cœur de l'outil que ses modules.

Outre les habituelles corrections de bugs, et des améliorations dans les packs de configurations prêts à l'emploi, certaines fonctionnalités sortent du lot :

  • possibilité d'avoir des vues spécialisées pour certains hôtes dans l'interface graphique de Shinken ;
  • un module d'import automatique des machines hébergées sur AWS/EC2
  • la possibilité de définir plusieurs niveaux de Brokers (collecteurs de données) entre ses datacenters ;
  • il est désormais possible de définir des seuils d'alertes variables en fonction du temps.

Concernant la prochaine version, les auteurs annoncent un travail permettant de gérer plus facilement les modules et les packs de configurations au sein de l'outil, et ce directement en ligne de commande.

La principale fonctionnalité annoncée est l'amélioration de la gestion des datacenters distants, avec la possibilité d'avoir un élément d'architecture relai gérant les notions de haute disponibilités.

Vues spécialisées

Il est désormais possible de définir des vues spécialisées dans WebUI, l'interface graphique de Shinken. Cette vue permet de rajouter des informations sur la page des hôtes. Ces informations sont à la charge de modules qui pourront alors réutiliser les données de Shinken, ou bien aller chercher eux même des données en temps réel sur les serveurs.

L'intérêt central de ce système est de permettre de donner aux administrateurs la vue qu'ils désirent à propos d'un serveur ou d'un équipement réseau. Avoir la même vue pour un routeur ou un serveur de base de données n'est pas très adapté.

Un premier module est déjà disponible. Il utilise l'outil Glances du Français Nicolas Hennion. Ceci permet à l'interface d'aller récupérer directement les informations depuis l'agent Glances installé sur un serveur distant. L’utilisateur aura donc accès à des vues donnant un équivalent de la commande ps directement depuis WebUI, et une vue permettant de visualiser facilement quel processus est le plus consommateur en terme de mémoire.

Pour voir un résultat de la vue mémoire avec Glances par exemple, voir ici.

Module AWS/EC2

Au vu de la facilité, et la vitesse, à laquelle les instances se créent sur les environnements « cloud » comme EC2, il n'est plus envisageable d'avoir à définir soit même la configuration de son outil de supervision. C'est pour cela qu'un nouveau module apparaît : AWS/EC2. Il permet d'aller interroger l'API EC2, et de charger directement les machines et leurs propriétés au sein de Shinken.

Améliorations de l'architecture des Brokers

Les Brokers sont les daemons responsables de l'exportation et la présentation des données dans Shinken. Dans les versions précédentes, il était possible d'avoir des datacenters distants avec chacun son ou ses daemons de données, mais ceci empêchait le placement d'un daemon central qui aurait eu accès à toutes les données. C'est désormais possible et même chaudement recommandé.

Il est ainsi possible d'avoir une WebUI sur chaque datacenter, qui n'auront accès qu'aux hôtes locaux, et une WebUI centrale avec toutes les données.

Il est possible de détourner cette fonctionnalité pour avoir au sein d'un même datacenter des spécialisations de chaque Broker, l'un s'occupant des données de performances, quand un autre sera chargé de l'interface Graphique par exemple.

Seuils variables dans le temps

Il était déjà possible de définir ses seuils d'alertes directement sur les objets hôtes (ou leurs templates) au sein de Shinken. Il est désormais possible de prévoir une modulation dans le temps de ces seuils. Prévoir une montée en charge lors d'une période de backup tout en gardant des seuils bas pour la période ouvrée est donc très facile à mettre en œuvre.

Dans la prochaine version

La prochaine version, qui sera a priori la 1.6, devrait arriver plus rapidement que ne l'a été la 1.4. Une seule grosse fonctionnalité est prévue, à savoir le fait de pouvoir déléguer la gestion de la haute disponibilité d'un datacenter à un élément placé sur ce même datacenter.

Les autres modifications seront plutôt orientées autour de la gestion des nombreux packs de configuration et des modules. Leur nombre est très important dans la version actuelle de Shinken (plus de 50 modules, et près de 30 packs de configurations), mais leur gestion lors des mises à jours n'est pas des plus aisées. Les efforts vont donc porter pour découpler la vie de ces éléments de celle du cœur du projet. Il sera également plus facile de contribuer à la rédaction de nouveaux modules et de packs au sein du projet.

Rencontrer l'équipe à Solution Linux

Si vous souhaitez rencontrer la partie francophone de l'équipe du projet Shinken, elle sera du côté de Solution Linux les 28 et 29 mai. Le leader du projet (Jean Gabès) donnera même une conférence sur l'outil le 29 en fin de matinée.

Aller plus loin

  • # Tutoriel d'installation

    Posté par  . Évalué à 4.

    J'avais créé un tutoriel d'installation pour Shinken, qui m'a permis d'avoir mon BTS Informatique (Merci Naparuba ! Tu m'as fait obtenir indirectement mon examen ! :D) - Disponible ici -> http://idealogeek.fr/dossiers-idealogeek/shinken/
    Quelques pages sont en cours de révisions, et d'autres en "construction" - Je suis ouvert à toute critique ! ;-).

  • # seuils d'alertes variables

    Posté par  . Évalué à 2.

    il est désormais possible de définir des seuils d'alertes variables en fonction du temps.

    Ah, super comme fonctionnalité ! Marre d'avoir 2 checks cpu pour la journée et la nuit :)

  • # Une phrase de définition ?

    Posté par  . Évalué à 9.

    Euh… Juste pour info, tout le monde n'est pas forcément au courant de ce qu'est votre programme.
    Je sais que vous vous avez le nez dans le guidon et que vous bossez à fond dessus et que ça vous paraît évident, mais ça serait sympa de penser au newbies… C'est un peu pour eux que vous faites des news, non ? Histoire de les tenir au courant de ce qui existe dans la communauté ?
    Alors SVP, remettez une petite phrase rapidos en début des dépêches de ce genre, pour rappeler vite fait ce que fait votre soft :)

    Merci
    Un n00bs…

    • [^] # Re: Une phrase de définition ?

      Posté par  . Évalué à 8.

      Shinken, c'est un outil de monitoring. C'est-à-dire qu'il surveille le fonctionnement des éléments du réseau (switch, routeur, serveurs), de manière très simple (un bête ping) ou plus complexe (état de la RAM, de la charge, de l'espace disque, du débit des interfaces réseaux). Le but est d'avoir des alertes quand quelque chose ne fonctionne plus avant que ce ne soit trop tard (ah tiens, ça fait 3 mois que les disques du serveur de backup sont, ah tiens, mes deux switchs en redondance sont mort).

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Une phrase de définition ?

      Posté par  . Évalué à 6.

      Shinken c'est la catégorie des katanas les plus tranchants.

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # télécharger le tutoriel proposé par JulienH

    Posté par  (site web personnel) . Évalué à 1.

    Bonsoir,
    Cela doit-être possible de faire fonctionner Shinken dans une VM sous Debian ?

    J'ai pas pu télécharger le tutoriel proposé par JulienH , j'ai posté une demande d'un fichier tutos en *.pdf ou *
    html.
    Pour que je puisse tester la chose.

    Librement

  • # Quelques petites questions

    Posté par  . Évalué à 1.

    Un grand chapeau d'abord pour votre soft qui à l'air vraiment complet !
    Je ne le connaissais pas d'ailleurs, donc pour le coup, la news est bien utile !

    Je me demandais, vu que vous avez de l’expérience dans le domaine (j'en ai très peu là dedans), quels sont le genre de softs que vous utilisez au quotidien pour le monitoring linkés avec Shinken ?

    C'étais quoi le plus dur à coder dans ce projet d'ailleurs, vous avez eu des parties bloquantes ? (curiosité personnelle).

    • [^] # Re: Quelques petites questions

      Posté par  (site web personnel) . Évalué à 2.

      Concernant les outils liés, ce sont surtout tout ce qui est lié aux logs (logstash & co) et des outils de visualisations de graphes (genere PNP4Nagios ou Graphite).

      Pour la partie la plus difficile, c'était clairement le calcul correct des périodes de temps, avec des cas un peu tordu genre "le prochain avant dernier mardi de novembre sachant qu'on est en décembre et qu'on a exclu les jours pairs du mois". Faire un algo efficace et complet pour résoudre ça m'a demandé 1 mois complet à l'époque. Certaines autres fonctionnalités n'étaient pas triviales non plus, mais rien d'un tel ordre de complexité :)

  • # Juste un idée a rajouter sur la pile

    Posté par  (site web personnel) . Évalué à 1.

    Bonjour jean,

    Je suis le dev de shinken depuis le début, ainsi que tes articles dans divers magazines.
    Quand je vois le niveau de shinken je me dit qu'il ne manque pas grand chose pour ajouter une fonctionnalité de type ordonnanceur (Style CTRL-M ou $UNIVERSE) qu'en pense tu ?
    La structure est la, shinken sais remonter des informations, pourrait il declencher une actions ?
    et remonter l'informations sur le status ?
    Cela pourrait devenir l'outil d'administration ultime …
    Imagine … la supervision, la sauvegarde, les purges de fichiers temporaires, le nettoyage des bdd
    tout dans un seul outil !

    A+
    chris

    • [^] # Re: Juste un idée a rajouter sur la pile

      Posté par  (site web personnel) . Évalué à 2.

      En fait c'est déjà possible de le détourner pour ça. Ce qu'il va manquer c'est justement les enchainements entre des actions. Shinken le fait, mais quand ça va "mal", un $U le fait au contraire quand ça va bien. Sinon conceptuellement ça reste lancer des scripts sur certaines périodes de temps bien précises, et les enchainer suivant les résultats :)

      • [^] # Re: Juste un idée a rajouter sur la pile

        Posté par  . Évalué à 4.

        Avis perso : il existe déjà des ordonnanceurs. Inutile d'en créer un de plus.
        Par contre faciliter le dialogue avec un/des ordonnanceur/s, ça oui.
        Un outil de supervision qui ne sait pas déclencher des actions, ça limite beaucoup son utilité. Shinken sait déclencher des actions, donc facile de mettre le bon script derrière.

  • # Oui c'est cela !

    Posté par  (site web personnel) . Évalué à 2.

    Merci pour ta réponse Jean,

    j'ai taté un peu du CTRL-M il y a quelques temps, et n'ai rien trouvé dans le libre (enfin de facile a trouver)
    Et quand tu réfléchi à la structure d'un tel outils … tu tombes sur l'architecture que tu as pondu pour Shinken.
    a peu de choses prêt.

    Je n'ai pas encore mis Shinken en production, (j'aurais quelques dizaines de VM/Serveurs a suivre) par manque de temps mais le besoin est la !
    Bravo pour ton boulot et le partage de ton travail.

    Merci
    A+
    chris

    • [^] # Re: Oui c'est cela !

      Posté par  . Évalué à 2.

      je ne connais CTRL-M que de non mais si c'est bien un ordonnanceur de tâche il y en a également dans le monde du libre/oss (par exemple jobscheduler ou quartz)

      • [^] # Re: Oui c'est cela !

        Posté par  (site web personnel) . Évalué à 4. Dernière modification le 28 mai 2013 à 11:44.

        je ne connais CTRL-M que de non mais si c'est bien un ordonnanceur de tâche il y en a également dans le monde du libre/oss (par exemple jobscheduler ou quartz)

        Qui sont tous les 2 codé en java, et je sais comment cela va se terminer …
        plus de RAM dispo la swap à 100 %, la supervision qui vomit des alertes, les utilisateurs qui hurlent, les sauvegardes pas faites
        et en général le 24 Décembre à 17h30 :)

        Non je préfères attendre le bon produit qui va bien … :) et puis nos scripts shell tiennent le choc :)

        Pour l'instant c'est pas une priorité, avant j'aurais mis en oeuvre des outils comme shinken en interne mais aussi pour superviser
        les infra structures de mes clients.

        A+
        chris

        • [^] # Re: Oui c'est cela !

          Posté par  . Évalué à 2.

          Je ne connais pas du tout le monde des ordonnanceurs, mais un cfengine bien configuré qui déploie des tâches cron, ce ne serait pas suffisant ? Ou bien le boulot d'un ordonnance est-il plus complexe ?

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

          • [^] # Re: Oui c'est cela !

            Posté par  (site web personnel) . Évalué à 2.

            mais un cfengine bien configuré qui déploie des tâches cron

            À moins d'avoir besoin d'une précision millimétrique, autant utiliser cfengine pour remplacer cron !

          • [^] # Re: Oui c'est cela !

            Posté par  (site web personnel) . Évalué à 2.

            Un ordonnanceur style CTRL-M c'est un MEGA-SUPER-(ajouter votre superlatif ici) Crontab.

            A partir d'un interface graphique tu controler, superviser l'execution, l'enchainement de batchs et autres scripts sur un nombre N de machines.

            je l'ai vu tourner sur avec N = environ 3000 serveurs (a peu pres je me souviens plus)
            mais il existe des situations ou N est supérieur a 10000

            Avec des arborescences de fous sur une douzaine de niveau , si un batch se plante lancer un autre etc …

            Le plus impressionnant c'est la gestion des ressources.
            Exemple : j'ai 3 drives de sauvegarde LTO
            J'ai 12 batch de sauvegarde, mais ils attendent qu'au moins un lecteur soit libre pour s'activer etc …

            Et si on réfléchis un tant soit peu a l'architecture logicielle du "bidule" on est TRES TRES proche de celle de la supervision. Et particulierement de Shinken

            J'aimerais me lancer dans ce genre de projet, mais il me faudrait de journées de 32 heures
            ( 8h de boulot, 8h de sommeil, 8h de loisirs, 8h pour coder)

      • [^] # Re: Oui c'est cela !

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        Il y a aussi Torque.

        • [^] # Re: Oui c'est cela !

          Posté par  (site web personnel) . Évalué à -1.

          Cela a l'air pas mal, sauf que c'est du perl
          peut être que si je me remets a sniffer de la colle, je pourrais re coder en perl et comprendre les sources :)

          A tester (je mets sur la pile)

          Merci

          • [^] # Re: Oui c'est cela !

            Posté par  . Évalué à 6.

            Pas de java, pas de perl …
            Bon courage pour la recherche ;)

      • [^] # Re: Oui c'est cela !

        Posté par  . Évalué à 1.

        Le truc qui fait que (pour moi) jobscheduler n'a pas la maturité pour une mise en production "professionnelle", c'est l'absence d'agent en 64 bits. Il n'y a que scheduler principal, et encore tronqué de pas mal de fonctionnalités (pas de wrapping perl par ex). J'ai proposé mon aide au dev de Gmbh(sos-berlin) qui est en interface, mais pour l'instant pas de réponse depuis février (il m'a répondu sur d'autres points, mais pas sur l'éventualité de mon aide ni d'une date de release). Une autre chose qui limite l'aspect libre et surtout communautaire, est que l'on a pas accès à leur SCM directement, les sources ne sont accessibles que via un tarball au moment de la release …
        Donc non, il n'existe pas encore de scheduler multi-plateforme digne de ce nom dans la sphère libre.

        • [^] # Re: Oui c'est cela !

          Posté par  (site web personnel) . Évalué à 1.

          Donc non, il n'existe pas encore de scheduler multi-plateforme digne de ce nom dans la sphère libre.

          Et le besoin va se faire sentir …

          Quand je regarde ce qui existe dans le monde libre, le travail effectué pour disposer d'outils libre est ENORME, mais il en reste encore beaucoup.

          Parmi ceux que j'ai noter : un ordonnanceur (style CTRL-M) et le transfert de fichier style CFT
          et il doit y en avoir d'autres …

          A+
          chris

          • [^] # Re: Oui c'est cela !

            Posté par  (site web personnel, Mastodon) . Évalué à 2.

            Quand je regarde ce qui existe dans le monde libre, le travail effectué pour disposer d'outils libre est ENORME, mais il en reste encore beaucoup.

            Parmi ceux que j'ai noter : un ordonnanceur (style CTRL-M) et le transfert de fichier style CFT

            En quoi Waarp aurait-il à rougir en face de ce bouzin qu'est CFT ?

            • [^] # Re: Oui c'est cela !

              Posté par  (site web personnel) . Évalué à 1.

              Ah merci, je retrouvais plus le journal qui en parlait.
              Surtout que je voulais le tester pour voir les limites.
              On dirait que cela a pris du grade … et c'est une bonne chose
              Encore un truc a mettre sur la pile :)

              CFT ce n'est pas le produit qu'il faut blamer, une fois que tu as compris les principes de bases, qui deviennent evident une fois assimilé, le produit marche bien.
              Surtout depuis que TCP/IP a balayer les autres protocoles je pense.
              Pour echanger des fichiers faut être 2, si en face il debute avec CFT il faut s'entraider, et la ca marche. Tout les véterans de CFT / Pelican et autres m'ont aidés a progresser avec le produit.
              Le pire c'est ceux qui ne veulent pas communiquer ou uniquement a travers un chef de projet, ou qui ne veulent pas avouer qu'ils debutent avec CFT.

              Non ce n'est pas le produit, mais l'editeur Axway … avec 80% (voire plus maintenant) de part de marché il font ce qu'ils veulent.

              Exemple :
              6 mois de test avec la version 2.7 et quand j'ai voulu deployer en prod => Non mr desole mais la v2.7 n'est plus au catalogue, maintenant c'est la v3.0 (mieux lave plus blanc etc …)
              Non non vous ne pouvez pas l'installer vous même, sinon pas de support
              Non non pas de version 2.7 plus de support (ce qui etait faux d'ailleurs)
              Combien l'install ? 2 jours a 1200 euros (je sais meme pas si c'etait pas plus)
              Bref heureusement que l'installateur etait un vrai techno qui m'a appris plein de choses et que cela a presque marché du premier coup.

              Bref je veux bien croire que les commerciaux c'est comme les coloscopies, un mal nécessaire, mais bon.

      • [^] # Jobscheduler : oui mais ....

        Posté par  . Évalué à 1.

        Jobscheduler est plutôt pas mal sur le papier, mais en pratique c'est pas la même : doc assez exhaustive pour le niveau mais très fouillie et ça manque d'exemples de plus grande envergure. Ensuite il maque en agent 64bits, qui est en cours de préparation depuis février selon le dev en interface chez sos-berlin, mais pour l'instant rien. J'ai proposé mon aide, et je me suis intéressé aux problèmes rencontrés lors du portage : pas de réponse.
        Un autre point c'est le manque de visibilité, et l'aspect communautaire un peu difficile à comprendre : le SCM n'est pas accessible même en anonymous, donc on ne peut pas vraiment participer au dev, ni même suivre les développements en cours.
        Donc affaire à suivre, et en effet dans la sphère du libre, a priori il y a encore un créneau à prendre en ce qui concerne les schedulers multi-plateformes (dans le sens d'une tâche composée de plusieurs sous-tâches distribuées sur des machines différentes et coordonnées par un élément central).

  • # shinken v1.4 et skonf

    Posté par  . Évalué à 1. Dernière modification le 28 mai 2013 à 17:24.

    J'ai migré sur la V1.4 et j'ai remarqué que l'interface SKONF avait disparue alors qu'elle était en béta avant? Sa aurais pu être sympa une version finale de l'outil :)

    • [^] # Re: shinken v1.4 et skonf

      Posté par  (site web personnel) . Évalué à 1.

      En fait elle est juste cachée, il est très simple de la réactiver, mais vu qu'on a pas eu de temps pour l'avancer, et qu'on a eu pas mal de posts sur le forums sur "pourquoi ça bug là?" avec très très peu d'aide ensuite, j'ai préféré la cacher afin que seuls des personnes motivées et qui comprennent ce que beta signifie y auront accès :)

      • [^] # Re: shinken v1.4 et skonf

        Posté par  . Évalué à 0.

        Je cherchais aussi les updates dans le git côté skonf, j'ai donc ma réponse !
        Même s'il est en bêta, un outil bien intéressant pour les flemmards comme moi qui testent
        la dernière release shinken et la possibilité d'administrer en web frontend,
        déployant zabbix dans ma mission actuelle…

  • # Collectd

    Posté par  (site web personnel) . Évalué à 1.

    Une question que je me pose depuis la 1.2 et l'intégration de Collectd (non je ne l'ai pas installé, ni fouillé dans la doc); si j'ai bien compris vous avez implémenté le protocole réseau de collectd au sein du serveur (ou d'un module) de shinken.
    Le point fort de Collectd intégré à RRDCached est son optimisation de collecte (chez nous plus de 100 000 RRDs avec une collecte en moyenne toutes les 30s le tout réceptionné sur un serveur à 4000€).
    Shinken supporte-t-il une "connexion" avec RRDCached ?
    Et pendant que j'y suis: Shinken a-t-il une interface "sympa" pour grapher ces RRDs ? si oui, est-il possible de garder un fonctionnement de collectd "classique" et d'intégrer notre arbre de RRD à cette interface ?

    Merci

    Is it a Bird? Is it a Plane?? No, it's Super Poil !!!

    • [^] # Re: Collectd

      Posté par  (site web personnel) . Évalué à 3.

      En effet, un module de Shinken permet de transformer des data lues des nodes collectd en data pour des services Shinken. ensuite ils seront soit transférés aux backend de perfdata (genre PNP ou Graphite), mais certaines données peuvent également être "analysées" afin de vérifier si elles sont bonnes ou pas.

      Shinken ne garde pas lui même l'historique et ça ne fait que transiter par lui, donc point de RRDCache dans l'histoire (mais PNP le gère lui par contre à la sortie).

      Pour les graphiques, les deux poids lourds restent PNP et Graphite. Je préfère ce dernier car il est possible de le mettre en architecture hautement disponible, même si le rendu des graphiques est très… moche faut le dire :)

Suivre le flux des commentaires

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