
🌐 Aussi en: English · Deutsch · Español
Une histoire de homelab bien geek, avec Redis, trop de bases de données et pas assez de sommeil.
📝 Introduction
Félicitations, voyageur. Si vous lisez ces lignes, c’est que vous avez décidé de superviser votre homelab comme un adulte responsable au lieu de pratiquer l’antique rituel du « on éteint et on rallume ».
Cet article résume – à un niveau élevé, méta et légèrement sarcastique de geek – comment assembler la pile de supervision Icinga moderne au complet sur Debian :
- Icinga 2 – le moteur central
- Redis – la boîte aux lettres d’événements ultrarapide
- IcingaDB – le tout nouveau backend de base de données
- MariaDB/PostgreSQL – le cristal de mémoire à long terme
- Icinga Web 2 – la boule de cristal visuelle
- Icinga Director – votre grimoire de configuration
Pour rendre le tout encore plus épique : aujourd’hui, j’ai suivi une formation en ligne d’une journée complète chez NETWAYS, à Nuremberg, qui se poursuit pendant les quatre prochains jours. Après une longue journée d’apprentissage, j’ai passé la soirée à installer Icinga sur mon serveur de homelab – avec succès ! Maintenant que tout tourne, je file directement au lit. Même les geeks de la supervision ont besoin de leur uptime.
🧱 Étape 1 – Installer la sainte trinité : Icinga 2, Redis & SQL
🔥 Icinga 2 – le démon central
C’est le cerveau de votre pile de supervision. Il vérifie des choses, se plaint de choses et vous dit si les nœuds de votre homelab sont UP, DOWN ou dans l’état mystique du « ça marche chez moi ».
⚡ Redis – le moteur de distorsion des événements en temps réel
L’Icinga moderne utilise Redis comme transport d’événements à tir rapide. Toutes les données en direct (résultats de checks, changements d’état, downtimes, etc.) passent d’abord par Redis, parce que :
SQL est lent. Redis, c’est de la caféine sur silicium.
🗄️ Base de données SQL – la mémoire à long terme
Votre base de données SQL contient :
- l’historique de supervision
- les objets hôtes/services
- les événements & les relations
En bref :
Redis = RAM
SQL = disque
Icinga 2 = CPU
🔌 Étape 2 – Connecter Icinga 2 à IcingaDB
IcingaDB est le remplaçant moderne de l’ancien backend IDO. Il se charge de :
- lire l’état en direct depuis Redis
- écrire des données de supervision structurées dans SQL
- alimenter Icinga Web 2 en objets & en historique cohérents
Il lui faut, correctement configurées :
- la connexion Redis (hôte, port)
- la connexion SQL (pilote, nom d’hôte, base de données, utilisateur)
Une fois configuré, IcingaDB devient le cœur battant de votre pipeline d’observabilité.
🧙 Étape 3 – Invoquer l’interface web (Icinga Web 2)
Icinga Web 2 est votre tableau de bord pour tout ce qui a un état, un historique et, de temps en temps, de quoi vous alarmer.
Il nécessite :
- un serveur web (Apache ou nginx)
- PHP avec divers modules
- une base de données dédiée aux utilisateurs, groupes et rôles
Oui : ce n’est pas la même base de données que celle d’IcingaDB. Cette base ne contient que les métadonnées d’authentification et d’autorisation.
🔐 Étape 4 – Activer l’API d’Icinga 2
L’API relie Icinga Web 2 à Icinga 2. Vous la mettez en place avec :
- la génération de la CA interne d’Icinga
- des certificats d’hôte
- un utilisateur API avec des permissions comme :
status/*objects/*actions/*
C’est en général le moment où vous réalisez que vous en avez appris plus sur TLS que n’importe quel mortel ne devrait avoir à en savoir. Bienvenue dans la supervision.
📊 Étape 5 – IcingaDB dans l’interface web
Dans Icinga Web 2, le module IcingaDB fournit :
- l’état en direct depuis Redis
- l’historique depuis la base SQL d’IcingaDB
C’est pourquoi vous configurez deux ressources distinctes :
- Base Icinga Web 2 → utilisateurs & groupes
- Base IcingaDB → objets de supervision & historique
C’est cette séparation qui rend l’ensemble du système évolutif et élégant.
🕹️ Étape 6 – Installer le Director
L’Icinga Director est votre moteur web d’automatisation de la configuration. Au lieu d’écrire des fichiers Icinga DSL à la main comme un homme des cavernes, vous obtenez :
- des modèles d’hôtes & de services
- des règles apply
- des sources d’import
- le déploiement en masse
Oui, le Director a besoin d’encore une base de données. Cette pile, c’est en gros Pokémon pour DBA : attrapez-les toutes !
🌀 Étape 7 – Redémarrer l’univers
La dernière étape est le rituel de l’admin système :
- Redémarrer Redis
- Redémarrer IcingaDB
- Redémarrer Icinga 2
- Recharger Apache
Si tout est correct, Icinga Web 2 affichera enfin :
- les états en direct des hôtes & services
- les données historiques
- la configuration du Director
Si quelque chose cloche… eh bien, consultez vos logs. Ils vous crieront dessus en détail.
🌙 Une longue journée de formation, une nuit tardive dans le homelab
Aujourd’hui, j’ai suivi une formation en ligne d’une journée complète avec NETWAYS, à Nuremberg. Et pas seulement aujourd’hui : cette formation se poursuit pendant les quatre prochains jours.
Et comme tout vrai geek, une fois la formation terminée, j’ai décidé de mettre aussitôt en pratique ces connaissances toutes fraîches et j’ai attaqué l’installation de la pile Icinga 2 complète sur mon serveur de homelab.
Il a fallu batailler un peu avec les ports Redis, les privilèges de base de données et les assistants de configuration, mais au final : la pile est désormais pleinement opérationnelle.
Ce succès débloqué, je clos officiellement ce chapitre de la soirée et je file directement au lit. Même les admins système de homelab ont besoin de fenêtres de maintenance.
🏁 Conclusion
Vous avez assemblé avec succès :
- Icinga 2
- Redis
- IcingaDB
- Icinga Web 2
- Director
- trois bases de données et d’innombrables configs
Votre homelab dispose désormais d’un système d’observabilité pleinement fonctionnel – et vous pouvez maintenant vous en vanter sur Internet.
Désormais, nous mesurons l’uptime. Et notre propre santé mentale.






