1.创建kibana容器并启动

docker run -it \
-p 5601:5601 \
--name kibana  \
--restart=always \
--log-driver \
json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
kibana:8.3.3

docker kali使用 docker kibana_docker


2.另开一个窗口登录服务器

执行

docker cp kibana:/usr/share/kibana/config /home/mfw/elk/kibana/        
docker cp kibana:/usr/share/kibana/data /home/mfw/elk/kibana/        
docker cp kibana:/usr/share/kibana/plugins /home/mfw/elk/kibana/        
docker cp kibana:/usr/share/kibana/logs /home/mfw/elk/kibana/

docker kali使用 docker kibana_elk_02


3.给挂载目录设置权限,使容器内外权限一致,kibana内部用户gid:1000,uid:1000

停掉kibana容器;

docker kali使用 docker kibana_elk_03


设置权限

chown -R 1000:1000 ~/elk/kibana

docker kali使用 docker kibana_vim_04


4.创建kibana运行脚本

mkdir ~/elk/kibana/shell/
vim ~/elk/kibana/shell/kibana.sh

docker kali使用 docker kibana_elk_05

docker run -itd \
  -p 5601:5601 \
  --name kibana \
  --restart=always \
  -v /home/mfw/elk/kibana/config:/usr/share/kibana/config \
  -v /home/mfw/elk/kibana/data:/usr/share/kibana/data \
  -v /home/mfw/elk/kibana/plugins:/usr/share/kibana/plugins \
  -v /home/mfw/elk/kibana/logs:/usr/share/kibana/logs \
  --log-driver json-file \
  --log-opt max-size=100m \
  --log-opt max-file=2 \
  kibana:8.3.3

5.kibana运行脚本赋予执行权限

chmod +x ~/elk/kibana/shell/kibana.sh

docker kali使用 docker kibana_elasticsearch_06

6.启动kibana配置elasticsearch

#删除kibana容器
docker rm -f kibana
#创建kibana容器并启动(非后台模式)
docker run -it \
-p 5601:5601 \
--name kibana \
--restart=always \
-v /home/mfw/elk/kibana/config:/usr/share/kibana/config \
-v /home/mfw/elk/kibana/data:/usr/share/kibana/data \
-v /home/mfw/elk/kibana/plugins:/usr/share/kibana/plugins \
-v /home/mfw/elk/kibana/logs:/usr/share/kibana/logs \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
kibana:8.3.3

7.浏览器访问http://kibana所在服务器ip:5601

docker kali使用 docker kibana_vim_07


8.在浏览器里面配置连接elasticsearch

配置前kibana.yml内容

docker kali使用 docker kibana_elk_08


在浏览器里面输入token(elasticsearch启动日志里面找)

ℹ️  Configure Kibana to use this cluster:
• Run Kibana and click the configuration link in the terminal when Kibana starts.
• Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
  eyJ2ZXIiOiI4LjMuMyIsImFkciI6WyIxOTIuMTY4LjE4Mi4xMjg6OTIwMCJdLCJmZ3IiOiI5ZmVmY2ZjYjZmYzllODBmNGVjYjc4NzNiMGU0ZDRmNTI0ZjU5N2EyMjgyNjViYzJkZDE1ZDY5MzZhNjUxZGE4Iiwia2V5IjoiUEp5OTM0WUJWX1drWExuREc2Z1c6OGFJVEhwMzJRZDJfWWl5MVRPcmdpQSJ9

docker kali使用 docker kibana_elasticsearch_09


此时在kibana服务日志里面会出现验证码

docker kali使用 docker kibana_vim_10


在浏览器输入验证即可

docker kali使用 docker kibana_elk_11


如果出现错误

Couldn't configure Elastic
Generate a new enrollment token or configure manually.

docker kali使用 docker kibana_docker kali使用_12


说明token过期了,需要重新生成一个(elasticsearch生成的token只有半个小时有效期)

进入elasticsearch容器

docker exec -it elasticsearch /bin/bash

docker kali使用 docker kibana_elk_13


进入elasticsearch的bin目录

cd /usr/share/elasticsearch/bin

docker kali使用 docker kibana_docker_14

./elasticsearch-create-enrollment-token  -s kibana --url "https://192.168.182.128:9200"

这里提示命令权限是root而当前账户是elasticsearch

docker kali使用 docker kibana_docker kali使用_15


解决办法,使用root登录容器

docker exec -u root -it elasticsearch /bin/bash

docker kali使用 docker kibana_docker kali使用_16

./elasticsearch-create-enrollment-token  -s kibana --url "https://192.168.182.128:9200"

docker kali使用 docker kibana_elk_17


将生成的token再次复制到浏览器上

docker kali使用 docker kibana_elasticsearch_18


docker kali使用 docker kibana_elk_19


9.解决报错

docker kali使用 docker kibana_vim_20


查看kibana配置文件

vim ~/elk/kibana/config/kibana.yml

经过浏览器配置后,kibana的配置文件已经被修改了

docker kali使用 docker kibana_vim_21


添加两行配置

i18n.locale: "zh-CN"
server.publicBaseUrl: "http://kibana服务所在ip:5601"

docker kali使用 docker kibana_vim_22


10.删除之前创建的kibana容器并运行启动脚本

docker rm -f kibana
~/elk/kibana/shell/kibana.sh

docker kali使用 docker kibana_docker_23


11.浏览器登录kibana验证

docker kali使用 docker kibana_vim_24

登录用户名密码来自于elasticsearch日志

ℹ️ Password for the elastic user (reset with bin/elasticsearch-reset-password -u elastic):

+4TMJBgOpjdgH+1MJ0nC

登录成功表示kiban部署成功

docker kali使用 docker kibana_docker kali使用_25