2017-06-27 1 views
0

Je commence à utiliser Prometheus pour obtenir des données de tendance sur un service que j'ai construit. J'essaie d'utiliser la bibliothèque cliente Python, mais je ne sais pas comment l'utiliser. Sur la base des docs "Mise en route", un fichier prometheus.yml pointe vers les applications que vous souhaitez surveiller, et la bibliothèque client Python a ce code comme exemple.Bibliothèque client Prometheus Python

from prometheus_client import start_http_server, Summary 
import random 
import time 

# Create a metric to track time spent and requests made. 
REQUEST_TIME = Summary('request_processing_seconds', 'Time spent processing request') 

# Decorate function with metric. 
@REQUEST_TIME.time() 
def process_request(t): 
    """A dummy function that takes some time.""" 
    time.sleep(t) 

if __name__ == '__main__': 
    # Start up the server to expose the metrics. 
    start_http_server(8000) 
    # Generate some requests. 
    while True: 
     process_request(random.random()) 

On dirait qu'il démarre son propre serveur et ne doit pas être étroitement liés avec le code dans mes services. Donc, ma question est, comment puis-je utiliser le client Prometheus, pour dire à Prometheus exactement quelles fonctions surveiller de mes services?

Répondre

1

Vous devez ajouter des paramètres tels que le Summary dans l'exemple à votre propre code, et ils seront exposés sur le port 8000.

+0

donc alors que je l'importation de la 'prometheus_client' dans le code que je veux surveiller ? Ou vit-il comme un service séparé? – Rafa

+0

Oui, importez-le dans tous les fichiers que vous souhaitez instrument. –