可觀測性

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

  1. 首先,您必須透過自訂 MongoClientSettings,透過您的 @SpringBootApplication 類別或您的組態類別之一,選擇加入 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. 停用 Spring Boot 的自動組態 MongoDB 命令監聽器,並透過將以下屬性新增至您的 application.properties 手動啟用追蹤

    範例 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 Observability 的 Observation API 的使用。另請參閱 OpenTelemetry 語意慣例 以取得更多參考資訊。