可観測性

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. 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 Observability の Observation API を Spring Data MongoDB が使用して実行しています。詳細については、OpenTelemetry セマンティック規則 (英語) も参照してください。