pushgateway 或 node exporter - 如何添加字符串数据?
pushgateway or node exporter - how to add string data?
我有一个 cron 作业,每天运行一个 sql 查询,并给我一个重要的整数。
而且我必须将该整数公开给 Prometheus 服务器。
据我所知,我有两个选择;使用 pushgateway 或 node 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);
我有一个 cron 作业,每天运行一个 sql 查询,并给我一个重要的整数。
而且我必须将该整数公开给 Prometheus 服务器。
据我所知,我有两个选择;使用 pushgateway 或 node 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);