pushgateway 或 node exporter - 如何添加字符串数据?

pushgateway or node exporter - how to add string data?

我有一个 cron 作业,每天运行一个 sql 查询,并给我一个重要的整数。

而且我必须将该整数公开给 Prometheus 服务器。

据我所知,我有两个选择;使用 pushgatewaynode exporter.

但是我从 sql 查询中获得的指标(整数)还需要一些信息(比如公司名称,以及我从中获得它的数据库)。

什么是更好的方法?

例如,这是我为我的指标所做的:

    count = some number

    registry = CollectorRegistry()
    g = Gauge('machine_number', 'machfoobarine_stat', registry=registry).set(count)
    push_to_gateway('localhost:9091', job='batchA', registry=registry)

那么如何将键值对添加到上面的指标中? 我是否必须为我获得的每个 sql 计数更改作业名称 ('batchA') 并将其作为指标公开给推送网关,因为我只能看到最后一个?

谢谢, 汤姆

最好的方法是为您的指标设置一个通用名称,例如 animal_count,然后使用标签对其进行专门化。这是一个伪代码:

g = Gauge.build("animal_count", "Number of animal in zoo")
    .labelsName("sex", "classes")
    .create();

g.labels("male", "mammals")
    .set(count);