Accueil🇫🇷Chercher

Shinken (logiciel)

Shinken est une application permettant la surveillance système et réseau. Elle surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GNU AGPL. Elle est complètement compatible avec le logiciel Nagios et elle a pour but d'apporter une supervision distribuée et hautement disponible facile à mettre en place. Démarré comme une preuve de concept pour Nagios sur les architectures distribuées[3], le programme a rapidement démontré des performances et une flexibilité bien plus importantes que son aîné Nagios.

Shinken
Description de l'image Shinken software Logo.png.

À la suite d'un refus en des développeurs de Nagios de voir Shinken devenir la nouvelle branche de développement de Nagios dans le futur[3] - [4], Shinken peut désormais être considéré comme un projet indépendant de système de surveillance système et réseau.

En , le développeur principal annonce lors de la sortie de la version 2.4 du logiciel qu'une fourche (Alignak) est créée[5].

Possibilités

Shinken possède une architecture novatrice :

  • Architecture distribuĂ©e, hautement disponible avec rĂ©partition de charge automatique.
  • Supporte la notion de multi-sites/clients grâce aux realms (royaumes).
  • Peut ĂŞtre exĂ©cutĂ© sous Windows, Linux et Android.

Shinken permet d'effectuer de l'acquisition active de données de façon parallèle et balancé sur plusieurs processus et plusieurs hôtes. Les méthodes actives suivantes sont supportées :

Shinken permet aussi une acquisition passive de donnée pour les déploiements à très grande échelle :

  • Acquisition par le protocole NSCA, TSCA (Apache Thrift), Service Web.
  • Acquisition de donnĂ©es pures, sans Ă©tats, par le protocole rĂ©seau de collectd.

Shinken possède aussi des caractéristiques de traitement puissantes :

  • PossibilitĂ© de dĂ©finir une hiĂ©rarchie dans le rĂ©seau pour pouvoir faire la diffĂ©rence entre un serveur en panne et un serveur injoignable.
  • PossibilitĂ© de dĂ©finir des dĂ©pendances entre des services.
  • CapacitĂ© de gestion des oscillations (nombreux passages d'un Ă©tat normal Ă  un Ă©tat d'erreur dans un temps court).
  • Recherche native des problèmes sources et suppression très efficace de faux positifs.
  • Associer un impact d'affaire Ă  un Ă©quipement ou service.
  • Association automatique de l'impact d'affaire Ă  des Ă©lĂ©ments parents ayant fait dĂ©faut.
  • Règles mĂ©tiers pour les Ă©tats, afin d'associer des règles logiques pour un ensemble d'Ă©tats.

Shinken permet de rendre disponibles les données de performance et d'état à des tiers :

  • Shinken possède une interface graphique native Shinken WebUI afin d'interagir avec le système.
  • Exportation de donnĂ©es de performance vers la BD de mĂ©trologie Graphite[6] ou PNP4Nagios(RRDtool).
  • IntĂ©gration native Ă  mĂŞme l'interface graphique Shinken WebUI, Thruk ou Multisite de la visualisation des donnĂ©es de performance de PNP ou Graphite.
  • API interactif Livestatus afin de rendre disponibles les Ă©tats, configurations et donnĂ©es de performance.
  • Acquittement des alertes par les administrateurs.
  • La remontĂ©e des alertes est entièrement paramĂ©trable grâce Ă  l'utilisation de plugins (alerte par courrier Ă©lectronique, SMS, etc.).

Shinken permet de créer ses propres plugins, dans le langage désiré. Il suffit de respecter la norme Nagios des codes retour :

  • 0 OK (tout va bien) ;
  • 1 WARNING (le seuil d'alerte est dĂ©passĂ©) ;
  • 2 CRITICAL (le service a un problème) ;
  • 3 UNKNOWN (impossible de connaĂ®tre l'Ă©tat du service).

La création de nouveaux plugins permet de répondre de façon personnalisée à tout besoin.

Shinken possède aussi un mĂ©canisme simple de « Pack » de supervision qui simplifie beaucoup la mise en place.

  • Les « Pack » sont disponibles sur le site communautaire de Shinken.
  • Les « Pack » et la dĂ©couverte sont gĂ©rĂ©s par le gestionnaire graphique SkonfUI.
  • Les « Pack » sont inclus de base dans Shinken et peuvent ĂŞtre dynamiquement mis Ă  jour par le gestionnaire Graphite de Shinken SkonfUI.

Shinken possède aussi d'autres caractéristiques notables :

  • Gestion des noms en UTF-8.

L'architecture de l'outil

Ce qui différencie Shinken de son aîné Nagios n'est pas tant le langage de programmation utilisé que son architecture, qui repose sur le principe Unix : à une tâche un outil. C'est pour cette raison que Shinken n'est pas monolithique comme Nagios, mais utilise six processus différents qui travaillent ensemble et permettent d'obtenir une flexibilité bien supérieure au Nagios originel.

C'est cette architecture qui permet d'obtenir la mise en place facile d'une supervision distribuée : un processus s'occupe de lire la configuration de l'utilisateur et la découpe intelligemment (en respectant les relations entre les éléments) afin de distribuer les morceaux vers des processus chargés d'absorber la charge de supervision. De cette manière, en cas de nouvelle charge, l'utilisateur peut rajouter des processus sans avoir à modifier sa configuration en profondeur. C'est un lissage de charge automatique.

C'est de ce choix architectural que vient le nom de logiciel. Shinken, un nom de katana très tranchant, représente l'objectif du projet, à savoir de découper la configuration pour la renvoyer sur des daemons.

Shinken se découpe en 6 modules[3] :

  • L’arbitre (Arbiter) : Il est responsable de la validation et du chargement de la configuration, la dĂ©coupe en diffĂ©rentes parties (N ordonnanceurs = N parties), et l’envoie aux autres Ă©lĂ©ments. Il gère Ă©galement la haute disponibilitĂ© : si un Ă©lĂ©ment devient injoignable, il redirige la configuration sur un autre. Il ne peut y en avoir qu’un seul actif dans l’architecture avec des "spare" aux fins de relève.
  • L’ordonnanceur (Scheduler) : Il est chargĂ© d’ordonnancer les checks, d’analyser leurs rĂ©sultats et de dĂ©clencher une action en fonction de ces derniers si c’est nĂ©cessaire. Ce n’est pas lui qui lance les checks ou les notifications, il ne fait que rediriger les informations. Il garde juste dans une file d’attente les checks en attente (pending) et notification pour les autres Ă©lĂ©ments (collecteurs ou "RĂ©actionneur"). Il peut y avoir plusieurs ordonnanceurs, c'est d'ailleurs conseillĂ©.
  • Le collecteur (Poller) : Son rĂ´le est de lancer les plugins en fonction des requĂŞtes des ordonnanceurs. Ces plugins, qui peuvent ĂŞtre ceux de Nagios, vont aller interroger le système surveillĂ© et retourner un rĂ©sultat indiquant l'Ă©tat. Lorsqu’un plugin renvoie un rĂ©sultat, il le transmet Ă  l’ordonnanceur. Il peut y avoir plusieurs collecteurs.
  • Le « rĂ©actionneur » (Reactionner) : il est chargĂ© de l'envoi des notifications et de lancer les « event_handlers » (action automatique programmable). Il peut en voir autant que l’administrateur en veut.
  • Le « courtier » (Broker) : Son rĂ´le est de prendre des donnĂ©es sur les schedulers (comme les statuts par exemple) et de les rendre disponibles Ă  l'externe de Shinken. Il fonctionne avec des modules. Il existe plusieurs de ces modules : export dans une base NDO, exporter vers une base de donnĂ©es Graphite, API interactif Livestatus, export vers syslog et autres modules. Un seul broker par Scheduler ou 1 broker pour multiples schedulers.
  • Le « receveur » (Receiver) : Son rĂ´le est de recevoir les donnĂ©es d'acquisition passive et de les acheminer vers le bon scheduler responsable de faire la corrĂ©lation et le traitement des statuts. Il possède divers modules d'Acquisition tels que NSCA, TSCA, Service Web, Command Pipe et autres. Il peut y avoir plusieurs receveurs.

Notes et références

  1. « Shinken 0.1 », sur github.com, (consulté le )
  2. « Shinken sort du bois : la version 0.1 est prête! », sur monitoring-fr.org, (consulté le )
  3. (fr) Shinken : quand un Python rencontre Nagios, par Jean Gabès, sur unixgarden.com
  4. Proposition d'inclusion de Shinken dans la branche de développement de Nagios sur https://sourceforge.net/mailarchive/message.php?msg_id=6f8615170912010909me433f0do3eb284c11def9dc4%40mail.gmail.com
  5. « Shinken 2.4 », sur linuxfr.org, (consulté le )
  6. http://www.shinken-monitoring.org/wiki/use_with_graphite « Copie archivée » (version du 23 juillet 2018 sur Internet Archive)

Voir aussi

Articles connexes

Autres logiciels de supervision
Divers

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.