Observability

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