1.拉取鏡像
docker pull elasticsearch:7.1.0
docker pull kibana:7.1.0
docker pull logstash:7.1.0
2.啟動容器
docker run? -d --name es1? -p 9200:9200 -p 9300:9300 --restart=always -e "discovery.type=single-node" elasticsearch:7.1.0
docker run -d? -p 5601:5601 --name kibana --restart=always --link es1:elasticsearch? kibana:7.1.0
docker run -d -p 5044:5044 -p 9600:9600 --restart=always --name logstash logstash:7.1.0
3.查看日志
docker logs -f logstash?查看日志可以看出,雖然啟動成功,但是并未連接上es。
這就需要修改logstash中的對接配置
進(jìn)入logstash容器內(nèi)
docker exec -it logstash /bin/bash
進(jìn)入config目錄
cd /usr/share/logstash/config/
修改logstash.yml文件中的es.url
vi logstash.yml
修改url為自己的es所在IP:port
修改完成后退出容器,重啟logstash
exit
docker restart logstash
運行kibana,查看ELK狀態(tài)以及運轉(zhuǎn)情況


4.修改logstash.conf文件
進(jìn)入logstash容器內(nèi)部?docker exec -it logstash /bin/bash
進(jìn)入目錄pipeline中?cd /usr/share/logstash/pipeline
修改logstash.conf文件??vi logstash.conf

:wq保存并退出
重啟logstash
注釋
注釋1:
input
通過tcp方式,logback將日志內(nèi)容發(fā)送給了logstash,也就是logstash的日志來源input為logstash暴露的5044所接收到的日志信息。
因為logstash為本服務(wù)所在的服務(wù)器上,所以未標(biāo)明IP即代表logstash服務(wù)所在的服務(wù)器的IP。
注釋2:
output
hosts標(biāo)明logstash的輸出端是存儲到ES中,而ES的地址就是http://ES服務(wù)所在服務(wù)器IP:端口
index代表?日志在ES中所創(chuàng)建的index名為? “user-2019-02-27”?這樣的? 每天創(chuàng)建新的index
stdout標(biāo)明?spring boot的日志不僅輸出到ES中,還在logstash的控制臺也會輸出,這樣有助于查看