发帖互助解决各类问题
【案例】audit写日志占满分区空间出现系统停机
2024-07-05案例库auditlog
audit写日志占满分区空间出现系统停机
问题背景
系统异常停机,需要排查停机原因。
现象描述
查看日志记录是由audit执行停机动作,按照预期已配置日志回滚,不应该停机。 查看audit日志目录,存在记录大量日志且已占满空间,如下:
-r--------. 1 root root 6291639 May 14 04:10 audit.log.968
-r--------. 1 root root 6291629 May 14 03:28 audit.log.969
-r--------. 1 root root 6291630 May 14 02:45 audit.log.970
-r--------. 1 root root 6291627 May 14 02:03 audit.log.971
-r--------. 1 root root 6291546 May 14 01:20 audit.log.972
-r--------. 1 root root 6291689 May 14 00:38 audit.log.973
-r--------. 1 root root 6291705 May 13 23:57 audit.log.974
-r--------. 1 root root 6291528 May 13 23:14 audit.log.975
...
原因分析
从现象上看,疑似audit日志回滚能力失效,检查auditd.conf配置:
...
max_log_file = 6 // 日志文件大小6MB
num_logs = 5 // 最大日志文件数5
...
admin_space_left = 50
admin_space_left_action = halt //空间小于admin_space_left执行停机
...
按照上述配置,最多出现5个日志文件,但实际超过设定值,不符合预期;系统停机是配置的默认动作,符合预期。
检查message日志,排查audit是否出现异常信息:
...
2024-06-09T04:59:46.424433+08:00 localhost auditd[21699]: Audit daemon rotating long files with keep option
...
从日志来看,触发了audit日志回滚,但是使用“keep option”选项,查看auditd.conf配置:
...
max_log_file_action = keep_logs //keep_logs 与rotate相似,但忽略num_logs选项
...
综上所述,此案例下audit写日志占满空间是由于配置“max_log_file_action = keep_logs”导致"num_logs = 5"参数失效。
解决方案
将max_log_file_action设置为rotate即可。
【版权声明】Copyright © 2024 openEuler Community。本文由openEuler社区首发,欢迎遵照 CC-BY-SA 4.0 协议规定转载。转载时敬请在正文注明并保留原文链接和作者信息。
【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。