1. 下载需要的镜像文件

    1. docker pull elasticsearch
    2. docker pull logstash
    3. docker pull kibana
  2. 运行 elasticsearch ```shell

    创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))

    docker network create somenetwork

创建data文件夹并授权

cd /usr/local mkdir elasticsearch cd elasticsearch mkdir data chmod 777 data/

—net somenetwork \

运行 elasticsearch

docker run -d \ —name elasticsearch \ —restart=always \ -p 9200:9200 \ -p 9300:9300 \ -e “discovery.type=single-node” \ -e “ES_JAVA_OPTS=-Xms2g -Xmx2g” \ -v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \ elasticsearch:7.7.0

检测 elasticsearch 是否启动成功

curl 127.0.0.1:9200

  1. 3. 运行 Kibana
  2. ```shell
  3. docker run -d --restart=always --name kibana --net somenetwork -p 5601:5601 -e "I18N_LOCALE=zh-CN" kibana:7.1.1
  1. 安装 Logstash
    1. 创建配置文件的映射文件 ```shell cd /usr/local

      创建文件夹

      mkdir logstash

      创建配置文件的文件夹和日志文件夹

      cd /usr/local/logstash mkdir conf.d mkdir logs

      编写logstash.yml

      vim logstash.yml

path.config: /usr/local/logstash/conf.d/*.conf path.logs: /usr/local/logstash/logs

编写日志配置文件

cd conf.d vim springboot-logstash

input {
tcp {
mode => “server” port => 5044
codec => json_lines
}
}
output {
elasticsearch {
hosts => “localhost:9200”
index => “springboot-logstash-%{+YYYY.MM.dd}”
}
}

  1. 2. 运行
  2. ```shell
  3. docker run -d \
  4. --restart=always -p 5044:5044 -p 9600:9600 --name logstash --net somenetwork \
  5. -v /usr/local/logstash/logstash.yml:/usr/share/logstash/config/logstash.yml \
  6. -v /usr/local/logstash/conf.d/:/usr/share/logstash/conf.d/ \
  7. logstash:7.1.1
  1. 修改插件源, 防止插件下载过慢

    1. # 进入logstash容器
    2. docker exec -it logstash /bin/bash
    3. # 查看logstash 的Gemfile
    4. head /usr/share/logstash/Gemfile
    5. ## 修改镜像地址
    6. vi /usr/share/logstash/Gemfile

    更改默认的 https://rubygems.orghttps://mirrors.tuna.tsinghua.edu.cn/rubygems

  2. 安装插件 ```shell

    进入logstash容器

    docker exec -it logstash /bin/bash

    进入bin目录

    cd /bin/

    安装插件

    ./logstash-plugin install logstash-codec-json_lines

    退出容器

    exit

    重启logstash服务

    docker restart logstash

curl -H “Content-Type: application/json” -XPOST ‘http://localhost:9200/springboot-logstash-2021-09-07/test-log‘ -d ‘{“code”:200,”message”:”测试”}’ ```