【发布时间】:2019-02-28 05:51:13
【问题描述】:
借助 Python request.get 和 json.loads 函数,我能够从 URL 获取数据。数据包含一个实例列表,其中每个实例都有 instance_id、status 等指标。
我的问题是有什么方法可以将这些指标上传到 Prometheus?我查看了 pushgateway 功能,但不确定这是否是进行数据推送和存储的正确方法。
我目前将数据推送到 Prometheus 的工作如下:
from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
from prometheus_client import Summary
registry1 = CollectorRegistry()
registry2 = CollectorRegistry()
s = Summary('request_latency_seconds', 'Description of summary', registry=registry1)
s.observe(4.7)
g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry2)
g.set_to_current_time()
push_to_gateway('localhost:9091', job='batch_summary', registry=registry1)
push_to_gateway('localhost:9091', job='batch_gauge', registry=registry2)
但是,我不确定我应该推送哪种指标类型(仪表、摘要或其他?)
这是我要推送的实例数据的示例:
{'url': 'https://example.com',
'created': '2017-09-17-time',
'status_code': 200,
'instance_start': '2018-09-17-time', }
我将这些数据推送到 Prometheus 的原因是我想使用 Grafana 获取这些数据并将它们可视化。
Grafana 图表示例如下:x 轴为时间,y 轴为状态码为 200 的实例数。
任何想法或帮助将不胜感激。谢谢!
【问题讨论】:
标签: python grafana prometheus