简介
LogStash是什么
是ES下的一款开源软件,ELK中的L(E是ES,K是kibana)
LogStash有什么用
用于从多个来源采集数据、转化数据并将数据同步至索引库中
安装docker
请参考安装docker
安装LogStash
docker pull logstash:8.4.3
创建容器
docker run -d --name logstash --privileged=true --restart=always \
-p 5045:5044 -p 9601:9600 --net es \
-v /root/logstash/config:/usr/share/logstash/config \
-v /root/logstash/pipeline:/usr/share/logstash/pipeline \
-it logstash:8.4.3
docker run -d --name logstash --privileged=true ^
-p 5045:5044 -p 9601:9600 --net es ^
-v D:/data/docker/logstash/config:/usr/share/logstash/config ^
-v D:/data/docker/logstash/pipeline:/usr/share/logstash/pipeline ^
-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等找不到,或映射不成功,需先启动容器不作映射
docker run -d -p 5045:5044 -p 9601:9600 --net es --name logstash2 -it logstash:8.4.3
启动容器logstash2成功后,将容器logstash2的对应文件考到主机上,如
docker cp logstash2:/usr/share/logstash/config /root/logstash/
docker cp logstash2:/usr/share/logstash/logs /root/logstash/
docker cp logstash2:/usr/share/logstash/pipeline /root/logstash/
docker cp logstash2:/usr/share/logstash/config D:/data/docker/logstash/
docker cp logstash2:/usr/share/logstash/pipeline D:/data/docker/logstash/
成功后,再删除logstash2容器,然后重新执行。
docker rm logstash2
进入容器
docker exec -it logstash /bin/bash
配置文件
cd config
vi logstash.yml
修改为实际ES的ip及端口号
http.host: "0.0.0.0"
xpack.monitoring.elasticsearch.hosts: [ "http://192.168.3.40:9200" ]
退出并重启容器
docker restart logstash