Debian 上 Redis 日志管理实操指南
一 定位与查看日志
redis-cli config get logfileredis-cli config get loglevelsudo journalctl -u redis-server -f 实时查看服务日志。以上方法可快速确认日志落盘位置与输出冗余度,便于后续调整与排错。二 配置日志级别与输出路径
loglevel 设为 debug|verbose|notice|warning 之一(生产常用 notice 或 warning)。logfile 设为 /var/log/redis/redis-server.log(需确保目录存在并可写)。sudo systemctl restart redis-serverredis-cli CONFIG SET loglevel verbose(无需重启,便于临时排障)loglevel notice
logfile /var/log/redis/redis-server.log
logfile 留空或为 stdout,日志会输出到控制台(或 systemd 日志),不会写入文件。三 日志轮转与保留策略
sudo nano /etc/logrotate.d/redis/var/log/redis/redis-server.log {
daily
rotate 180
compress
delaycompress
missingok
notifempty
create 640 redis redis
sharedscripts
postrotate
/usr/bin/systemctl reload redis-server >/dev/null 2>&1 || true
endscript
}
sudo mkdir -p /var/log/redissudo chown redis:redis /var/log/redissudo logrotate -f /etc/logrotate.d/redisls -lh /var/log/redis/,应出现带日期的轮转文件与 .gz 压缩文件rotate N 与轮转频率共同决定;上例为“每日轮转 × 保留 180 份”。四 常见问题与快速排查
redis.conf 后未重启或未用 CONFIG SET 应用;必要时 sudo systemctl restart redis-server。postrotate 能成功 reload(如 systemctl 可用);失败可临时改用 kill -USR1 $(cat /var/run/redis/redis-server.pid)(路径以实际 pid 文件为准)。loglevel(如从 verbose 调至 notice),并缩短 rotate 保留天数;必要时增加 maxmemory 与淘汰策略,避免业务异常放大日志量。