对于最新的稳定版本,请使用 Spring Data Redis 4.0.4spring-doc.cadn.net.cn

可观测性

从应用程序组件获取有关其操作、耗时以及与应用程序代码关系的深入信息,对于理解延迟至关重要。 Spring Data Redis 通过 Lettuce 驱动程序集成了 Micrometer,以便在与 Redis 交互期间收集观测数据。 一旦集成设置完成,Micrometer 将为每个 Redis 命令创建度量指标(meters)和跨度(spans,用于分布式追踪)。spring-doc.cadn.net.cn

要启用该集成,请将以下配置应用于LettuceClientConfigurationspring-doc.cadn.net.cn

@Configuration
class ObservabilityConfiguration {

  @Bean
  public ClientResources clientResources(ObservationRegistry observationRegistry) {

    return ClientResources.builder()
              .tracing(new MicrometerTracing(observationRegistry, "my-redis-cache"))
              .build();
  }

  @Bean
  public LettuceConnectionFactory lettuceConnectionFactory(ClientResources clientResources) {

    LettuceClientConfiguration clientConfig = LettuceClientConfiguration.builder()
                                                .clientResources(clientResources).build();
    RedisConfiguration redisConfiguration = …;
    return new LettuceConnectionFactory(redisConfiguration, clientConfig);
  }
}
使用 Spring Boot 时,LettuceMetricsAutoConfiguration 会配置 Lettuce 的 MicrometerCommandLatencyRecorder。 根据你是否只需要指标(Metrics)还是同时需要指标和追踪(Tracing),你可能希望在应用程序中排除该自动配置类。
使用 Lettuce 内置的 MicrometerTracing,因为 MicrometerTracingAdapter 已被弃用,并将在未来的版本中移除。

另请参阅OpenTelemetry 语义约定以获取更多参考信息。spring-doc.cadn.net.cn

可观测性 - 指标

以下列出了 MicrometerTracingAdapter 记录的所有指标。spring-doc.cadn.net.cn

Redis 命令观测

围绕 Redis 命令执行创建的计时器。spring-doc.cadn.net.cn

指标名称 spring.data.redis类型 timer基本单位 secondsspring-doc.cadn.net.cn

封闭类 org.springframework.data.redis.connection.lettuce.observability.RedisObservation 的全限定名。spring-doc.cadn.net.cn

表1. 低基数键

Redis 命令值。spring-doc.cadn.net.cn

db.redis.database_indexspring-doc.cadn.net.cn

Redis 数据库索引。spring-doc.cadn.net.cn

数据库系统。spring-doc.cadn.net.cn

Redis 用户。spring-doc.cadn.net.cn

net.peer.namespring-doc.cadn.net.cn

数据库主机的名称。spring-doc.cadn.net.cn

net.peer.portspring-doc.cadn.net.cn

逻辑远程端口号。spring-doc.cadn.net.cn

net.sock.peer.addrspring-doc.cadn.net.cn

Mongo 对等地址。spring-doc.cadn.net.cn

net.sock.peer.portspring-doc.cadn.net.cn

Mongo 对等端口。spring-doc.cadn.net.cn

net.transportspring-doc.cadn.net.cn

网络传输。spring-doc.cadn.net.cn

表2. 高基数键

Redis 语句。spring-doc.cadn.net.cn

spring.data.redis.command.errorspring-doc.cadn.net.cn

Redis 错误响应。spring-doc.cadn.net.cn

可观测性 - 跨度

以下列出了本项目声明的所有 span。spring-doc.cadn.net.cn

Redis 命令观测跨度

围绕 Redis 命令执行创建的计时器。spring-doc.cadn.net.cn

Span 名称 spring.data.redisspring-doc.cadn.net.cn

封闭类 org.springframework.data.redis.connection.lettuce.observability.RedisObservation 的全限定名。spring-doc.cadn.net.cn

表3. 标签键

姓名spring-doc.cadn.net.cn

描述spring-doc.cadn.net.cn

db.operationspring-doc.cadn.net.cn

Redis 命令值。spring-doc.cadn.net.cn

db.redis.database_indexspring-doc.cadn.net.cn

Redis 数据库索引。spring-doc.cadn.net.cn

db.statementspring-doc.cadn.net.cn

Redis 语句。spring-doc.cadn.net.cn

db.systemspring-doc.cadn.net.cn

数据库系统。spring-doc.cadn.net.cn

db.userspring-doc.cadn.net.cn

Redis 用户。spring-doc.cadn.net.cn

net.peer.namespring-doc.cadn.net.cn

数据库主机的名称。spring-doc.cadn.net.cn

net.peer.portspring-doc.cadn.net.cn

逻辑远程端口号。spring-doc.cadn.net.cn

net.sock.peer.addrspring-doc.cadn.net.cn

Mongo 对等地址。spring-doc.cadn.net.cn

net.sock.peer.portspring-doc.cadn.net.cn

Mongo 对等端口。spring-doc.cadn.net.cn

net.transportspring-doc.cadn.net.cn

网络传输。spring-doc.cadn.net.cn

spring.data.redis.command.errorspring-doc.cadn.net.cn

Redis 错误响应。spring-doc.cadn.net.cn