如何通过Python3更新Prometheus指标的当前值

时间:2019-04-29 11:26:58

标签: python python-3.x prometheus metrics decrement

我需要添加指标,然后更改这些指标的当前值。 这是我在Python3上添加3个指标的脚本

add.py

from prometheus_client.exposition import basic_auth_handler

r = 10
def my_auth_handler(url, method, timeout, headers, data):
    username = 'admin'
    password = 'secret'
    return basic_auth_handler(url, method, timeout, headers, data, username, password)

registry = CollectorRegistry()
g = Gauge('test_test', 'Random gauge', ['user_status', 'status', 'country', 'state', 'city'], registry=registry)
g.labels('1', 'Rejected', 'Canada', 'AB', 'Albany').set(r)
g.labels('1', 'Suspect', 'Canada', 'AB', 'Albany').set(r)
g.labels('1', 'Trusted', 'Canada', 'AB', 'Albany').set(r)
g.labels('0', 'Trusted', 'USA', 'AB', 'Albany').set(r)
push_to_gateway('localhost:9091', job='test', registry=registry, handler=my_auth_handler)

然后我要更改一个指标的值

update.py

from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
from prometheus_client.exposition import basic_auth_handler

r = 10
def my_auth_handler(url, method, timeout, headers, data):
    username = 'admin'
    password = 'secret'
    return basic_auth_handler(url, method, timeout, headers, data, username, password)

registry = CollectorRegistry()

g = Gauge('test_test', 'Random gauge', ['user_status', 'status', 'country', 'state', 'city'], registry=registry)
g.labels('1', 'Rejected', 'Canada', 'AB', 'Albany').set(r)
g.labels('1', 'Rejected', 'Canada', 'AB', 'Albany').dec()
push_to_gateway('localhost:9091', job='test', registry=registry, handler=my_auth_handler)

所有方法都可行,但是当所有指标都删除后,我只看到一个更新的指标。

如何更改指标值,并保留所有其他指标?

0 个答案:

没有答案