一. 什么是ELK

ELK是Elasticsearch, Logstash, Kibana三个开源软件的缩写。ELK提供了一套集成方案,配合FileBeat一起使用是目前比较主流的一种日志系统。

Elasticsearch是基于lucene的开源搜索引擎,是一个分布式的搜索分析系统,提供高拓展,高实时的搜索与数据分析。主要用于全文搜索,结构化数据分析,日志分析等场景。

Logstash是一个管理日志和事件的工具,用于日志的搜集和分析,由于是jvm跑的,资源消耗比较大,所以一般都用Filebeat进行日志收集,Logstash用来过滤分析

kibana是一个可视化日志和数据系统,为用户提供web端的可视化界面

Filebeat主要用于日志收集,相比于Logstash的日志收集功能,Filebeat更轻量,占用资源更少,但logstash具有filter功能,能分析过滤日志,所以一般结构都是用Filebeat采集日志,利用Logstash的filter功能过滤,然后存储到elasticsearch中

二. ELK架构

如何搭建ELK

三. 搭建ELK

  1. 确保服务器安装了docker
  2. 拉取镜像:sudo docker pull sebp/elk
  3. 启动容器: sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name my_elk sebp/elk
    (1)5601为kibana端口
    (2) 9200为elasticsearch端口
    (3) 5044为logstash端口
  4. 注意事项:
    (1).若与宿主机有端口冲突,根据实际情况修改宿主机端口。
    (2).可将elk三个系统的配置文件映射到宿主机持久化,并方便修改。
    三、搭建filebeat
  5. 下载安装包:wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.1-linux-x86_64.tar.gz
  6. 解压:tar -zxvf filebeat-6.5.1-linux-x86_64.tar.gz && mv filebeat-6.5.1-linux-x86_64 filebeat
  7. 配置filebeat: cd filebeat && vim filebeat.yml
    (1).输入配置
    filebeat.inputs:
  • type: log
    enabled: true
    paths:
    • /var/log/*.log #配合需要收集的日志路径
      (2).输出配置
      屏蔽output.elasticsearch, 开启output.logstash
      output.logstash:
      hosts: [“localhost:5044”] #配置logstash的ip/port
  1. 启动filebeat:
    nohup ./filebeat -e -c filebeat.yml > /dev/null &
    四、配置pipeline
    1、数据流:Beats -> Logstash -> Elasticsearch
    2、Logstash配置:
    (1).配置路径:容器内/opt/logstash/config/pipelines.yml 与/opt/logstash/config/beats.conf
    (2).【pipelines.yml】path.config: "/opt/logstash/config/beats.conf
    (3).【beats.conf】:
    input {
    beats {
    port => 5044
    }
    }
    output {
    elasticsearch {
    hosts => [“http://234.34.43.34:9201”]
    index => “mynginx-%{+YYYY.MM.dd}”
    #user => “elastic”
    #password => “changeme”
    }
    }
    (4)重启elk: sudo docker restart my_elk
    3、创建索引:
    (1) 登录kibana,在Stack Managemetn创建索引,自动关联elasticsearch已有索引,例如上文中mynginx.
    如何搭建ELK

    (2).登录Kibana,在Discover页面即可查询数据
    如何搭建ELK

相关文章: