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

如何在Spring Boot 3+Camel项目中禁用camel-observation-starter的指标生成?

解决方案:保留Camel追踪功能并禁用Observation指标生成

针对你的Spring Boot 3 + Camel 4.4.1项目,要保留分布式追踪功能但关闭Observation模块生成的Prometheus冗余指标,可采用以下几种方案:

方案1:直接通过配置属性关闭指标

这是最简单的方式,利用Camel提供的原生配置开关,在application.yml或application.properties中添加配置:

YAML 配置:

camel:
  observation:
    metrics:
      enabled: false

Properties 配置:

camel.observation.metrics.enabled=false

该配置会直接禁用Camel Observation模块的指标收集逻辑,仅保留分布式追踪的链路追踪能力,不会再生成camel_*前缀的Prometheus指标。

方案2:自定义ObservationRegistry阻断指标生成

如果需要更灵活的控制,可通过自定义ObservationRegistry,不绑定Micrometer的MeterRegistry,从而阻止指标生成:

import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.aop.ObservedAspect;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class CustomCamelObservationConfig {

    @Bean
    public ObservationRegistry camelObservationRegistry() {
        ObservationRegistry registry = ObservationRegistry.create();
        // 不设置指标处理Handler,阻断指标生成
        registry.observationConfig().observationHandler(null);
        return registry;
    }

    @Bean
    public ObservedAspect observedAspect(ObservationRegistry observationRegistry) {
        return new ObservedAspect(observationRegistry);
    }
}

此方案通过替换默认的ObservationRegistry,切断指标生成的链路,同时保留追踪所需的Observation能力。

方案3:排除指标自动配置类

若上述配置未生效,可直接排除Camel Observation的指标自动配置类,在Spring Boot启动类中添加排除项:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(exclude = {
    org.apache.camel.springboot.observation.CamelObservationMetricsAutoConfiguration.class
})
public class CamelApplication {
    public static void main(String[] args) {
        SpringApplication.run(CamelApplication.class, args);
    }
}

CamelObservationMetricsAutoConfiguration是负责初始化Camel Observation指标的核心配置类,排除后即可停止指标生成,而追踪功能由CamelObservationAutoConfiguration正常维护。


验证方式

配置完成后启动项目:

  1. 访问Prometheus端点(默认路径/actuator/prometheus),确认camel_*前缀的指标已消失;
  2. 通过你的分布式追踪工具(如Zipkin、Jaeger)验证链路追踪是否仍正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:13:12