关于elk搭建请看:《elk搭建与简单的线上应用》
前序
在上一次《elk搭建和简单线上应用》中写道,Filebeat可以替代Logstash来实现数据收集与简单的清洗工作。 但是关于nignx日志各个字段都要清洗出来,当前Filebeat还做不到,需要借用Logstash能力 下面我将线上分析nignx日志的例子,来展示Logstash强大数据清洗的能力 具体步骤可以参考:https://www.cnblogs.com/hukey/p/11519612.html#1.%20%E5%89%8D%E8%A8%80
1、将nginx以json的日志格式输出 修改nginx配置文件:vim /etc/nginx/nginx.conf,如图修改 各参数详解请看:https://www.cnblogs.com/love-ycy/p/13741220.html 修改完nginx.conf,重新载入配置:nginx -s reload 查看nginx:/var/log/nginx/access.log,如下图 2、在业务服务器安装filebeat 这个在《elk搭建和简单线上应用》已经写过如何安装filebeat 这边我贴上获取nginx日志的filebeat配置文件:filebeat.yml 修改完配置文件重启filebeat服务
3、修改Logstash的配置文件 当前nginx日志信息已经发送到elk服务器的Logstash,修改Logstash的配置文件 1)cd /root/data/logstash/config/conf.d 2)vim filebeat-nginx.conf 我这边截取比较重要的配置,具体如何修改Logstash的配置文件请看Logstash开源文档
数据输入配置 下面是解析nginx的access日志的配置 下面是解析nginx的error日志的配置 下面是数据输出配置 重启elk:docker restart elk 这时候经过数据清洗的数据导入到Elasticsearch
4、我们登录Kibana:http://服务器A的IP:5601
如果网络层是通的,就可以在Kibana的索引管理中看到创建的新索引:logstash-nginx-xxx,有索引,就可以用Kibana分析日志了
|