不修改Nginx的任何配置,也不使用任何工具转换格式。可以使用filebeat自带的模块完成日志的收集。
开启模块功能
filebeat配置文件增加并且开启模块功能
cat >/etc/filebeat/filebeat.yml << 'EOF'
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
processors:
- drop_fields:
fields: ["ecs","log"]
output.elasticsearch:
hosts: ["172.16.49.130:9200"]
indices:
- index: "nginx-access-%{[agent.version]}-%{+yyyy.MM}"
when.contains:
fileset.name: "access"
- index: "nginx-error-%{[agent.version]}-%{+yyyy.MM}"
when.contains:
fileset.name: "error"
setup.ilm.enabled: false
setup.template.enabled: false
EOF
查看支持的模块
Enabled为开启的模块,Disabled未开启
[root@002 filebeat]# filebeat modules list
Enabled:
Disabled:
activemq
...
激活模块
[root@002 filebeat]# filebeat modules enable nginx
Enabled nginx
模块配置
备份模块Nginx配置文件
cd /etc/filebeat/modules.d
cp nginx.yml nginx.yml.bak
写入配置文件
cat > /etc/filebeat/modules.d/nginx.yml << 'EOF'
- module: nginx
access:
enabled: true
var.paths: ["/var/log/nginx/access.log"]
error:
enabled: true
var.paths: ["/var/log/nginx/error.log"]
ingress_controller:
enabled: false
EOF
重启filebeat
systemctl restart filebeat.service
systemctl status filebeat.service
查看es数据
此时查看ES的数据,发现一切正常。甚至还可以根据IP解析出国家和地区,经纬度等信息,也就是说使用Kibana绘图的话日志字段将会更加丰富。