Docker 最佳实战:Docker 部署单节点 Kibana 实战
2024 年云原生运维实战文档 99 篇原创计划 第 019 篇 |Docker 最佳实战「2024」系列 第 011 篇
你好,欢迎来到运维有术。
今天分享的内容是 Docker 最佳实战「2024」 系列文档中的 Docker 部署单节点 Kibana 实战。
本文将详细介绍如何用 Docker 容器及 Docker Compose 部署单节点 Kibana。同时,我们利用 Kibana 控制台添加测试数据,验证 Elasticsearch 和 Kibana 服务是否正常。
实战服务器配置 (架构 1:1 复刻小规模生产环境,配置略有不同)
主机名 | IP | CPU(核) | 内存(GB) | 系统盘(GB) | 数据盘(GB) | 用途 |
---|---|---|---|---|---|---|
docker-node-1 | 192.168.9.81 | 4 | 16 | 40 | 100 | Docker 节点 1 |
docker-node-2 | 192.168.9.82 | 4 | 16 | 40 | 100 | Docker 节点 2 |
docker-node-3 | 192.168.9.83 | 4 | 16 | 40 | 100 | Docker 节点 3 |
合计 | 3 | 12 | 48 | 120 | 300 |
实战环境涉及软件版本信息
- 操作系统:openEuler 22.03 LTS SP3
- Docker:24.0.7
- Elasticsearch:7.17.20
- Kibana:7.17.20
1. 前置条件
假设你已经参考文档 Docker 部署单节点 ElasticSearch 实战 完成了 Elasticsearch 的安装配置。
- 所有基于 Docker 部署的服务的配置及数据根目录: /data/containers
- 准备密码
本系列文档所有涉及密码的配置,均使用通用密码 PleaseChangeMe。
生产环境,请用密码生成器生成 20 位以上不带特殊符号只包含大小写字母和数字混合组成的密码。
2. 准备前置数据
2.1 创建数据目录
cd /data/containers
mkdir -p kibana/config
2.2 创建 kibana 配置文件
创建配置文件,vi kibana/config/kibana.yml
server.name: kibana
server.host: "0.0.0.0"
server.publicBaseUrl: "http://192.168.9.81:5601"
elasticsearch.hosts: [ "http://192.168.9.81:9200" ]
elasticsearch.ssl.verificationMode: none
elasticsearch.username: 'elasticadmin'
elasticsearch.password: 'PleaseChangeMe'
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
说明:
server.publicBaseUrl: kibana 对外服务的地址 elasticsearch.hosts:Elasticsearch 节点的访问地址 elasticsearch.username:Elasticsearch 管理用户 elasticsearch.password:Elasticsearch 用户密码
3. 安装部署 Kibana
3.1 创建 docker-compose.yml 文件
创建配置文件,vi kibana/docker-compose.yml
name: 'kibana'
services:
kibana:
image: kibana:7.17.20
container_name: kibana
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- ./config/kibana.yml:/usr/share/kibana/config/kibana.yml
networks:
- app-tier
ports:
- "5601:5601"
networks:
app-tier:
external: true
3.2 创建并启动服务
- 启动服务
cd /data/containers/kibana
docker compose up -d
3.3 验证容器状态
- 查看 kibana 容器状态
$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
kibana kibana:7.17.20 "/bin/tini -- /usr/l…" kibana 3 seconds ago Up 2 seconds 0.0.0.0:5601->5601/tcp, :::5601->5601/tcp
- 查看 kibana 服务日志
# 通过日志查看容器是否有异常,结果略
$ docker compose logs -f
4. 验证测试
4.1 验证登陆
打开浏览器,访问 Kibana 的服务地址。
- 输入用户名和密码,登陆 Kibana
- 登陆主页
4.2 添加测试数据
通过 Kibana 控制台,添加自带的测试测试数据,验证 Kibana 和 Elasticsearch。
- 点击 「Discover」 菜单
- 点击「添加样例数据」
- 选择「Sample web logs」,点击「添加数据」
- 测试数据添加完成后,点击 「Discover」 菜单查看数据
4.3 Elasticsearch 命令行验证数据
- 执行下面的命令,查看 Elasticsearch 索引及其详细信息
curl -X GET -u elasticadmin "192.168.9.81:9200/_cat/indices?v"
正确执行后,输出结果如下 :
$ curl -X GET -u elasticadmin "192.168.9.81:9200/_cat/indices?v"
Enter host password for user 'elasticadmin':
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .security-7 RyV4l3zaRV-IAGUFALC9bg 1 0 53 0 262.7kb 262.7kb
green open .apm-custom-link FwlLkJh4RoqlC1Sy29dgvw 1 0 0 0 227b 227b
green open .apm-agent-configuration WtFI-h6mT6iLsrZTc2mf8w 1 0 0 0 227b 227b
green open kibana_sample_data_logs VY3wH6wYSei2lNH02Og65Q 1 0 14074 0 8.3mb 8.3mb
green open .kibana_task_manager_7.17.20_001 eAZywVMhQt-YeL-P-Pv98Q 1 0 18 1329 231.3kb 231.3kb
green open .kibana_7.17.20_001 fln7LBanTnuE-BSQ5C1CWA 1 0 84 84 2.5mb 2.5mb
green open .async-search bL5NsefQQlyBXX0zzv6unA 1 0 0 0 250b 250b
本文只是简单介绍了 Kibana 的安装部署和初始化,实际使用中 Kibana 有更多、更强大的能力需要我们去挖掘、学习。
以上,就是我今天分享的全部内容。下一期分享的内容还没想好,期待一下开盲盒。敬请持续关注!!!
如果你喜欢本文,请分享、收藏、点赞、评论! 请持续关注 @运维有术,及时收看更多好文!
免责声明:
- 笔者水平有限,尽管经过多次验证和检查,尽力确保内容的准确性,但仍可能存在疏漏之处。敬请业界专家大佬不吝指教。
- 本文所述内容仅通过实战环境验证测试,读者可学习、借鉴,但严禁直接用于生产环境。由此引发的任何问题,作者概不负责!
版权声明
- 所有内容均属于原创,感谢阅读、收藏,转载请联系授权,未经授权不得转载。