Cible Prometheus DOWN et tableaux de bord vides
```text Get "http://10.0.2.15:9100/metrics": context deadline exceeded text format parsing error in line 12: expected float as value, got "OK" ```
Détecter
Les panneaux Grafana d'un serveur affichent « No data » ; l'alerte TargetDown se déclenche.
Symptômes
Les panneaux Grafana d'un serveur affichent « No data » ; l'alerte TargetDown se déclenche.
Environnement
Prometheus scrutant des node_exporter et un exporter applicatif via le collecteur textfile.
Cause racine
Trois familles : l'exporter est arrêté ou filtré (pare-feu), le scrape dépasse le scrape_timeout, ou la page /metrics est malformée (un fichier .prom généré par un script contient une valeur non numérique), ce qui invalide toute la cible.
Diagnostic
- Page Targets de Prometheus : message d'erreur exact.
curl -s http://10.0.2.15:9100/metrics | headdepuis le serveur Prometheus.- Valider le format :
promtool check metrics < fichier.prom.
Solution
Corriger le script générateur (valeurs numériques, # HELP/# TYPE, écriture atomique via fichier temporaire + mv), redémarrer l'exporter si nécessaire, ouvrir le port depuis le serveur Prometheus uniquement.
Commandes
curl -s localhost:9100/metrics | promtool check metrics
systemctl status node_exporter
echo 'backup_last_success_timestamp_seconds 1727150400' > /var/lib/node_exporter/backup.prom.$$ && mv /var/lib/node_exporter/backup.prom.$$ /var/lib/node_exporter/backup.prom
Prévention
Validation promtool dans le script, alerte up == 0 et absent(), méta-supervision de Prometheus lui-même.