腾讯云分布式缓存数据库 通过 local-client-list 获取客户端信息

在业务下线、连接排查等场景中,可以以通过 CLIENT LIST 命令查看客户端连接信息,确保没有残留连接。腾讯云分布式缓存数据库支持通过配置 Proxy 参数 local-client-list,控制在 Proxy 节点执行 CLIENT LIST 命令时返回的客户端信息范围。

相关产品
腾讯云分布式缓存数据库(兼容 Redis) 产品页,含版本规格、价格与购买入口。

一、操作场景

参数值 命令行为 适用场景 默认适用实例
true 仅返回当前连接的 Proxy 节点的客户端列表,性能开销低 日常查看客户端连接 Proxy v5.8.25版本起新购实例默认配置
false 通过 Redis Pubsub 机制聚合返回实例下全部 Proxy 节点的客户端列表(全量信息) 排查全实例残留连接等场景 存量实例(v5.8.24及之前)默认配置

二、注意事项

将 local-client-list 设置为 false 后,CLIENT LIST 命令会通过 Redis Pubsub 机制聚合实例下全部 Proxy 节点的客户端列表。在客户端连接数较大的场景下,该操作会使 Redis 0槽位对应的 master 节点压力过大,容易触发出流量限制,存在稳定性风险。建议在业务低峰期谨慎使用,完成排查后将参数改回 true。

注意:说明:

注意:如需查看实例的全量连接与命令访问记录,建议使用数据库审计功能。审计功能支持按客户端 IP、用户账号、执行命令等多维度检索历史操作日志,无需执行 CLIENT LIST 全量聚合,不会对实例产生额外压力。开通方式请参见 开通数据库审计。

三、前提条件

·已创建腾讯云分布式缓存数据库实例。

·已获取实例的连接地址、端口及密码(可在实例详情页的网络信息中查看),且客户端与实例网络互通(位于同一 VPC,或已开通外网访问)。

四、步骤一:配置 local-client-list 参数

1. 登录 腾讯云分布式缓存数据库控制台。

2. 在右侧实例列表页面上方,选择地域。

3. 在实例列表中,单击目标实例 ID,进入实例详情页面。

4. 在实例详情页面,选择参数配置页签。

5. 在可修改参数页签,在参数列表中,找到 local-client-list 参数行,在当前运行参数值列,将鼠标放在参数值上面,单击修改参数值。根据需要将其修改为 true 或 false。具体修改方式,请参见 管理实例参数。

注意:说明:

注意:local-client-list 参数修改后无需重启实例即可生效。

五、步骤二:执行 CLIENT LIST 获取客户端信息

1. 通过客户端连接实例的 Proxy 节点。以 redis-cli 为例:

redis-cli -h <实例连接地址> -p <端口> -a <密码>

2. 执行 client list 命令,即可按 LocalClientList 的配置返回对应范围的客户端连接信息:

<实例连接地址>:<端口>> client listid=7 addr=10.0.0.12:52140 fd=8 name= age=132 idle=5 flags=N db=0 cmd=client|listid=9 addr=10.0.0.15:51022 fd=9 name= age=60 idle=0 flags=N db=0 cmd=get

·参数配置为 true 时:仅返回当前连接的这一个 Proxy 节点上的客户端连接。

·参数配置为 false 时:返回实例下全部 Proxy 节点的客户端连接,返回条数通常更多。

CLIENT LIST 每行对应一个客户端连接,local-client-list 仅影响返回范围,不改变各字段的含义。排查连接时常用的字段如下。

字段 说明
id 客户端连接的唯一 ID
addr 客户端的 IP 地址和端口,用于定位连接来源
fd 客户端对应的文件描述符
name 客户端名称(通过 CLIENT SETNAME 设置,未设置时为空)
age 该连接已建立的时长(单位:秒)
idle 该连接的空闲时长(单位:秒),可用于排查长时间空闲无活动的连接
cmd 该连接最近执行的命令
赞 (0)
上一篇 4天前
下一篇 4天前