Supervision, un peu d'histoire

Nagios, Icinga, Xymon : les anciens qui tiennent bon

Ils supervisaient vos serveurs quand le cloud désignait encore la météo. Ils tournent toujours, et ils ont encore deux ou trois choses à nous apprendre.

Niveau intermédiaire  ·  Lecture 10 min  ·  Mise à jour octobre 2026

Dans chaque salle serveur un peu ancienne, il existe une machine que personne n'ose éteindre. Elle porte un nom de planète ou de personnage de dessin animé, elle n'a pas été redémarrée depuis une mise à jour du noyau dont plus personne ne se souvient, et elle fait tourner un Nagios configuré par quelqu'un qui a quitté l'entreprise en 2011. Le plus troublant, c'est qu'elle fonctionne. Elle envoie ses alertes, et elles sont justes.

Cet article rend hommage à ces anciens, sans nostalgie excessive : ce qu'ils font encore mieux que les outils récents, ce qu'il ne faut plus leur demander, et comment décider de leur sort.

01Une courte généalogie

AnnéeÉvénement
Milieu des années 1990Big Brother affiche l'état d'un parc sous forme de grille de pastilles colorées. Code disponible, licence non libre.
1999Ethan Galstad publie NetSaint, qui deviendra Nagios en 2002 pour une question de marque.
2002Henrik Størner écrit bbgen pour accélérer Big Brother. Le projet grandit, devient Hobbit, puis Xymon en 2009, le domaine de Tolkien ayant lui aussi des avocats.
2009Des contributeurs lassés du rythme de Nagios lancent un fork : Icinga.
2014Icinga 2 sort, entièrement réécrit, avec son propre langage de configuration et une architecture distribuée native.
2026Nagios Core publie toujours des versions correctives, Icinga des versions majeures, et Xymon vit dans les distributions et un fork communautaire à l'interface rajeunie.
Pour la culture

Nagios est un acronyme récursif, « Nagios Ain't Gonna Insist On Sainthood », clin d'oeil au changement de nom forcé de NetSaint. Icinga signifie à peu près « il examine » en zoulou. Quant à Hobbit, il a dû quitter la Comté pour devenir Xymon, ce qui reste le seul cas connu de logiciel de supervision exilé pour raisons littéraires.

02Nagios, le contrat qui a gagné

L'apport durable de Nagios n'est pas son interface, qui a peu changé depuis l'époque où l'on choisissait ses cadres HTML avec soin. C'est son contrat de greffon : un programme, dans n'importe quel langage, qui affiche une ligne et sort avec un code. Zéro pour OK, un pour WARNING, deux pour CRITICAL, trois pour UNKNOWN. Rien de plus.

Un greffon complet, en quelques lignes
#!/bin/sh
# check_sauvegarde : age de la derniere sauvegarde, en heures
f=$(ls -1t /srv/sauvegardes/*.tar.zst 2>/dev/null | head -1)
[ -z "$f" ] && { echo "SAUVEGARDE UNKNOWN - aucun fichier"; exit 3; }

age=$(( ($(date +%s) - $(stat -c %Y "$f")) / 3600 ))
perf="age=${age};26;48;0"

if [ "$age" -ge 48 ]; then
  echo "SAUVEGARDE CRITICAL - derniere sauvegarde il y a ${age} h | $perf"; exit 2
elif [ "$age" -ge 26 ]; then
  echo "SAUVEGARDE WARNING - derniere sauvegarde il y a ${age} h | $perf"; exit 1
fi
echo "SAUVEGARDE OK - derniere sauvegarde il y a ${age} h | $perf"; exit 0

Ce contrat est d'une simplicité désarmante, et c'est précisément pourquoi il a survécu à tout. Des milliers de greffons existent pour à peu près tout ce qui possède une prise réseau, et ils s'exécutent aujourd'hui dans Icinga, Naemon, Checkmk ou Sensu. Zabbix peut les appeler par un paramètre utilisateur. Un greffon écrit en 2005 tourne encore sans modification.

Ce que Nagios Core fait toujours bien

  • Exécuter des vérifications et alerter, sans surprise, pendant des années.
  • Tenir sur une machine minuscule : quelques centaines de services n'occupent presque rien.
  • Se configurer en fichiers texte, versionnables et générables par script.

Ce qu'il ne faut plus lui demander

  • Des graphiques : il faut des greffons tiers, et le résultat date d'une autre époque.
  • Une architecture distribuée propre : les solutions existent, mais tiennent du bricolage.
  • Une API moderne : l'interface d'origine repose sur des CGI.

03Icinga, Nagios repensé

Icinga 2 garde le contrat des greffons et réécrit tout le reste. Sa configuration est un vrai langage, avec des règles d'application qui attachent un service à tous les hôtes qui remplissent une condition, au lieu de les énumérer.

Une règle Icinga 2 : le contrôle s'applique seul aux bons hôtes
object CheckCommand "sauvegarde" {
  command = [ PluginDir + "/check_sauvegarde" ]
}

apply Service "sauvegarde" {
  check_command = "sauvegarde"
  check_interval = 1h
  # execute sur l'agent Icinga de l'hote lui-meme
  command_endpoint = host.name
  assign where "sauvegarde" in host.vars.roles
}

Ses autres atouts sont sérieux : une architecture en zones, maître, satellites et agents, avec des certificats et un chiffrement natifs ; une API REST complète ; Icinga DB et Icinga Web pour une interface actuelle ; et le module Director, qui permet de tout configurer depuis l'interface ou d'importer l'inventaire depuis une CMDB.

Icinga est aujourd'hui le choix naturel pour qui veut rester dans le monde des greffons Nagios avec un outil moderne et activement développé. C'est aussi le chemin de migration le plus doux pour un vieux Nagios : les greffons et les commandes se reprennent tels quels.

04Xymon, la grille de couleurs

Xymon a une philosophie différente. Chaque machine fait tourner un petit client qui envoie toutes les cinq minutes un rapport complet au serveur : processus, disques, mémoire, ports, journaux. Le serveur analyse et affiche une grande grille, une ligne par hôte, une colonne par test, une pastille de couleur par case.

CouleurSignification
VertTout va bien
JauneAvertissement
RougeCritique
VioletPas de rapport reçu depuis trop longtemps
BleuTest désactivé par un humain, avec une raison et une échéance
ClairPas de données pour ce test, et c'est normal

La couleur violette mérite qu'on s'y arrête. Elle signifie « je n'ai plus de nouvelles », et elle est active par défaut sur tous les tests, depuis toujours. Combien de plateformes récentes découvrent l'importance d'alerter sur l'absence de données après l'avoir payée ? Xymon l'avait réglé il y a vingt ans.

Côté maintenance, la dernière version officielle, 4.3.30, date de 2019. Le projet reste empaqueté et corrigé dans Debian et Ubuntu, et un fork communautaire a publié en 2026 une interface entièrement refaite en HTML5. C'est un outil stable, plus qu'un outil vivant : parfait pour qui l'a déjà, déconseillé pour démarrer.

05Ce qu'ils font encore mieux

CritèreNagios CoreIcinga 2Xymon
DéveloppementCorrectifs réguliersActif, versions majeuresFigé en amont, vivant dans les distributions
Ressources nécessairesMinusculesModéréesMinuscules
Absence de donnéesÀ configurerÀ configurerNative, la couleur violette
Distribution multi-sitesBricoléeNative, zones et satellitesCorrecte, relais de rapports
GraphiquesExternesVia GrafanaIntégrés, d'époque
APIAbsenteREST complèteProtocole texte
Greffons NagiosNatifNatifVia passerelle

06Garder, moderniser ou migrer

Un outil ancien qui fonctionne n'est pas un problème à résoudre. Il en devient un dans des cas précis, et c'est sur ces cas qu'il faut décider.

  • Garder si la plateforme est stable, les alertes sont justes, quelqu'un maîtrise encore la configuration, et le système qui la porte est maintenu. Mettez-le à jour, documentez-le, et passez à autre chose.
  • Moderniser vers Icinga 2 si vous tenez aux greffons, que la configuration à plat devient ingérable, ou qu'un deuxième site arrive. C'est une migration de quelques jours, pas un projet.
  • Migrer vers Zabbix ou une pile Prometheus si le besoin a changé de nature : métriques fines et tendances, centaines d'hôtes, équipes multiples, découverte automatique.
  • Migrer d'urgence dans un seul cas : la machine qui porte l'outil n'est plus maintenue. Un Nagios en parfait état sur un système sans correctifs de sécurité, exposé au réseau, n'est plus un vétéran, c'est une porte d'entrée.
Migrer sans perdre ce qui marche

Faites tourner l'ancien et le nouveau en parallèle pendant au moins un mois, alertes du nouveau dirigées vers un canal d'essai. Comparez chaque semaine ce que l'un a vu et pas l'autre. Les vieux Nagios contiennent souvent une poignée de vérifications très spécifiques, ajoutées après un incident oublié, et ce sont exactement celles qu'il ne faut pas perdre. Le greffon écrit en 2009 par un collègue parti, qui vérifie un fichier dont personne ne connaît l'usage, est rarement là par hasard.

Une supervision qui veille pendant que vous dormez

Nous concevons, installons et exploitons des plateformes de supervision pour des PME, des hébergeurs et des collectivités : Zabbix, Prometheus et Grafana, ou plus léger quand le besoin l'est. Reprise d'une supervision existante, réglage des alertes qui sonnent pour rien, astreinte : nous intervenons au forfait comme au long cours.