快速搭建一个基于ELK+kafka+filebeat的日志分析平台

"快速搭建一个基于ELK+kafka+filebeat的日志分析平台"

 

作为演示目的,我们模拟一个收集分析nginx日志的需求。其中需要两台服务器,一台运行ELK+kafaka, 另一台运行nginx+filebeat。

 

服务器基本情况如下:

编号IP用途预装软件
A172.18.107.120运行ELK和Kafakagit、docker、docker-compose
B172.18.107.121运行Nginx和Filebeatnginx、docker

 

安装ELK

进入A机器,执行以下步骤:

  1. 拉取部署脚本

  2. 启动es、logstash、kibana服务

至此,访问http://172.18.107.120:5601即可看到kibana界面,默认登录账号为elastic,登录密码为changeme

 

安装kafka

进入A机器,执行以下步骤

  1. 拉取部署脚本

  2. 修改docker-compose.yml,将KAFKA_ADVERTISED_HOST_NAME改成本机IP

  3. 启动kafka

     

安装filebeat

进入B机器,执行以下步骤

  1. 新建文件/etc/filebeat/filebeat.yml

    将下面内容根据实际参数进行调整

  2. 启动filetbat服务

 

配置logstash

  1. 修改logstash/pipeline/logstash.conf

  2. 重启logstash

     

配置kibana

  1. 以上步骤如果没问题的话,进入Index Management即可看到nginx日志有被写入到ES了。

    image-20201014111551405

  2. 创建一个kibana index pattern

    image-20201014114041914

  3. 至此,收集日志的工作已经完成,进入Discover可以浏览到日志内容。

    image-20201014111651737