Observability

  1. 启用 Spring Data MongoDB 的配置设置。

  2. 注册 MongoDB Micrometer 自定义程序设置。

  3. 包含 Spring Boot Actuator。

  4. 禁用 Spring Boot 的自动配置 MongoDB 命令监听器并手动启用跟踪。

Spring Data MongoDB 目前拥有最最新的代码,可在您的 MongoDB 应用程序中支持可观察性。但是,Spring Boot(尚未)采用这些更改。在应用这些更改之前,如果您希望使用 Spring Data MongoDB 风格的可观察性,则必须执行以下步骤。

  1. 首先,您必须通过自定义 MongoClientSettings 来选择 Spring Data MongoDB 的配置设置,方法是通过 @SpringBootApplication 类或其中一个配置类。.Registering MongoDB Micrometer customizer setup

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

  2. 通过添加以下属性到您的 application.properties 中,禁用 Spring Boot 自动配置的 MongoDB 命令监听程序,并手动启用追踪。.Custom settings to apply

# Disable Spring Boot's autoconfigured tracing
management.metrics.mongo.command.enabled=false
# Enable it manually
management.tracing.enabled=true

确保添加了配置您正在使用的跟踪器的任何其他相关设置,这些设置基于 Micrometer 参考文档。

现在应该可以了!你正在运行带有 Spring Data MongoDB 使用场景的 Spring Observability’s Observation API。有关更多参考,另请参阅 OpenTelemetry Semantic Conventions