exporter custom prometheus metrique qui apparait pas

Posté par robert63 le 31/10/2025
RÉSOLU

robert63

Membre depuis le 23/08/2024

salut la team j'ai fait un petit exporter python pour prometheus qui expose des métriques de notre app legacy. je le lance sur un port 8000 il est accessible via curl localhost:8000/metrics je vois les données. mais quand prometheus essaye de le scraper rien. les targets sont up mais les métriques n'apparaissent pas dans grafana ni dans la console prometheus. une idée du pourquoi ?

# extrait de l'exporter python
from prometheus_client import start_http_server, Gauge
import time

g = Gauge('my_app_processed_items_total', 'Total items processed by my app')

def process_items():
    # simulate work
    time.sleep(2)
    g.inc()

if __name__ == '__main__':
    start_http_server(8000)
    while True:
        process_items()

Commentaires

auguste-delorme

Membre depuis le 15/12/2024

t'as check les logs de prometheus ? souvent y a des warnings ou errors genre "scrape failed" ou "no metrics found". ça peut être un souci de pare-feu entre prometheus et l'exporter ou l'exporter qui ne répond pas assez vite

robert63

Membre depuis le 23/08/2024

j'ai rien dans les logs prometheus c'est ça qui est chelou. pas de "scrape failed". le target est juste affiché comme "up" mais quand je clique sur les métriques il n'y a rien. le pare-feu est ok je peux curl depuis la machine prometheus

xchauvin

Membre depuis le 27/06/2024

si le target est up mais pas de métriques ça sent le scrape interval. si ton exporter est super lent à répondre ou si les métriques mettent du temps à être générées prometheus peut les rater. essaie de mettre un scrape_interval très court genre 5s et un scrape_timeout plus long genre 15s dans ta config prometheus

robert63

Membre depuis le 23/08/2024

j'ai mis le scrape_interval à 5s et le timeout à 15s. toujours rien. mon exporter est basique il génère juste une métrique. ça pourrait être un encoding ? ou le type de métrique pas reconnu ?

auguste-delorme

Membre depuis le 15/12/2024

l'encoding c'est rare pour les métriques de base. mais est-ce que le chemin /metrics est bien le seul chemin exposé ? parfois si y a d'autres endpoints ça peut perturber. ou si tu as des labels spéciaux non valides. et vérifie que le type Gauge est bien celui que tu veux. un Counter est souvent plus approprié pour des incréments comme ça

robert63

Membre depuis le 23/08/2024

ah mais c'est ça ! j'avais un bug dans mon exporter où il mettait des labels avec des caractères spéciaux que prometheus n'aime pas. j'ai corrigé les labels et ça marche impec. thx pour l'aide précieuse !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire