基于elk 实现nginx日志收集与数据分析。
一。背景 前端web服务器为nginx,采用filebeat + logstash + elasticsearch + granfa 进行数据采集与展示,对客户端ip进行地域统计,监控服务器响应时间等。 二。业务整体架构: nginx日志落地——》filebear——》logstash——》elasticsearch——》grafna(展示) 三。先上个效果图,慢慢去一步步实现 如上只是简单的几个实用的例子,实际上有多维度的数据之后还可以定制很多需要的内容,如终端ip访问数,国家、地区占比,访问前十的省份,请求方法占比,referer统计,user_agent统计,慢响应时间统计,更有世界地图坐标展示等等,只要有数据就能多维度进行展示。这里提供模板搜索位置大家可以查找参考: https://grafana.com/dashboards 四,准备条件 需要具备如下条件: 1.nginx日志落地,需要主要落地格式,以及各个字段对应的含义。 2.安装filebeat。 filebeat轻量,功能相比较logstash而言比较单一。 3.安装logstash 作为中继服务器。这里需要说明一下的是,起初设计阶段并没有计划使用filebeat,而是直接使用logstash发往elasticsearch,但是当前端机数量增加之后logstash数量也随之增加