Xymon

Fiche logiciel validé
  • Création ou MAJ importante : 24/01/13
  • Correction mineure : 24/01/13
Mots-clés

Xymon : surveillance de serveurs, d'applications et de réseaux

Description
Fonctionnalités générales

Xymon (anciennement Hobbit – voir paragraphe Divers) est un logiciel qui permet de superviser en temps réel l'ensemble des éléments en réseau du système d'information (serveurs, routeurs, commutateurs réseau, baies de disques, imprimantes réseau...).

Cette supervision s'effectue à partir d'une interface web simple et conviviale, incluant des repères sous forme d’icônes et de codes couleurs. Ces icônes permettent de visualiser immédiatement l'état d'un système, d'une application ou d'un service sur deux critères : son niveau d'alerte (OK, Warning, Critical, No data, No report et Disabled) et la durée de cet état (inférieur ou supérieur à 24 heures).
A partir de cette interface, on peut aussi suivre l'historique des évènements d'un système à l'aide de tableaux ou de graphiques.
Il est également possible de configurer des alertes par mail dans le cas d'évènements critiques (système qui ne répond plus, partition disque supérieure à 90%, montages NFS non présents,...).

Au niveau architecture, Xymon est composé de deux services : un service serveur qui tourne sous apache et un service client à installer sur chaque système à monitorer (excepté sur le matériel purement réseau où seule la disponibilité de l'équipement est surveillée).

Outre la commande ping classique, les tests réseaux effectués nativement par Xymon concernent les fonctionnalités des protocoles  : ftp, ssh, smtp, pop, imap(s), nntp(s), ldap(s) query, http(s), ssl, ajp13, vnc, clamd, spamd, cupsd, rsync, oracle tns listener.
Il est possible d'écrire la définition de ses propres tests (par exemple pour surveiller d’autres services réseaux, le RAID logiciel sur les serveurs ou ses propres systèmes de sauvegardes).
Il existe également de nombreux plug-ins disponibles ici (souvent sous formes de script shell à rajouter sur le client).

Autres fonctionnalités
  • L'interface web présente des graphes permettant de suivre l'évolution des données surveillées.
  • Configuration sur la base de l'édition de quelques fichiers textes très simples.
  • Il est possible de définir des relations de dépendances entre les tests. Par exemple, si l'hôte ne répond pas au ping, il y a de fortes chances que les autres tests relatifs à cet hôte soient infructueux. Dans ce cas, au lieu de lancer de multiples alertes pour chaque tests, seule l'information que l'hôte ne répond plus est envoyé.
  • Si on surveille un grand nombre de serveurs et de services, il est possible de spécifier des "services critiques", avec plusieurs niveaux de priorité, qui seront regroupés sur une page spécifique.
  • Il est possible d'acquitter une alerte pour indiquer que le problème va être pris en charge.
  • Il est possible de désactiver un test temporairement pour éviter les alertes pendant une maintenance programmée.
Contexte d'utilisation dans mon laboratoire/service

A l'Institut d'Astrophysique Spatiale, nous utilisons Xymon pour superviser l'ensemble de nos serveurs et équipements réseaux. La page d'accueil de l'interface a été séparée par catégories de services (Serveurs réseau, Serveurs de calcul, Projets, Centre de données IDOC, Équipements réseau, Imprimantes et Extérieur) pour un total de 130 systèmes surveillés.

Xymon est également utilisé au CMLS et au CPHT.

Limitations, difficultés, fonctionnalités importantes non couvertes

Sur le serveur, les systèmes à surveiller sont rajoutés à la main dans un fichier de configuration. Aussi, lorsque le système est remplacé ou n'existe plus, il faut penser à le supprimer du fichier de configuration pour ne pas se retrouver avec de fausses alertes.

Le support de snmp n'est pas pris en charge nativement. Pour pouvoir monitorer l'état des équipements réseaux (imprimantes, switchs,...), il est possible par exemple d'utiliser le programme devmon et d'y associer des scripts pour Xymon.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Xymon est intégré dans la plupart des distributions Linux.
Sous debian, il faut installer sur le serveur les 2 packages xymon et xymon-plugins. Sur le client, seul le package xymon-client est nécessaire.

Un client pour windows existe (bbwin) et est disponible sur SourceForge.

Plates-formes

Linux

Logiciels connexes
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Eléments de pérennité

Sous licence libre, le projet est réactif. La dernière version (4.3.10) est sortie le 6 août 2012. En moyenne, une mise à jour de version majeure tous les deux ans (7 mises à jour de versions mineures en 2011 et 3 en 2012).

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Une liste de distribution en anglais xymon [at] xymon [dot] com : http://lists.xymon.com/

Documentation utilisateur

Sur le site de démonstration, une documentation et des exemples de fichiers de configuration très fournis.
Egalement la page Tips and Tricks très pratique.

La documentation est également accessible dans l'interface web de toute nouvelle installation de Xymon (Onglet Help).

Pour une configuration avancée de Xymon, la page wiki du projet donne de très nombreuses informations.

Divers (astuces, actualités, sécurité)

Inspiré par l'outil historique Big Brother (non libre), Xymon avait pour nom initial Hobbit. Mais pour des raisons de droits d'auteur (Hobbit, ça vous dit quelque chose ?!), il a du changer son nom en novembre 2008 à partir de la version 4.2.2. Voir l'annonce de l'époque sur la liste de diffusion Hobbit.

Astuce : le lien « All non-green view » dresse sur une unique page la liste de tous les systèmes qui sont dans un état « anormal ». Très pratique, cette page peut servir de page d’accueil sur son navigateur ou sur un écran de supervision afin de réagir rapidement en cas de problème critique.

Sécurité : il est très recommandé d'installer Xymon sur un espace intranet. Pour une supervision depuis l'extérieur, une possibilité est de surveiller les alertes par mail.