ELK部署 (docker-compose方式)

ELK的部署方式有很多种,这里我介绍一种简单的部署方式:docker-compose

一、docker-compose.yml

version: "3.2"
services:
    elasticsearch:
      image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
      container_name: elasticsearch
      environment:
        - discovery.type=single-node
        - bootstrap.memory_lock=true
        - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      ports:
        - 9200:9200
      networks:
        - "elk-net"
    filebeat:
      image: docker.elastic.co/beats/filebeat:7.4.2
      volumes:
       - type: bind
         source: "./filebeat/2018.log"
         target: "/2018.log"
       - type: bind
         source: "./filebeat/filebeat.yml"
         target: "/usr/share/filebeat/filebeat.yml"
      networks:
        - "elk-net"
      depends_on:
        - "logstash"
    logstash:
      image: docker.elastic.co/logstash/logstash:7.4.2
      container_name: logstash
      volumes:
        - type: bind
          source: "./logstash/logstash_stdout.conf"
          target: "/usr/share/logstash/pipeline/logstash.conf"
      networks:
        - "elk-net"
    kibana:
        image: docker.elastic.co/kibana/kibana:7.4.2
        ports:
          - "5601:5601"
        networks: 
          - "elk-net"
networks:
      elk-net:

二、项目目录结构:

ELK部署 (docker-compose方式)_第1张图片

ELK部署 (docker-compose方式)_第2张图片

ELK部署 (docker-compose方式)_第3张图片

ELK部署 (docker-compose方式)_第4张图片

三、讲解

log文件是模拟的测试文件。
logstash_stdout.conf 定义日志输入输出格式
filebeat.yml 把生成的日志传给 logstash

四、结果

ELK部署 (docker-compose方式)_第5张图片

ELK部署 (docker-compose方式)_第6张图片

你可能感兴趣的:(运维)