跳到主要内容

可观测性

DeepSeek V3 中英对照 Observability

Spring Data MongoDB 目前拥有最新的代码来支持 MongoDB 应用程序中的可观测性。然而,这些更改尚未被 Spring Boot 采纳。在这些更改生效之前,如果您希望使用 Spring Data MongoDB 的可观测性功能,您必须执行以下步骤。

  1. 首先,你必须通过自定义 MongoClientSettings 来启用 Spring Data MongoDB 的配置设置,可以在你的 @SpringBootApplication 类或某个配置类中进行。

    示例 1. 注册 MongoDB Micrometer 自定义器设置

    @Bean
    MongoClientSettingsBuilderCustomizer mongoMetricsSynchronousContextProvider(ObservationRegistry registry) {
    return (clientSettingsBuilder) -> {
    clientSettingsBuilder.contextProvider(ContextProviderFactory.create(registry))
    .addCommandListener(new MongoObservationCommandListener(registry));
    };
    }
    java
  2. 你的项目必须包含 Spring Boot Actuator

  3. 禁用 Spring Boot 自动配置的 MongoDB 命令监听器,并通过将以下属性添加到 application.properties 中手动启用追踪功能。

    示例 2. 应用的自定义设置

    # 禁用 Spring Boot 自动配置的追踪功能
    management.metrics.mongo.command.enabled=false
    # 手动启用
    management.tracing.enabled=true
    none

    请确保根据 Micrometer 的参考文档添加其他相关设置,以配置你所使用的追踪器。

这就完成了!你现在正在使用 Spring Data MongoDB 的 Spring Observability 的 Observation API。更多参考请参见 OpenTelemetry 语义约定

章节摘要