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

2018-12-17  本文已影响0人  有时右逝

前言

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

elk简介

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

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

过程

目录暂定为elk

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
上一篇下一篇

猜你喜欢

热点阅读