前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 最佳实战:Docker 部署单节点 Kibana 实战

Docker 最佳实战:Docker 部署单节点 Kibana 实战

原创
作者头像
运维有术
发布2024-05-14 18:13:52
2040
发布2024-05-14 18:13:52
举报
文章被收录于专栏:运维有术运维有术

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 创建数据目录

代码语言:bash
复制
cd /data/containers
mkdir -p kibana/config

2.2 创建 kibana 配置文件

创建配置文件,vi kibana/config/kibana.yml

代码语言:yaml
复制
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

代码语言:yaml
复制
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 创建并启动服务

  • 启动服务
代码语言:bash
复制
cd /data/containers/kibana
docker compose up -d

3.3 验证容器状态

  • 查看 kibana 容器状态
代码语言:bash
复制
$ 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 服务日志
代码语言:bash
复制
# 通过日志查看容器是否有异常,结果略
$ docker compose logs -f

4. 验证测试

4.1 验证登陆

打开浏览器,访问 Kibana 的服务地址。

  • 输入用户名和密码,登陆 Kibana
elastic-kibana-login
elastic-kibana-login
  • 登陆主页
elastic-kibana-home
elastic-kibana-home

4.2 添加测试数据

通过 Kibana 控制台,添加自带的测试测试数据,验证 Kibana 和 Elasticsearch。

  • 点击 「Discover」 菜单
elastic-kibana-discover
elastic-kibana-discover
  • 点击「添加样例数据」
elastic-kibana-discover-sampleData
elastic-kibana-discover-sampleData
  • 选择「Sample web logs」,点击「添加数据」
elastic-kibana-discover-sample-web-logs
elastic-kibana-discover-sample-web-logs
  • 测试数据添加完成后,点击 「Discover」 菜单查看数据
elastic-kibana-discover-sample
elastic-kibana-discover-sample

4.3 Elasticsearch 命令行验证数据

  • 执行下面的命令,查看 Elasticsearch 索引及其详细信息
代码语言:bash
复制
curl -X GET -u elasticadmin "192.168.9.81:9200/_cat/indices?v"

正确执行后,输出结果如下 :

代码语言:bash
复制
$ 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 有更多、更强大的能力需要我们去挖掘、学习。

以上,就是我今天分享的全部内容。下一期分享的内容还没想好,期待一下开盲盒。敬请持续关注!!!

如果你喜欢本文,请分享、收藏、点赞、评论! 请持续关注 @运维有术,及时收看更多好文!

免责声明:

  • 笔者水平有限,尽管经过多次验证和检查,尽力确保内容的准确性,但仍可能存在疏漏之处。敬请业界专家大佬不吝指教。
  • 本文所述内容仅通过实战环境验证测试,读者可学习、借鉴,但严禁直接用于生产环境由此引发的任何问题,作者概不负责

版权声明

  • 所有内容均属于原创,感谢阅读、收藏,转载请联系授权,未经授权不得转载

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker 最佳实战:Docker 部署单节点 Kibana 实战
    • 1. 前置条件
      • 2. 准备前置数据
        • 2.1 创建数据目录
        • 2.2 创建 kibana 配置文件
      • 3. 安装部署 Kibana
        • 3.1 创建 docker-compose.yml 文件
        • 3.2 创建并启动服务
        • 3.3 验证容器状态
      • 4. 验证测试
        • 4.1 验证登陆
        • 4.2 添加测试数据
        • 4.3 Elasticsearch 命令行验证数据
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档