2017-06-28 1 views
1

J'utilise une application Web avec l'adresse 127.0.0.1:5000 et j'utilise la bibliothèque cliente python pour Prometheus. J'utilise start_http_server(8000) de l'exemple dans leur docs pour exposer les métriques sur ce port. L'application s'exécute, mais je reçois [Errno 48] Address already in use et le localhost: 8000 ne se connecte à rien quand j'essaye de le frapper.Erreur client Prometheus python Adresse déjà utilisée

Si je ne peux pas démarrer deux serveurs à partir d'une application Web, quel port dois-je passer dans start_http_server() afin d'exposer les métriques?

Il n'y a rien sur les ports avant de démarrer l'application.

Répondre

0

Il n'est pas nécessaire que le serveur Web 8000 fonctionne déjà sur le port 8000 pour qu'il soit déjà utilisé. Utilisez votre ligne de commande OS pour trouver le processus qui utilise le port puis le tuer. Si un service est également en cours d'exécution et qu'il provoque une nouvelle génération, désactivez ce processus.

Une solution plus simple serait d'utiliser un autre port au lieu de 8000.

EDIT: On dirait qu'il est un bogue dans Prometheus. Github Issue

+0

Il n'y a rien sur 8000 jusqu'à ce que je commence ce processus. – Rafa

+1

@ ralphie9224 Je vois ... on dirait que vous avez trouvé un bug. C'est un problème persistant dans Prométhée. Ils travaillent encore à la réparer. Voici la conversation [Pull Request] (https://github.com/prometheus/client_python/issues/155) – daegontaven