Prometheus intrumentation用于分布式累计批处理作业

时间:2018-06-19 08:29:40

标签: prometheus

我每天多次运行构建脚本。我的感觉是我和我的同事花了相当多的时间等待这个脚本执行。现在我想知道:我们每天花多少时间等待脚本执行?。尽管我真的希望每天都有数据(例如&#34;上周一我们花了X分钟等待脚本执行,周二......)< / p>

为了找到答案,我用推送网关旋转了普罗米修斯。在构建脚本中,我向推送网关添加了一个REST调用,该调用发布了用机器名称标记的度量标准(类型:counter)和样本数据执行脚本所用的时间。

正在收集数据,但我意识到我收集的数据不足以回答我的问题,我需要将我推送的指标(即:当前运行已用时间)累积到以前的数据。 Looking at the documentation,我觉得这不会通过推送网关支持:

  

Pushgateway显然不是聚合器或分布式计数器,而是指标缓存

我的问题是:

  • 是否可以通过Prometheus Push Gateway收集我想要的指标。如果没有,我的选择是什么?
  • 如果可能,我应该收集哪些指标?

1 个答案:

答案 0 :(得分:0)

通常,Pushgateway确实不是分布式计数器,但是...

正确看待Pushgateway的方法,恕我直言,就像“还有另一个抓取端点”。 这意味着,它不会汇总您推送的指标,而只会“按原样”保存它们。 但是您实际上并不需要对其进行汇总-Prometheus将抓取来自PushGateway的数据,并且所有数据都将在Prometheus中可用。

之后-您可以直接在Prometheus上使用PromQL或利用Grafana来对Prometheus进行任何查询。

注意:有关Pushgateway的讨论很多,使用它也有不利之处。通常有guideline "non-goals" recommendation可以将Pushgateway用作“ 最后一个选项”-建议即使在工作中也要公开/ metrics路由。

P.S。如果您认为您确实需要汇总指标,可以看看同一篇文章中提到的Weavework's aggregation gateway。但是,再次-我认为这不是您想要的。