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

Apache Camel中Micrometer组件问题:指标未在/actuator/prometheus显示

Apache Camel Micrometer指标未在/actuator/prometheus端点显示的排查方案

1. 补全必要依赖

仅添加camel-micrometer-starter不足以让指标输出到Prometheus端点,还需补充Spring Boot Actuator和Prometheus注册器依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

Spring Boot 3.1.4的依赖管理会自动匹配兼容的Micrometer版本,无需手动指定版本号。

2. 配置文件开启相关开关

在application.yml或application.properties中配置Actuator端点暴露、Prometheus导出以及Camel指标开关:

application.yml示例:

management:
  endpoints:
    web:
      exposure:
        include: prometheus,health  # 至少要包含prometheus
  metrics:
    export:
      prometheus:
        enabled: true
  endpoint:
    prometheus:
      enabled: true
camel:
  metrics:
    enabled: true  # 全局开启Camel指标
    micrometer:
      enabled: true  # 启用Micrometer作为指标实现
    route-enabled: true  # 自动为所有路由生成指标
    endpoint-enabled: true  # 自动为所有端点生成指标

3. 确保路由已配置指标监控

如果未开启全局路由指标,需在具体路由中显式添加metrics()处理器:

from("direct:business-route")
  .routeId("business-route-id")
  .metrics()  // 为该路由添加指标监控
  .to("jdbc:dataSource")
  .log("processed ${body}");

4. 验证版本兼容性

确认Camel版本(4.1.0)与Spring Boot 3.1.4的兼容性:两者属于兼容组合,但需避免手动指定Micrometer相关依赖的版本,优先使用Spring Boot依赖管理的版本。

5. 排查日志与端点访问

  • 启动应用后,访问http://localhost:8080/actuator/prometheus,搜索是否存在camel_前缀的指标(如camel_exchanges_total、camel_routes_active)。
  • 查看应用日志,排查是否有Camel metrics初始化失败、MeterRegistry注入异常等错误信息。

6. 检查自定义配置冲突

若存在自定义MeterRegistry配置类,需确保Camel能正确获取到该实例:避免覆盖默认的MeterRegistry,或在配置类中显式将其注入Camel的Micrometer组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:32:12