上一篇
Redis监控 | 操作日志:手把手教你追踪Redis操作记录
2025年8月最新动态
Redis Labs在官方社区透露,将在下一版本中强化操作日志的细粒度查询功能,支持按时间范围、客户端IP等多维度过滤记录,这一更新对运维人员排查问题更加友好,预计年底正式发布。
Redis作为高性能内存数据库,日常可能遇到以下问题:
FLUSHDB
怎么办? 这时候,操作日志(Operation Log)就是你的“破案工具”!
在Redis客户端直接执行:
0.0.1:6379> MONITOR
输出示例:
123456 [0 192.168.1.100:54123] "SET" "user:101" "Alice"
1654321000.456789 [0 192.168.1.101:54234] "GET" "user:101"
优点:实时性强,适合调试。
缺点:高性能损耗(官方警告生产环境慎用),且退出后历史记录丢失。
记录执行时间超过阈值的命令(默认10毫秒):
# 查看当前配置 127.0.0.1:6379> CONFIG GET slowlog-log-slower-than 127.0.0.1:6379> CONFIG GET slowlog-max-len # 修改为记录超过5毫秒的命令,保留1000条 127.0.0.1:6379> CONFIG SET slowlog-log-slower-than 5000 127.0.0.1:6379> CONFIG SET slowlog-max-len 1000 # 查看日志 127.0.0.1:6379> SLOWLOG GET 5 # 获取最近5条
适用场景:定位性能瓶颈,但无法覆盖所有操作。
如果开启了AOF(Append-Only File),所有写操作会被记录到文件(如appendonly.aof
):
# 查看AOF配置 127.0.0.1:6379> CONFIG GET appendonly # 解析AOF文件(需停机) redis-check-aof --fix appendonly.aof cat appendonly.aof | grep "SET user:101"
优点:完整记录所有写操作。
缺点:需手动解析,且默认配置可能每秒同步一次(丢失部分记录)。
redis-audit
,可分析命令频率、客户端来源。 *Q:能记录谁执行了`KEYS 吗?** A:可以!通过
MONITOR或AOF都能捕获,但更推荐用
redis-audit`统计高危命令。
Q:操作记录会占满内存吗?
A:慢查询日志受slowlog-max-len
限制,AOF文件可配置自动重写(BGREWRITEAOF
)。
Q:如何追踪非当前连接的客户端?
A:使用CLIENT LIST
查看所有连接,再结合日志中的客户端IP/端口筛选。
本文由 戴碧菡 于2025-08-08发表在【云服务器提供商】,文中图片由(戴碧菡)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://up.7tqx.com/wenda/566291.html
发表评论