本文主要是介绍使用logrotate对Suricata日志进行管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.在/etc/logrotate.d中创建空白文件,比如suri_logrotate
2.在suri_logrotate中添加以下内容
/var/log/suricata/eve.json
{dailyrotate 3missingoknocompresscreatedateextdateformat .%Y-%m-%dsharedscriptspostrotate/bin/kill -HUP `cat /var/run/suricata.pid 2>/dev/null` 2>/dev/null || trueendscript
}
logrotate常用关键字解释:
daily|weekly|monthly 指定转储的周期
rotate 3 //可以保留几份日志文件
missingok 如果日志丢失,不报错继续滚动下一个日志
nocompress 不做gzip压缩处理
create 自动创建新的日志文件,新的日志文件具有和原来的文件相同的权限
sharedscripts 运行postrotate脚本,作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个,那么每个日志轮转后都会执行一次脚本
prerotate 在logrotate转储之前需要执行的指令
postrotate 在logrotate转储之后需要执行的指令
olddir 转储的日志存放目录
dateext 使用当期日期作为命名格式
dateformat .%Y-%m-%d 配合dateext使用,紧跟在下一行出现,支持 %Y %m %d %s 这四个参数
3.可以使用以下命令对创建好的配置文件进行测试
(1)logrotate -d /etc/logrotate.d/suri_logrotate //调试模式,输出调试结果,但并不执行。
(2)logrotate -f /etc/logrotate.d/suri_logrotate //强制模式,对suri_logrotate进行rotate。
注意,如果日志转储失败,那么尝试通过以下方法解决
1.使用命令
chcon -Rv --type=var_log_t /var/log/suricata/
2.如果运行以上命令报错误chcon: can’t apply partial context to unlabeled file xxxxx,使用ls -Z查看日志安全对象属性,如果没有system_u:object_r:var_log_t:s0
-rw-r–r--. root root system_u:object_r:var_log_t:s0 eve.json
如果没有,那么通过复制别的文件安全对象属性赋予当前文件安全对象属性即可
chcon -Rv --reference=/var/log/anaconda/anaconda.log /var/log/suricata/
这篇关于使用logrotate对Suricata日志进行管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!