2

在引入Micrometer作为基础指标提供程序之前,只需使用该模式SpringBoot即可创建您自己的计量表,该计量表发布直方图、预定义的存储桶大小等。似乎在 SpringBoot 2.x 之后,我不再能够在直方图中定义自己的存储桶边界。我只能找到一种方法来告诉 SpringBoot 发布一个我无法控制的百分比直方图。自动配置指标的百分位直方图几乎可以完成我想要的所有事情,除了它对于我的用例来说有太多的桶。我已经到处寻找关于如何配置至少该指标的最小值和最大值的解释,但这似乎是不可能的。TimerTimer.builder()http.server.request

如果有人对如何配置 a 的百分位直方图有任何见解Timer,或者如果有办法直接在 中组合存储桶Prometheus,我将不胜感激。

4

1 回答 1

1

针对您的特定问题(即存储桶太多)的一种解决方法(不是解决方案,但可能就足够了)是在 Prometheus 配置中过滤掉您在抓取时不需要的存储桶:https ://www.robustperception.io/使用普罗米修斯在抓取时间删除指标/

你将不得不使用这些方面的东西(没有测试过):

scrape_configs:
 - job_name: 'my_job'
   static_configs:
     - targets:
       - my_target:1234
   metric_relabel_configs:
   - source_labels: [ __name__, le ]
     regex: 'http\.server\.request_buckets;(0.1|0.5|1.0)'
     action: drop

这应该(再次,未经测试)丢弃所有le="0.1",le="0.5"le="1.0"桶。这对于 Prometheus 直方图来说是完全安全的,无论桶是在范围的末尾还是在中间,因为桶是累积的,即le="1.0"桶会计算所有出现的值< 1.0

于 2018-07-11T09:28:15.070 回答