You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何停止Spring Boot通过Micrometer向Prometheus推送默认指标?

仅推送自定义指标的解决方案

要只保留你自己定义的指标、停止推送Spring Boot默认生成的通用指标,有两种实用的方式:

方式一:通过MeterFilter精准过滤(推荐)

创建一个配置类,添加自定义的MeterFilter Bean,只允许指定前缀或名称的指标被采集和推送:

按前缀匹配(适合批量自定义指标)

如果你的自定义指标都有统一前缀(比如示例里的sb_console_),可以用前缀过滤:

import io.micrometer.core.instrument.Meter;
import io.micrometer.core.instrument.config.MeterFilter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MetricsFilterConfig {
    @Bean
    public MeterFilter customMetricFilter() {
        // 只保留名称以"sb_console_"开头的指标
        return MeterFilter.denyUnless(meter -> meter.getId().getName().startsWith("sb_console_"));
    }
}

按具体名称匹配(适合少量自定义指标)

如果自定义指标数量不多,也可以直接指定允许的指标名称:

@Bean
public MeterFilter customMetricFilter() {
    return MeterFilter.denyUnless(meter -> 
        meter.getId().getName().equals("sb_console_test_counter")
        // 可继续添加其他自定义指标,用||连接
        // || meter.getId().getName().equals("another_custom_metric")
    );
}

方式二:通过配置文件关闭特定内置指标采集

如果明确知道哪些内置指标类别不需要,可以在配置文件中直接关闭对应类别的指标采集:

YAML格式(application.yml)

management:
  metrics:
    enable:
      tomcat: false    # 关闭Tomcat相关指标
      jvm: false       # 关闭JVM相关指标
      system: false    # 关闭系统相关指标
      logback: false   # 关闭Logback相关指标
      # 其他不需要的类别都可以设为false

Properties格式(application.properties)

management.metrics.enable.tomcat=false
management.metrics.enable.jvm=false
management.metrics.enable.system=false
management.metrics.enable.logback=false

这种方式适合针对性关闭某类内置指标,但如果自定义指标较多,还是方式一的过滤更灵活。

内容的提问来源于stack exchange,提问作者adesai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 08:16:02