可觀測性

Spring Data MongoDB 目前擁有最新的程式碼來支援您在 MongoDB 應用程式中的可觀測性。然而,這些更改尚未被 Spring Boot(尚)採納。在這些更改應用之前,如果您希望使用 Spring Data MongoDB 的可觀測性特性,必須執行以下步驟。

  1. 首先,您必須透過您的 @SpringBootApplication 類或您的一個配置類來自定義 MongoClientSettings,從而選擇使用 Spring Data MongoDB 的配置設定。

    示例 1. 註冊 MongoDB Micrometer 定製器設定
    @Bean
    MongoClientSettingsBuilderCustomizer mongoMetricsSynchronousContextProvider(ObservationRegistry registry) {
        return (clientSettingsBuilder) -> {
            clientSettingsBuilder.contextProvider(ContextProviderFactory.create(registry))
                                 .addCommandListener(new MongoObservationCommandListener(registry));
        };
    }
  2. 您的專案必須包含 Spring Boot Actuator

  3. 透過在您的 application.properties 中新增以下屬性,停用 Spring Boot 的自動配置的 MongoDB 命令監聽器並手動啟用跟蹤:

    示例 2. 要應用的自定義設定
    # Disable Spring Boot's autoconfigured tracing
    management.metrics.mongo.command.enabled=false
    # Enable it manually
    management.tracing.enabled=true

    務必新增基於 Micrometer 參考文件所需的任何其他相關設定來配置您正在使用的跟蹤器。

這樣就大功告成了!您現在正在執行 Spring Data MongoDB 使用 Spring 可觀測性的 Observation API。另請參閱 OpenTelemetry Semantic Conventions 以獲取進一步參考。