0 前提条件
已经安装并部署好了EFK集群,EFK集群从零开始部署详见教程。
1 Filebeat自带audit模块采集日志
使用filebeat-7.3.2自带的采集模块auditd采集linux系统审计日志auditd.log
1️⃣ 下载并安装filebeat-7.3.2
2️⃣ 修改filebeat.yml中关于elasticsearch和kibana的内容。
3️⃣ 启动auditd模块
./filebeat modules enable auditd
可以使用命令./filebeat modules list 查看可以使用的命令, 可以看到auditd模块已经启用
此时可以看到,只有auditd.yml文件没有后缀,说明模块启动了
4️⃣ 编辑auditd.yml文件
设置var.paths的值: 为需要采集的日志文件
var.paths :["/var/log/audit/audit.log"]
5️⃣ 初始化环境 ./filebeat setup
6️⃣ 运行filebeat
./filebeat –e
⑦ 在kibana中查看
此时在kibana中可以看到采集的日志索引
2 使用audibeat-7.3.2采集linux系统审计日志auditd.log
1️⃣ 下载并解压auditbeat-oss-7.3.2-linux-x86_64.tar.gz
2️⃣ 设置配置文件auditbeat.yml
3️⃣ 加入测试文件夹内容并配置es节点相关的ip地址
4️⃣ 将setup.dashboards.enabled改为true
5️⃣ 设置kibana地址
6️⃣ 测试启动auditbeat
./auditbeat test config -e
⑦ 启动auditbeat
./auditbeat –e
3 两者对比
启动filebeat和auditbeat后,可以在kibana中看到两者的索引已经建立起来了。
分别根据elasticsearch的索引建立kibana的索引,用于查看采集的数据
赋予脚本执行权限并执行脚本test.sh,才看他们各自采集的日志
使用auditbeat采集日志,如下:
对比之后可发现auditbeat中采集字段比filebeat采集字段更多也更详细,但如果专门使用auditbeat采集审计日志,则会增大内存开销,并且采集日志单一。使用filebeat可以采集绝大多数日志,包括nginx,mysql,redis,mangdb等。