可觀測性

MongoDB Java 驅動程式 5.7+ 直接內建了可觀測性。我們建議切換到驅動程式原生的 ObservabilitySettings,其配置方式如下所述。

@Bean
MongoClientSettingsBuilderCustomizer mongoDbObservabilitySettings(ObservationRegistry registry) {
    return (clientSettingsBuilder) -> {
        clientSettingsBuilder.observabilitySettings(ObservabilitySettings.micrometerBuilder()
                .observationRegistry(observationRegistry)
                .build());
    };
}

鑑於驅動程式原生的可觀測性支援,Spring Data 提供的 org.springframework.data.mongodb.observability 包中的型別將不再進一步開發,並將在後續版本中棄用/移除。

要使用 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 語義約定 以獲取更多參考。

© . This site is unofficial and not affiliated with VMware.