我正在为将来的需求设置一个监控PoC。 PoC是在我的计算机上本地开发的。要监视指标,我使用Prometheus和Grafana。 我想计算接收到的文件数量以及处理该文件所花费的时间。为此,我需要创建自定义指标。
我正在使用python 2.7.5。现在,我已经将普罗米修斯和目标联系在一起。我收到指标,但不知道如何创建所需的指标。
counter = prom.Counter('python_my_counter', 'This is my counter')
gauge = prom.Gauge('python_my_gauge', 'This is my gauge')
histogram = prom.Histogram('python_my_histogram', 'This is my histogram')
summary = prom.Summary('python_my_summary', 'This is my summary')
def thr():
while True:
counter.inc(random.random())
gauge.set(random.random() * 15 - 5)
histogram.observe(random.random() * 10)
summary.observe(random.random() * 10)
process_request(random.random() * 5)
time.sleep(1)
我希望收到的文件总数为“计数收到的文件数”度量标准。 处理文件所花费的时间(即2s)和处理文件所花费的时间之和(50s)。
答案 0 :(得分:1)
您的用例不需要所有这些指标。只需向普罗米修斯注册summary
指标,类似:
from prometheus_client import Summary
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)
然后您可以使用request_processing_seconds_count
和request_processing_seconds_sum
指标。