如何使用Python和Prometheus Pushgateway推送度量
我希望使用Pushgateway将一个多标签度量推入普罗米修斯。该文档提供了一个curl示例,但我需要通过Python发送它。此外,我还想在度量中嵌入多个标签。以下是我最后做的事情——我花了一段时间才做对。理想情况下,我会使用专门为此目的设计的Prometheus python客户端,但在某些情况下,它似乎不支持多个标签,而且文档几乎不存在——因此我选择了一个自制的解决方案 下面的代码使用gevent并支持多个(逗号分隔的)pushgateway URL(如“pushgateway1.my.com:9092,pushgateway2.my.com:9092”)如何使用Python和Prometheus Pushgateway推送度量,python,prometheus,prometheus-pushgateway,Python,Prometheus,Prometheus Pushgateway,我希望使用Pushgateway将一个多标签度量推入普罗米修斯。该文档提供了一个curl示例,但我需要通过Python发送它。此外,我还想在度量中嵌入多个标签。以下是我最后做的事情——我花了一段时间才做对。理想情况下,我会使用专门为此目的设计的Prometheus python客户端,但在某些情况下,它似乎不支持多个标签,而且文档几乎不存在——因此我选择了一个自制的解决方案 下面的代码使用gevent并支持多个(逗号分隔的)pushgateway URL(如“pushgateway1.my.co
这是为Python客户端编写的文档:One:安装客户端:
pip install prometheus_client
第二:将以下内容粘贴到Python解释器中:
from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
registry = CollectorRegistry()
g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry)
g.set_to_current_time()
push_to_gateway('localhost:9091', job='batchA', registry=registry)
上面的代码生成一个非类型化度量。要生成类型化度量,需要在有效负载前面加上“#TYPE counter\n”(用于计数器度量)。
from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
registry = CollectorRegistry()
g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry)
g.set_to_current_time()
push_to_gateway('localhost:9091', job='batchA', registry=registry)