Prometheus仪器用于分布式累积批处理作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prometheus仪器用于分布式累积批处理作业相关的知识,希望对你有一定的参考价值。
我每天多次运行构建脚本。我的感觉是我和我的同事花了相当多的时间等待这个脚本执行。现在我想知道:我们每天花多少时间等待脚本执行?尽管我真的希望每天都有数据(例如“上周一我们花了X分钟等待脚本执行,周二......”)
为了找到答案,我用推送网关旋转了普罗米修斯。在构建脚本中,我向推送网关添加了一个REST调用,该调用发布了用机器名称标记的度量标准(类型:counter
)和样本数据执行脚本所用的时间。
正在收集数据,但我意识到我收集的数据不足以回答我的问题,我需要将我推送的指标(即:当前运行的经过时间)累积到以前的数据。 Looking at the documentation,我觉得这不会通过推送网关支持:
Pushgateway显然不是聚合器或分布式计数器,而是指标缓存
我的问题是:
- 是否可以通过Prometheus Push Gateway收集我想要的指标。如果没有,我的选择是什么?
- 如果可能,我应该收集哪些指标?
一般来说,Pushgateway确实不是分布式计数器,但......
看看Pushgateway,imho的正确方法就像是“又一个刮擦终点”。这意味着,它不会聚合您推送的指标,而只是“按原样”保留它们。但实际上你并不需要它进行聚合 - Prometheus将从PushGateway中获取数据,所有数据都将在Prometheus中提供。
之后 - 您可以在Prometheus上直接使用PromQL或利用Grafana运行您想要的任何Prometheus查询。
注意:关于Pushgateway有几个讨论,使用它有其缺点。有一般的guideline "non-goals" recommendation使用Pushgateway作为“最后一个选项” - 建议改为暴露/指标路线,甚至在工作中。
附:如果您认为自己确实需要聚合指标,可以查看同一篇文章中提到的Weavework's aggregation gateway。但是再一次 - 我认为这不是你想要的。
以上是关于Prometheus仪器用于分布式累积批处理作业的主要内容,如果未能解决你的问题,请参考以下文章
Spring 批处理作业状态配置为使用 prometheus 发出警报
中国科大精密机械与仪器系2014图像处理大作业之门牌号码识别大作业 opencv 版本