可观测性
提示
来自deepseek解释
原文链接:https://redis.io/docs/latest/develop/clients/observability/
部分 Redis 客户端库实现了 OpenTelemetry(OTel)可观测性框架,使您能够收集应用程序的性能指标。这有助于您优化性能并快速定位问题。目前,以下客户端支持 OTel:
指标概述
指标是对应用程序行为的定量测量。它们提供诸如某个操作发生的频率、完成所需的时间或已发生错误数量等信息。通过分析这些指标,您可以识别需要解决的性能瓶颈、错误和其他问题。
Redis 客户端遵循 OTel 推送模型。该模型使用 OLTP 协议将指标发送到 收集器(同时支持 OLTP/gRPC 和 OTLP/HTTP)。存储层(例如 Prometheus)随后可以从收集器端点拉取指标,使数据可用于监控工具(例如 Grafana)进行查询和可视化。基本数据流如下所示。
GitHub 上的 Redis 客户端可观测性演示 包含了示例,展示了如何设置本地 Grafana 实例,然后将其连接到 Redis 客户端并可视化到达的指标数据。
Redis 指标组
在 Redis 客户端中,由 OTel 收集的指标按以下指标组组织:
resiliency:与 Redis 连接的可用性和健康状态相关的数据。connection-basic:关于客户端建立的 Redis 连接的最小指标集。connection-advanced:关于 Redis 连接的更详细指标。command:关于客户端执行的 Redis 命令的指标。client-side-caching:关于客户端缓存操作的指标。streaming:关于流操作的指标。pubsub:关于发布/订阅操作的指标。
当您配置客户端激活 OTel 时,您可以选择您感兴趣的指标组。默认情况下,仅启用 resiliency 和 connection-basic 组。每个组中的指标在下面的指标参考中进行描述。
指标参考
下面描述了各个指标组及其包含的指标。每个组名后的括号中的名称是该组的标识符,您在配置客户端选择要收集的指标时会用到它。
指标包含属性,这些属性提供额外信息(例如客户端库和服务器详细信息),您可以使用这些信息来过滤和聚合数据。属性在指标组之后的部分中进行描述。属性名称后显示的徽章可以是以下之一:
required:该属性将始终存在于指标中。optional:该属性可能存在于指标中。conditionally required:该属性仅在满足特定条件时才存在于指标中,例如发生特定错误时。条件在属性描述中说明。recommended:特定客户端库在某些情况下可能不支持此属性。
注意:本文档的“指标参考”部分未列出具体的指标名称和属性定义,请参阅各客户端库的具体文档以获取完整的指标列表和详细说明。