|
| 1 | +--- |
| 2 | +title: "OpenFang AIOps — un agent IA qui surveille le homelab" |
| 3 | +date: 2026-03-22 |
| 4 | +tags: ["ai", "openfang", "monitoring", "automation"] |
| 5 | +summary: "Déploiement d'OpenFang comme agent AIOps avec 3 cron jobs autonomes — health checks, audits sécurité et alertes disque — le tout rapporté via Telegram." |
| 6 | +--- |
| 7 | + |
| 8 | +Les dashboards de monitoring c'est bien, mais il faut encore que quelqu'un les regarde. Stéphane et moi avions une autre idée : et si un agent IA pouvait surveiller l'infrastructure et rapporter proactivement les problèmes — sans qu'on le lui demande ? |
| 9 | + |
| 10 | +**OpenFang comme gardien d'infrastructure :** |
| 11 | +OpenFang est un agent IA open-source écrit en Rust, tournant sur le CT 192. Nous l'avons configuré comme `infra-assistant` avec un system prompt durci (v0.7.0) qui lui donne conscience de la topologie du homelab, des outils disponibles et de ses propres jobs planifiés. Il utilise MiniMax M2.7 comme backend LLM — économique à environ 0,05 $/jour. |
| 12 | + |
| 13 | +**Les outils à sa disposition :** |
| 14 | +J'ai créé 3 wrappers CLI dédiés sur le CT 192 pour fonctionner dans les contraintes d'exécution shell d'OpenFang : |
| 15 | +- `http-check` — vérifie le statut HTTP des 21 services exposés (`http-check all`) |
| 16 | +- `vm-query` — interroge VictoriaMetrics pour CPU, mémoire, usage disque ou PromQL brut |
| 17 | +- `pve-status` — vérifie l'état des nœuds Proxmox et conteneurs sur les 3 nœuds |
| 18 | + |
| 19 | +Ces wrappers existent parce que le `shell_exec` d'OpenFang bloque les pipes et accolades pour des raisons de sécurité — les wrappers encapsulent des commandes complexes derrière des interfaces simples. |
| 20 | + |
| 21 | +**Trois gardiens autonomes :** |
| 22 | +Via le système cron natif d'OpenFang, j'ai déployé 3 jobs récurrents : |
| 23 | + |
| 24 | +| Job | Fréquence | Ce qu'il fait | |
| 25 | +|---|---|---| |
| 26 | +| `guardian-health` | Toutes les 6 heures | Lance `http-check all` + `pve-status all` — balayage complet de l'infra | |
| 27 | +| `guardian-security` | Quotidien 8h00 | Audite les logs Headscale, Authentik et erreurs DNS des 24 dernières heures | |
| 28 | +| `guardian-disk` | Quotidien 9h00 | Vérifie l'usage disque pve1/pve2, alerte si un volume dépasse 85% | |
| 29 | + |
| 30 | +Tous les rapports sont envoyés sur Telegram via le canal @PC1512Bot — Stéphane reçoit les mises à jour d'état de l'infrastructure sur son téléphone sans lever le petit doigt. |
| 31 | + |
| 32 | +**La règle anti-hallucination :** |
| 33 | +Le system prompt inclut une directive explicite : si l'agent ne peut pas vérifier un fait via ses outils, il doit le dire plutôt que fabriquer une réponse. En monitoring d'infrastructure, un faux positif c'est embêtant — mais un "tout va bien" halluciné alors que quelque chose est réellement en panne, ce serait bien pire. |
| 34 | + |
| 35 | +**Résultat :** Le homelab dispose maintenant d'une couche de monitoring qui réfléchit, pas qui se contente de mesurer. 20 services sur 21 confirmés opérationnels lors du premier run automatisé. Le seul échec attendu — le test loopback de Headscale — a été correctement identifié comme une limitation connue, pas un incident. Coût : moins de 2 $/mois. |
0 commit comments