filebeat收集nginx的json格式日志
当我们看到收集上来的日志格式不是我们想要的格式,可以通过修改配置文件来解决这一问题
1.可以通过修改nginx的配置文件,来改变日志的格式
vim /etc/nginx/nginx.conf
log_format json
'{"time_local": "$time_local",'
'"remote_addr":"$remote_addr", '
'"referer":"$http_referer", '
'"request":"$request", '
'"status": $status, '
'"bytes":$body_bytes_sent, '
'"agent":"$http_user_agent", '
'"x_forwarded":"$http_x_forwarded_for", '
'"up_addr":"$upstream_addr",'
'"up_host":"$upstream_http_host",'
'"upstream_time":"$upstream_response_time",'
'"request_time":"$request_time"'
' }';
2.选择新添加的json模版
3.检测nginx是否有误
4.重启nginx
systemctl restart nginx
5.将老日志清除一下
cat /dev/null >/var/log/nginx/access.log
6.再产生一些新的访问日志
7.再查看一下nginx的访问日志,已经变成新的模版
8.但是还不是我们想要的格式,我们可以在filebeat的inputs模块中加入配置信息来解决这一问题
json.keys_under_root: true
json.overwrite_keys: true
注意要对齐
9.将旧的索引删除掉,再重新生成一些访问日志,这时已经可以正常解析成json格式了
10.将kibana中的索引重新添加一次,就可以正常查看日志了