camel-observation-starter 使用完整请求数据创建指标

问题描述 投票:0回答:1

我有一个使用 Camel 的 Spring Boot 3 项目。我正在使用

org.apache.camel.springboot:camel-observation-starter
进行追踪。

我已经使用 autoconfig instructions来自骆驼观察团队的博客设置了该项目。

我的跟踪正在工作,并且正在生成指标(使用普罗米修斯)。我的问题是,camel-observation-starter 生成的默认指标非常疯狂,每个请求和响应都存储为自己的指标,因此基本上每个请求/响应都完整存储在 prometheus 端点上。

我想使用camel-observation-starter进行跟踪,但停止它产生任何指标。我找不到办法做到这一点。有什么建议吗?

更新:camel-observation-starter 使用 ObservationRegistry 类。我尝试自己将其注册为无操作注册表,并且这有效,因为它删除了我不希望从骆驼中获得的“垃圾”指标。我的自定义指标仍然存在。然而,我所依赖的默认 spring 指标(例如 http_server_requests_seconds_sum)缺失了。

@Bean
public ObservationRegistry observationRegistry() {
    return ObservationRegistry.NOOP;
}
spring spring-boot apache-camel prometheus
1个回答
0
投票

我能够解决这个问题,至少是以一种相当不令人满意的方式。我创建了一个 MeterFilter 来删除名称过长的指标。这使得我的跟踪以及我想要的普罗米修斯指标保持完整,例如默认的弹簧执行器指标和我的自定义指标。

@Bean
public MeterFilter meterFilter() {
    return new MeterFilter() {
        @Override
        public MeterFilterReply accept(final Meter.Id id) {
            if (id.getName().length() > 100) {
                return MeterFilterReply.DENY;
            }
            return MeterFilterReply.NEUTRAL;
        }
    };
}
© www.soinside.com 2019 - 2024. All rights reserved.