需求背景:小组内需要做一些日志分析工作,但生产环境的日志不包含请求时间数据,但是直接修改生产配置影响太大,所以只能增加一个nginx日志格式同时产生两种日志并分开存储,之后通过firebeat做字段分离并将其传输到logstash(这里用firebeat传输到logstash的原因是,nginx日志存储生产环境使用的是firebeat,而日志分析的elk部署在另一个AWS区域的非生产环境),最后在logstash当中做类型转换,然后在kibana中展示、分析
软件版本:本次搭建使用的软件都是6.2.4版本
同时本文不详细讲述搭建过程,只说明搭建过程中的几个难点,至于软件安装,百度和官方都有文档说明。
难点1.nginx更换日志格式
直接在nginx配置日志格式,并重启即可,如有旧版本的日志,建议清除或者指定新的日志文件(注:nginx可以指定多分不同格式的日志文件,将其存储在不同的文件即可)
include mime.types;
default_type application/octet-stream;
log_format json '{"@timestamp": "$time_iso8601", '
'"time": "$time_iso8601", '
'"remote_addr": "$remote_addr", '
'"AWS_ALB_ip": "$remot