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中的对接配置
进入logstash容器内
docker exec -it logstash /bin/bash
进入config目录
cd /usr/share/logstash/config/
修改logstash.yml文件中的es.url
vi logstash.yml
修改url为自己的es所在IP:port
修改完成后退出容器,重启logstash
exit
docker restart logstash
运行kibana,查看ELK状态以及运转情况
![](https://img.haomeiwen.com/i3911120/78827d1a03e3ff35.png)
![](https://img.haomeiwen.com/i3911120/53d47ca0a19fe9e2.png)
4.修改logstash.conf文件
进入logstash容器内部 docker exec -it logstash /bin/bash
进入目录pipeline中 cd /usr/share/logstash/pipeline
修改logstash.conf文件 vi logstash.conf
![](https://img.haomeiwen.com/i3911120/b0d2c149ba3d3946.png)
:wq保存并退出
重启logstash
注释
注释1:
input
通过tcp方式,logback将日志内容发送给了logstash,也就是logstash的日志来源input为logstash暴露的5044所接收到的日志信息。
因为logstash为本服务所在的服务器上,所以未标明IP即代表logstash服务所在的服务器的IP。
注释2:
output
hosts标明logstash的输出端是存储到ES中,而ES的地址就是http://ES服务所在服务器IP:端口
index代表 日志在ES中所创建的index名为 “user-2019-02-27” 这样的 每天创建新的index
stdout标明 spring boot的日志不仅输出到ES中,还在logstash的控制台也会输出,这样有助于查看
网友评论