背景:基于上篇 es配置x-pack
1 在es-docker-compose.yml配置文件中新增kibana配置
kibana01:
image: docker.elastic.co/kibana/kibana:7.7.0
container_name: kibana01
environment:
CERTS_DIR_KIBANA: ${CERTS_DIR_KIBANA}
volumes:
- ${PWD}/config/kibana01.yml:/usr/share/kibana/config/kibana.yml
- /data/operations/config/certs/kibana01:${CERTS_DIR_KIBANA}/kibana01
- /data/operations/config/certs/ca:${CERTS_DIR_KIBANA}/ca
ports:
- 5601:5601
networks:
- es-shared
2 在目录/data/operations/config下新增配置文件kibana01.yml
server.host: "0.0.0.0"
server.name: "kibana01"
# 配置了ssl认证后,此处需用https请求
elasticsearch.hosts: ["https://es02:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
server.ssl.enabled: true
server.ssl.certificate: ${CERTS_DIR_KIBANA}/kibana01/kibana01.crt
server.ssl.key: ${CERTS_DIR_KIBANA}/kibana01/kibana01.key
# es配置了ssl认证后,需指定证书路径,此处指定用于 Elasticsearch 实例的 PEM 证书文件路径
elasticsearch.ssl.certificateAuthorities: ["${CERTS_DIR_KIBANA}/ca/ca.crt"]
1. 在/data/operations目录下执行命令
docker-compose -f es-docker-compose.yml up -d
2. 查看容器启动结果
docker ps -a | awk "/es01|es02|kibana01/"
1. 打开浏览器,查看http请求http://192.168.1.121:5601/
2. 打开浏览器,查看https请求https://192.168.1.121:5601/
3. 输入账号密码登录
账号:elastic
密码:123456
4. 登录成功后进入kibana界面
到此kibana配置x-pack成功
1. 去掉kibana配置中的ssl认证
1.1 修改后的kibana01.yml文件为
server.host: "0.0.0.0"
server.name: "kibana01"
# 配置了ssl认证后,此处需用https请求,否则使用http请求
elasticsearch.hosts: ["https://es02:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
# es配置了ssl认证后,需指定证书路径,此处指定用于 Elasticsearch 实例的 PEM 证书文件路径
elasticsearch.ssl.certificateAuthorities: ["${CERTS_DIR_KIBANA}/ca/ca.crt"]
1.2 重启kibana容器
docker restart kibana01
1.3 查看结果
1.3.1 打开浏览器,查看http请求http://192.168.1.121:5601/
1.3.1.2 使用账号密码登录失败,查看响应结果为304
1.3.1.3 清除浏览器缓存,刷新请求,重新登录,同样登录失败,此时响应码为302
1.3.1.4 清除浏览器缓存、清除cookie、关闭浏览器再重新打开请求进行登录
1.3.1.5 登录成功响应状态
1.3.2 查看https请求https://192.168.1.121:5601/
2. 去掉kibana配置中的ssl认证, 修改elasticsearch.hosts中的请求为http请求
2.1 修改后的kibana01.yml文件为
server.host: "0.0.0.0"
server.name: "kibana01"
# es配置了ssl认证后,此处需用https请求
elasticsearch.hosts: ["http://es02:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
# es配置了ssl认证后,需指定证书路径,此处指定用于 Elasticsearch 实例的 PEM 证书文件路径
elasticsearch.ssl.certificateAuthorities: ["${CERTS_DIR_KIBANA}/ca/ca.crt"]
2.2 重启kibana容器
2.3 查看结果
2.3.1 查看http请求http://192.168.1.121:5601/
2.3.1.1 提示错误
Kibana server is not ready yet
2.3.1.2 错误码503
2.3.2 查看https请求https://192.168.1.121:5601/
2.2.3 查看kibana日志
docker logs -f --tail 30 kibana01
3. 去掉es证书,elasticsearch.hosts中的请求为https请求
3.1 修改后的kibana01.yml文件为
server.host: "0.0.0.0"
server.name: "kibana01"
# 配置了ssl认证后,此处需用https请求
elasticsearch.hosts: ["https://es02:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "123456"
3.2 重启kibana容器
3.3 查看结果
3.3.1 查看http请求http://192.168.1.121:5601/
3.3.1.1 提示错误
Kibana server is not ready yet
3.3.2 查看https请求https://192.168.1.121:5601/
3.3.3 查看kibana日志