首页 > Java > 调用计数器后,Prometheus /metrics 页面未更新

调用计数器后,Prometheus /metrics 页面未更新

WBOY
发布: 2024-02-11 17:09:08
转载
1209 人浏览过

php小编子墨在使用Prometheus监控工具时,遇到了一个问题:调用计数器后,Prometheus /metrics页面未更新。这个问题的出现可能导致监控数据不准确,给系统的运行带来了一定的困扰。为了解决这个问题,我们需要找出原因并采取相应的措施。在接下来的内容中,我们将逐步分析可能的原因,并提供解决方案,帮助读者解决这一问题。

问题内容

我有一个 spring bean,其中的仪表是这样初始化的:

@postconstruct
    public void initgauge() {
        paymentstriedgauge = gauge.build().name("payments_tried").help("how many payments was sent to paymentservices to be created").register(registry.getprometheusregistry());
        paymentscreated = gauge.build().name("payments_created").help("how many payments sent to paymentservices were created").register(registry.getprometheusregistry());
    }
登录后复制

注册表来自哪里

@autowired
prometheusmeterregistry registry;
登录后复制

然后我用一种方法:

paymentstriedgauge.inc();
登录后复制

但后来在 promtheus 的 /metrics 页面上我没有收到任何更新:

# HELP payments_tried How many payments was sent to PaymentServices to be created
# TYPE payments_tried gauge
payments_tried 0.0
登录后复制

解决方法

您的用例直接使用 prometheus 仪表。 micrometer 本身可以与自己的仪表一起使用。 (不需要spring boot)

例如:

// maintain a reference to myGauge
AtomicInteger myGauge = registry.gauge("numberGauge", new AtomicInteger(0));

// ... elsewhere you can update the value it holds using the object reference
myGauge.set(27);
myGauge.set(11);
登录后复制

请注意变量 mygauge 实际上是一个 atomicinteger 并且 micrometer 只是报告该实例的值。 atomicinteger 还有一个 increment() 方法,您可以很好地使用。

以上是调用计数器后,Prometheus /metrics 页面未更新的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板