CentOS Redis日志管理指南
Redis在CentOS系统中的日志文件位置主要由配置文件中的logfile参数决定,默认路径通常为/var/log/redis/redis.log(或/var/log/redis/redis-server.log)。可通过以下命令快速确认:
cat /etc/redis.conf | grep logfile
若输出类似logfile /var/log/redis/redis.log的结果,则该路径即为日志文件所在位置。
Redis支持多级日志输出,通过loglevel参数调整日志详细程度,可选级别从低到高为:
配置方法:编辑/etc/redis.conf文件,修改loglevel参数,例如设置为notice:
loglevel notice
修改后需重启Redis服务使配置生效:
sudo systemctl restart redis
```。
### 三、实时日志查看方法
1. **查看实时日志**:使用`tail -f`命令跟踪日志文件的最新更新,适用于排查实时问题:
```bash
tail -f /var/log/redis/redis.log
less命令分页浏览(按Enter向下滚动,Space翻页,q退出):less /var/log/redis/redis.log
grep命令筛选特定关键字(如“error”),快速定位问题:grep "error" /var/log/redis/redis.log
```。
Redis自身不支持自动日志轮转,需借助CentOS系统自带的logrotate工具实现。配置步骤如下:
/etc/logrotate.d/目录下新建redis文件:sudo vi /etc/logrotate.d/redis
/var/log/redis/*.log {
daily # 每日轮转
missingok # 日志文件丢失时不报错
rotate 7 # 保留7个备份文件
compress # 压缩旧日志(节省磁盘空间)
notifempty # 日志为空时不轮转
create 640 redis redis # 创建新日志文件,权限640,属主redis,属组redis
}
sudo logrotate -vf /etc/logrotate.d/redis
logrotate默认通过cron每日自动运行(路径为/etc/cron.daily/logrotate),无需额外配置。grep命令筛选错误信息(如“error”“failed”),快速定位Redis运行中的问题(如数据库加载失败、连接超时等):grep -i "error" /var/log/redis/redis.log
grep -i "failed" /var/log/redis/redis.log
redis.conf中启用慢查询日志:slowlog-log-slower-than 10000 # 记录执行时间超过10ms的命令(单位:微秒)
slowlog-max-len 128 # 保留最近128条慢查询记录
查看慢查询日志:redis-cli slowlog get