当前位置: 首页 > 知识库问答 >
问题:

如何用Spring Boot配置千分尺运行时的监控系统

王曜文
2023-03-14

我对一般的度量尤其是千分尺是新手,所以这可能是一个愚蠢的问题:

Micrometer在主页上描述自己是一个“门面”,“没有供应商锁定”,“想想SLF4J,但为了度量”。带有“对[...]网飞阿特拉斯的内置支持”。文档说它包含在Spring靴2中。

因此,我所期望的是能够在启动时配置监控系统--就像我使用SLF4J一样。因此,该文档描述了Spring Boot的设置management.metrics.export.atlas.enabled(以及其他)。但是,即使使用此设置,自动连接MeterRegistry注册表也会失败,如下所示:

Google引导我找到了Baeldung,在那里我读到了一些Micrometer-Registry-atlas依赖项,并提供了atlasMeterRegistry类型的MeterRegistrybean。这是有效的,但这不是我所说的“没有供应商锁定的门面”,但我想我只是做错了?

我如何在运行时提供监控系统,在Atlas和其他任何一个之间切换而不需要重新编译?

共有1个答案

葛宏爽
2023-03-14

@Crusy你实际上是对的,但该功能是执行器模块的一部分。这并没有很好的记录,我很幸运地在Spring Boot Gitter channnel https://Gitter.im/spring-projects/spring-boot/archives/2019/01/24中找到了答案?at=5C4980B00721B912A5CDC02F。

您将注意到Spring Boot文档中的Metrics部分位于Actuator下面:https://docs.Spring.io/spring-boot/docs/current/reference/htmlsingle/#production-ready-metrics。

这意味着为了让千分尺开箱工作,你需要在你的构建中包括执行器。例如对于Gradle:

implementation ('org.springframework.boot:spring-boot-starter-actuator')
 类似资料:
  • 我对Spring很陌生,正在尝试将我的应用程序连接到麋鹿。该应用程序运行的是Spring boot 1.5.5,因此我使用的是微米遗产。我的pom看起来像这样: 每当我尝试启动我的应用程序时,我都会收到以下错误: 根本原因似乎是类io.micrometer.core.instrument.config.validate.Validated它似乎没有像它应该的那样出现在包中。对此有什么想法吗?

  • 这篇题为“测微计:Spring Boot 2的新应用程序度量收集器”的博客文章提到了“维度的重要性”。 但是,它没有包括如何在Spring Boot应用程序中设置关联标签的足够示例。 现在,我正在使用Spring Boot 2的千分尺接口来提供Prometheus就绪输出,而无需进行任何基于Java的配置。例如,设置“主机”标签是否需要我编写一些代码?那会是什么样子? 以下是我的整个配置:

  • 假设我有一个应用程序,其中REST API更新产品的价格。 我想使用微米计来公开新价格作为指标。我无法理解微米计留档应该如何完成。 唯一对我有效的DoubleFunction是在我的ProductService中创建一个新方法来返回它的价格。这似乎是我想公开作为指标的每一条数据的开销。 我这里缺少什么?为什么不足以更新Gauge?

  • 我有一个Spring Boot应用程序,我有以下依赖关系:

  • 我对千分尺的理解仍然相当小,所以我将首先介绍我真正想要实现的目标。 目的 鉴于我在数据库表中有记录,每条记录都包含一个“creation_date”。 给定客户端调用 API 来获取这些记录 我想记录记录记录的访问次数,按其创建日期分组(仅月和年) 示例结果 在过去的6小时内,访问了2021年1月创建的10条记录 在过去的12小时内,访问了2021年2月创建的15条记录 在上周一和上周二之间,访问

  • 我有一个Spring Boot应用程序,我现在正在迁移到Micrometer。 我想实现的是,随着时间的推移计算特定对象的调用。 让我们假设我有一个创建某些品牌的汽车的功能。然后我想测量一下我在过去一分钟内创造了多少辆福特,斯柯达,大众等。特别是,如果在 之间没有创建斯柯达,则指标应返回 0。 文档声明我不应该使用计数器,因为在运行应用程序时,创建的汽车数量可能会无限增长。计时器也不太合适,因为我