EA2012-Shinken

= Présentation =


 * Enseignants: Georges-Pierre Bonneau, Didier Donsez
 * Auteur: Noé-Jean Caramelli (Noe-Jean.Caramelli@e.ujf-grenoble.fr)
 * Télécharger : [[Media:Shinken.pdf]]

= Abstract =

Keywords
Shinken, Nagios

= Résumé =

Mots Clés
Shinken, Nagios

= Synthèse =

lien externe.

Shinken est un logiciel de surveillance de parc informatique. Mais d'où vient ce besoin ?

Le développement des réseaux
Ces dernières années, les réseaux se sont particulièrement développés. Les débits augmentent, et avec ceux, les possibilités. Les réseaux informatiques sont devenus un des piliers centraux de l'économie et du fonctionnement des entreprises, à la fois pour les communications, mais aussi pour les données vitales des entreprises (bases de données clients, stocks, …) et enfin pour la gestion des finances. En conséquence, l'état des machines assurant ces fonctionnalités devient de plus en plus critique à mesure que le papier est entièrement remplacé par des systèmes informatisés.

L’Expansion des systèmes d'information
L'autre raison de la naissance de ce besoin de supervision est l'augmentation du nombre et du type des machines interconnectées. Les réseaux ne se restreignent plus aux serveurs et ordinateurs de bureau traditionnels comme c'était le cas il y a quelques années. Les systèmes d'information des entreprises sont désormais constitués d'un parc de machines très hétérogènes tel que des téléphones VoIP, des imprimantes de plus en plus nombreuses, des appareils mobiles, des sondes, des caméra de surveillances, des pare-feu, des portails… Et cette diversification tends à évoluer vers l'internet des objets. Les caractéristiques et les constantes vitales des appareils connectés deviennent de plus en plus variées avec la diversification de leur type.

L'augmentation de la quantité d'information, la taille des réseaux et du type des machines mène à la création de services dont l'état est critique, et le besoin de supervision et d'administration de ces réseaux est de plus en plus important.

Un exemple
Voici l'exemple d'un réseau de serveurs (exchange.nagois.org) répartit à travers États-Unis, qui demande un système de supervision performant pour en assurer le fonctionnement et en connaître l'état.

Les outils de supervision
Il existe deux outils majeurs pour la supervision de parcs informatiques : Nagios et Shinken. Ces deux outils sont liés par l'histoire du développement des outils de supervision, puisque Shinken est directement inspiré de Nagios. Il est cependant important de préciser que la supervision ne se restreint pas à ces deux logiciels. Il existe d'autres méthodes de supervision et également d'autres logiciels et technologies qui viennent compléter les logiciels de supervision présentés ici, en leur ajoutant différentes couches.

Nagios
Nagios est céé en 1996 par Ethan Galstad dans le Minnesota (U.S.). Il repose sur un modèle centralisé et mono-démon. Il est sous licence GNU-GPL. Nagios est développé en C. En pratique, il résiste mal à une charge de plus de 200 machines. Bien sûr cela dépend des performances du réseau et du serveur de supervision utilisé, mais la limite imposée par l'architecture mono-demon apparaît rapidement. Elle constitue un goulot d'étranglement.

Shinken
Shinken est céé en 2010 par Jean Gabès diplômé en 2005 de l'ENSEIRB à Bordeaux. Il repose sur une architecture distribuée et est constitué d'un pool de démon. Pour prendre en compte l'aspect de mise en réseau apporté par l'aspect distribué du logiciel, mais aussi son utilisation qui n'a de sens que sur un réseau, il est placé sous licence GNU-AGPL. Il est développé en Python.

La suite de la présentation se concentre sur Shinken.

Les possibilités qu'offre Shinken
L'architecture distribuée de Shinken permet de mettre en place un système de supervision disponible avec une balance de charge. Sinken permet :
 * l'acquisition active des données grâce aux plugins : http://www.shinken-monitoring.org/wiki/official/thebasics-plugins/
 * l'acquisition passive grâce à NSCA/TSCA, des protocoles spécialisés dans cette fonction : http://www.shinken-monitoring.org/wiki/scaling_shinken/

De plus l'interface WebUI qui est fournie de base permet d'interpréter les données de performances et permet d'émettre des notifications sur l'état du parc informatique supervisé. Cette interface peut être complétée avec d'autres couches logicielles ou remplacée par une autre interface.

Le système des Packs permet une mise en place rapide de l'acquisition active des données. Il facilite la découverte, le partage et l'installation des fichiers de configuration nécessaires pour superviser un matériel spécifique ou spécialisé.

Les plugins sont indépendants de Shinken. Ils n'ont qu'une spécification (que l'on verra plus tard) à respecter pour fonctionner. Un plugin n'est en fait qu'un programme qui peut être écrit dans n'importe quel langage, Cela confère à Shinken une grande flexibilité.

Architecture de Shinken
Shinken est découpé en 6 démons
 * Arbiter : gestion configuration, assurance de disponibilité • Scheduler : ordonnance les checks (plugins). Analyse les résultats ; déclenche une action.
 * Poller : lance les plugins (requêtes Scheduler)
 * Reactionner : envoi des notifications et lance des actions (event handler)
 * Broker : Interface entre Shinken (scheduler) et l’extérieur (une BD)
 * Receiver : reçoit les données d’acquisition passive et les passe au sheduler pour traitement.

Statuts de l'état des composants
Les statuts (universel) :
 * 0 = OK
 * 1 = WARNING
 * 2 = CRITICAL
 * 3 = UNKNOW

Données métriques
Le statuts est couplé à des données métriques qui permettent d'avoir un historique des caractéristiques importantes du système et de prendre des décisions, des mesures ou de faire des actions plus fines que simplement avec le statuts.



Code
code : code source

= Sources =


 * liens