docker--elk搭建配置

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状态以及运转情况



4.修改logstash.conf文件

进入logstash容器内部 docker exec -it logstash /bin/bash

进入目录pipeline中 cd /usr/share/logstash/pipeline

修改logstash.conf文件  vi logstash.conf


: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的控制台也会输出,这样有助于查看

你可能感兴趣的:(docker--elk搭建配置)