美文网首页
使用docker-compose 搭建elk日志系统

使用docker-compose 搭建elk日志系统

作者: 有时右逝 | 来源:发表于2018-12-17 13:58 被阅读0次

    前言

    好记性不如烂笔头。来公司的时候,搭建过日志系统elk。近期在使用中遇到一些问题,主要是日志系统消耗的资源太多。原本的系统配置较低,资源不够了。于是乎需要迁移到一台高配置的电脑上。但是我居然忘记了怎么搭建。于是又要开始一点点摸索。这一次,记录下过程吧。

    elk简介

    ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

    原本我使用的logstash,太消耗资源了。这里使用filebeat替换它。

    过程

    • 创建目录

    目录暂定为elk

    • 依次创建需要的文件和文件夹。


      image.png
    • 编写配置文件。

    docker-compose.yml的配置文件如下:

    version: "3"
    services:
      elasticsearch:
        image: docker.io/elasticsearch:5.6.5
        environment:
          - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
        volumes:
          - ./elasticsearch/data:/usr/share/elasticsearch/data
        container_name: elasticsearch565
        hostname: elasticsearch
        restart: always
        ports:
          - "9200:9200"
          - "9300:9300"
      kibana:
        image: docker.io/kibana:5.6.5
        environment:
          - ELASTICSEARCH_URL=http://elasticsearch:9200
        container_name: kibana565
        hostname: kibana
        depends_on:
          - elasticsearch
        restart: always
        ports:
          - "5601:5601"
      filebeat:
          image: docker.elastic.co/beats/filebeat:5.6.5
          volumes:
            - ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml
            - ./log:/tmp
          container_name: filebeat565
          hostname: filebeat
          restart: always
          privileged: true
          depends_on:
            - elasticsearch
    
    

    filebeat.yml的配置文件如下:

    filebeat:
      prospectors:
        - input_type: log
          paths:  # 这里是容器内的path
              - /tmp/test_log
      registry_file: /usr/share/filebeat/data/registry/registry  # 这个文件记录日志读取的位置,如果容器重启,可以从记录的位置开始取日志
    
    output:
      elasticsearch:  # 我这里是输出到elasticsearch,也可以输出到logstash
        index: "test_filebeat"  #  kibana中的索引
        hosts: ["elasticsearch:9200"] # elasticsearch地址
    
    • 准备测试数据
      准备一份测试数据,这样方便测试效果。
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    [2018-12-17 08:55:00/ DEBUG] [pool-3-thread-1] (com.xxxx.lightai.task.TaskJob:168) - 心跳检测中
    
    
    • 启动镜像
      执行命令即可启动
    docker-compose up  -d
    
    image.png
    • 下载地址
      下载后解压即可。
      下载

    相关文章

      网友评论

          本文标题:使用docker-compose 搭建elk日志系统

          本文链接:https://www.haomeiwen.com/subject/jawqkqtx.html