Redis实时运行日志查看与开启方法

作者:技术拾光

时间:2026-06-01

浏览:318

通过配置redis.conf设置日志路径为/var/log/redis/redis-server.log并指定notice级别,确保目录存在且有写入权限后重启服务。使用tail-f实时监控日志,或通过slowlog和MONITOR命令查看慢查询和全量指令流,但MONITOR会严重影响性能,仅适合本地调试。

文章目录

要实时掌握 Redis 服务器的运行状态,包括正在执行的命令、连接的客户端以及异常信息,关键步骤是让 Redis 将日志写入文件,然后借助工具持续监控文件变化。本文将详细介绍从日志配置到实时监控的全流程,帮助您高效查看 Redis 实时运行日志。

配置 Redis 日志文件路径与日志级别

打开 redis.conf 配置文件,定位 logfile 和 loglevel 参数。若文件中不存在这些配置,请手动添加:

logfile "/var/log/redis/redis-server.log"
loglevel notice

重要提示: 必须确认 /var/log/redis/ 目录已存在,且 Redis 进程对该目录拥有写入权限。如果目录不存在,请执行 sudo mkdir -p /var/log/redis && sudo chown redis:redis /var/log/redis;否则,Redis 启动后日志将静默丢失,导致排查时无法看到任何输出。

notice 级别能够记录启动、关闭、客户端连接以及关键错误等信息,足以满足日常排查需求,且不会产生过多的日志刷屏。切勿将级别设为 debug——该级别会记录每条命令,几分钟内即可耗尽磁盘空间。

重启 Redis 使日志配置生效

使用 systemctl 重启 Redis 服务:sudo systemctl restart redis。然后检查服务状态:sudo systemctl is-active redis,返回 active 表示已按新配置正常运行。

若重启失败,90% 的原因在于日志路径不可写或配置语法错误。此时应立即执行 sudo journalctl -u redis -n 20 查看报错详情,可大幅缩短定位问题的时间。

实时监控 Redis 日志文件输出

以下三种方法可根据需求选择:

  • 方法一:直接使用 tail -f /var/log/redis/redis-server.log,该命令最为直观,可实时滚动显示新日志内容。
  • 方法二:若只需关注错误信息,可添加 grep 过滤:tail -f /var/log/redis/redis-server.log | grep "[error]",专门捕获问题。
  • 方法三:利用 less 配合 F 键——先执行 less /var/log/redis/redis-server.log,随后按 Shift+F,效果等同于 tail -f;按下 Ctrl+C 退出后,仍可回滚翻页查看历史日志。

只要 Redis 持续运行,上述任意一条命令都能让您实时查看新日志的产生,一目了然。

Redis实时运行日志查看与开启方法

查看最近的慢查询命令

首先确认慢查询阈值(单位微秒)。例如,若要捕捉执行时间超过 10ms 的命令:
redis-cli config set slowlog-log-slower-than 10000

然后获取最近的 5 条慢命令记录:
redis-cli slowlog get 5

输出结果中,第 3 个字段为执行耗时(微秒),第 4 个字段为完整命令数组。注意:slowlog 仅保存在内存中,重启后即清空,不属于持久化日志,因此仅适合临时排查使用。

使用 MONITOR 命令抓取全量实时指令流

若需查看 Redis 每秒处理的具体指令:
redis-cli monitor

如果您的 Redis 版本为 7.2 及以上,还可限制仅显示来自指定客户端的指令:
redis-cli --monitor --filter "192.168.1.100"

重要提醒: 此操作会严重降低 Redis 性能,单核 CPU 吞吐量可能下降 40% 以上。该命令仅适用于本地调试,生产环境中切勿长时间开启,更不应将其加入自动化脚本中执行——否则可能导致线上服务雪崩。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章