如何从春季启动指标(datadog)中删除默认的核心指标



我想禁用所有内置指标(jvm、cpu等(,但保留我的自定义指标。

当我启用Spring Boot Actuator指标和Datadog时,我最终收到了发送给Datadog的+320指标。这些指标中的大多数来自内置的核心指标(JVM指标、CPU指标、文件描述指标(,其中只有5个是我的自定义指标,我想将其发送给datadog。

根据Spring Boot文档的这一部分:

Spring Boot还配置内置仪器(即MeterBinder实现(,您可以通过配置或专用注释标记

但没有关于如何排除这些指标的直接示例

从我在另一个SO问题中发现的一种控制方法是:

management.metrics.enable.all=false
management.metrics.enable.jvm=true

并且移除除JVM之外的所有度量。但它也删除了我的自定义度量。

我不知道如何重新启用我的自定义度量。

为了记录在案,我注册自定义指标的方式是这样的:

@Autowired
public void setMeterRegistry(MeterRegistry registry) {
this.meterRegistry = registry;
}
....
Counter n_event_in = this.meterRegistry.counter("n_events_in");

只要`management.metrics.enable.all=true ,这就可以正常工作

那么,我如何禁用所有核心指标,但保留我的自定义指标呢?

度量应该有一个通用前缀,如myapp.metric1myapp.metric2等。然后,您可以禁用所有度量,并显式启用所有myapp.*度量,如

application.properties:

management.metrics.enable.all=false
management.metrics.enable.myapp=true

则CCD_ 4将启用所有CCD_。

如果你想再次启用一些内置的核心指标,例如重新启用jvm.*,你可以这样做:

management.metrics.enable.all=false
management.metrics.enable.myapp=true
management.metrics.enable.jvm=true

我在github中创建了一个示例项目,该项目禁用核心度量,启用自定义度量和jvm.*度量,并发送到Datadog。

最新更新