栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

解决pushgateway数据多次推送会覆盖的问题

Python 更新时间:发布时间: 百科书网 趣学号
问题

多个client,往同一台pushgateway推送数据时,采用同一个job名称,会发现始终只能留下一个client的数据,其他的会被覆盖

使用语言 python

分析

通过抓包发现,所有数据均已推送到9091端口,所以排除是某个client推送的问题

代码
push_to_gateway(pushgateway_url, job=job_name, registry=registry)

相当于推送到了 metrics/job/job_name

问题原因

推送的指标按组进行管理,由任意数量标签的分组键标识,一般有Job跟instance,推送时候只指定Job的话,会误将几个server推送的数据当成同一组数据,出现覆盖的情况

所以应该在分组标识中加入该批数据的唯一标识,即推送的链接应该为该批数据的唯一指定存放位置,类似门牌号的概念。只用job的话相当于都推到同一个位置了。

解决

推送到 metrics/job/job_name/instance/id即可

在这里可以推到 metrics/job/job_name/client/client_name

参照python库的用法

https://github.com/prometheus/client_python

 

 改为下述代码即可成功推送

push_to_gateway(pushgateway_url, job=job_name, registry=registry,grouping_key={"client":client_name})

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/987036.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号