记一次生产环境物理机磁盘/目录被日志打满处理方式(logrotate失效)

时间:2024-04-05 22:29:38

#山东梅长苏

监控发现物理机/目录使用率一直100%,messages和secure日志特别大,应用已无法启动。logrotate不生效排查了好长时间,原来的处
理方式是logrotate /etc/logrotate.conf加-f强制执行,但这种方式并没有找到问题根源。因为有几百台生产物理机,不敢随便放过这
个问题,后面研究找到了问题的根源。

1、先备份到其他目录
#cp -f /var/log/messages /data/systemlog/
#cp -f /var/log/secure /data/systemlog/

2、再紧急清空日志文件(不要用rm删除,因为被进程占用无法释放空间)
#echo ‘’ > /var/log/messages
#echo ‘’ > /var/log/secure

2.1 排查根源问题

暴露5个问题,分别解决三个问题,执行命令:

logrotate /etc/logrotate.conf
记一次生产环境物理机磁盘/目录被日志打满处理方式(logrotate失效)

2.2 解决 /var/log/get_vif_statistic.log 的问题,该物理机是kvm宿主机,所以会有虚拟网络的问题

a、查找相关文件

记一次生产环境物理机磁盘/目录被日志打满处理方式(logrotate失效)

b、备份 /etc/logrotate.d/vswitch 文件至其他目录:
#cp /etc/logrotate.d/vswitch /tmp/

c、编辑该文件,将 get_vif_statistic.log 相关的行删除掉;
#vim /etc/logrotate.d/vswitch

2.3 解决 /var/lib/logrotate.status 的问题:

a、确认是否有异常字符:
#cat -A /var/lib/logrotate.status

记一次生产环境物理机磁盘/目录被日志打满处理方式(logrotate失效)

b、解决方法:备份 /var/lib/logrotate.status 文件至其他目录,然后执行命令清空文件:
# >/var/lib/logrotate.status

2.4 解决 /var/log/boot.log 问题,发现没有此文件

直接创建该文件:
#touch /var/log/boot.log

3.1 重新执行 logrotate /etc/logrotate.conf 验证已无报错

3.2 查看日志文件大小,及磁盘占用情况:

ll -Sh /var/log/
df -h