可观测性
Spring Data MongoDB 目前拥有最新的代码来支持 MongoDB 应用程序中的可观测性。然而,这些更改尚未被 Spring Boot 采纳。在这些更改生效之前,如果您希望使用 Spring Data MongoDB 的可观测性功能,您必须执行以下步骤。
-
首先,你必须通过自定义
MongoClientSettings来启用 Spring Data MongoDB 的配置设置,可以在你的@SpringBootApplication类或某个配置类中进行。示例 1. 注册 MongoDB Micrometer 自定义器设置
@Bean
MongoClientSettingsBuilderCustomizer mongoMetricsSynchronousContextProvider(ObservationRegistry registry) {
return (clientSettingsBuilder) -> {
clientSettingsBuilder.contextProvider(ContextProviderFactory.create(registry))
.addCommandListener(new MongoObservationCommandListener(registry));
};
} -
你的项目必须包含 Spring Boot Actuator。
-
禁用 Spring Boot 自动配置的 MongoDB 命令监听器,并通过将以下属性添加到
application.properties中手动启用追踪功能。示例 2. 应用的自定义设置
# 禁用 Spring Boot 自动配置的追踪功能
management.metrics.mongo.command.enabled=false
# 手动启用
management.tracing.enabled=true请确保根据 Micrometer 的参考文档添加其他相关设置,以配置你所使用的追踪器。
这就完成了!你现在正在使用 Spring Data MongoDB 的 Spring Observability 的 Observation API。更多参考请参见 OpenTelemetry 语义约定。
章节摘要
📄️ 约定
以下列出了本项目声明的所有 GlobalObservationConvention 和 ObservationConvention。
📄️ 指标
以下是该项目声明的所有指标列表。
📄️ 跨度
以下你可以找到由本项目声明的所有 spans 列表。