多client向同一个pushgateway推送指标被覆盖问题

问题:

多个client向同一个pushgateway推送指标,每个client推送的指标名称相同但是lable不同。如下:

bash 复制代码
# TYPE ObjectCount gauge
ObjectCount{server_id="server1"} 4
ObjectCount{server_id="server2"} 4
ObjectCount{server_id="server3"} 0

推送地址如下:

bash 复制代码
http://192.168.0.1/metrics/job/test

结果从pushgateway处只能查询其中一个client推送的指标,推测时发生了覆盖。

原因:

根据官方文档描述

Pushed metrics are managed in groups, identified by a grouping key of any number of labels, of which the first must be the job label.

grouping key是这些metrics的唯一标识,grouping key实际上就是若干个label的组合。

也就是说上述指标都推送到http://192.168.0.1/metrics/job/test,会被pushgateway认为是同一组指标的多次推送,所以发生了覆盖。

解决:

每个client需要推送到独立的url上,即每个client的grouping key需要不一样。例如三个client的推送URL改为:

bash 复制代码
http://192.168.0.1/metrics/job/test/server_id/server1

http://192.168.0.1/metrics/job/test/server_id/server2

http://192.168.0.1/metrics/job/test/server_id/server3

问题便可迎刃而解

参考:

解决pushgateway数据多次推送会覆盖的问题_pushgateway 数据覆盖-CSDN博客

the same metric with different labels override each other · Issue #65 · prometheus/pushgateway · GitHub

GitHub - prometheus/pushgateway: Push acceptor for ephemeral and batch jobs.

相关推荐
企鹅侠客2 天前
Prometheus operator怎么添加targets和告警规则
运维·云原生·kubernetes·prometheus·pod
木二3 天前
附042.Kubernetes_v1.32.3生成环境高可用部署
云原生·kubernetes·prometheus·ingress·longhorn
yunson_Liu4 天前
kubernet在prometheus+alertmanager+grafana框架下新增部署loki模块
grafana·prometheus·loki
树下一少年4 天前
docker-compose部署prometheus+grafana+node_exporter
docker·json·grafana·prometheus·node_exporter
云上艺旅10 天前
K8S学习之基础四十一:Prometheus基于Pushgateway采集数据
学习·云原生·容器·kubernetes·prometheus
云上艺旅11 天前
K8S学习之基础三十八:Kube-static-metrics监控
学习·云原生·容器·kubernetes·prometheus
sj116373940313 天前
Prometheus Exporter系列-Mysql_Exporter一键部署
prometheus
云上艺旅14 天前
K8S学习之基础三十六:node-exporter部署
学习·云原生·贪心算法·kubernetes·prometheus
云上艺旅14 天前
K8S学习之基础四十:K8S配置altermanager发送告警到钉钉群
学习·云原生·容器·kubernetes·钉钉·prometheus
云上艺旅15 天前
K8S学习之基础三十五:k8s之Prometheus部署模式
学习·云原生·容器·kubernetes·prometheus