Sévérité : MoyennePrometheus

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

  1. Page Targets de Prometheus : message d'erreur exact.
  2. curl -s http://10.0.2.15:9100/metrics | head depuis le serveur Prometheus.
  3. 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.