简介

LogStash是什么
是ES下的一款开源软件,ELK中的L(E是ES,K是kibana)
LogStash有什么用
用于从多个来源采集数据、转化数据并将数据同步至索引库中
Docker安装Logstash - 图1

安装docker

请参考安装docker

安装LogStash

LogStash镜像版本

  1. docker pull logstash:8.4.3

创建容器

  1. docker run -d --name logstash --privileged=true --restart=always \
  2. -p 5045:5044 -p 9601:9600 --net es \
  3. -v /root/logstash/config:/usr/share/logstash/config \
  4. -v /root/logstash/pipeline:/usr/share/logstash/pipeline \
  5. -it logstash:8.4.3
  1. docker run -d --name logstash --privileged=true ^
  2. -p 5045:5044 -p 9601:9600 --net es ^
  3. -v D:/data/docker/logstash/config:/usr/share/logstash/config ^
  4. -v D:/data/docker/logstash/pipeline:/usr/share/logstash/pipeline ^
  5. -it logstash:8.4.3

:::warning -v D:/data/docker/logstash/config/:/usr/share/logstash/config
-v D:/data/docker/logstash/pipeline/:/usr/share/logstash/pipeline ::: 以上直接启动后如果提示logstash.yml等找不到,或映射不成功,需先启动容器不作映射

  1. docker run -d -p 5045:5044 -p 9601:9600 --net es --name logstash2 -it logstash:8.4.3

启动容器logstash2成功后,将容器logstash2的对应文件考到主机上,如

  1. docker cp logstash2:/usr/share/logstash/config /root/logstash/
  2. docker cp logstash2:/usr/share/logstash/logs /root/logstash/
  3. docker cp logstash2:/usr/share/logstash/pipeline /root/logstash/
  1. docker cp logstash2:/usr/share/logstash/config D:/data/docker/logstash/
  2. docker cp logstash2:/usr/share/logstash/pipeline D:/data/docker/logstash/

1664850455325.png
成功后,再删除logstash2容器,然后重新执行。

  1. docker rm logstash2

进入容器

  1. docker exec -it logstash /bin/bash

配置文件

  1. cd config
  1. vi logstash.yml

修改为实际ES的ip及端口号

  1. http.host: "0.0.0.0"
  2. xpack.monitoring.elasticsearch.hosts: [ "http://192.168.3.40:9200" ]

退出并重启容器

  1. docker restart logstash

目录说明