0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在华为云 FlexusX 实例上实现 Docker 容器的实时监控与可视化分析

jf_21561199 来源:jf_21561199 作者:jf_21561199 2025-01-02 13:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

华为云 Flexus X,以顶尖算力与智能调度,引领 Docker 容器管理新风尚。828 企业上云节之际,Flexus X 携手前沿技术,实现容器运行的实时监控与数据可视化,让管理变得直观高效。无论是性能瓶颈的精准定位,还是资源利用的优化调整,Flexus X 都是您的得力助手。立即拥抱华为云 Flexus X,开启 Docker 容器管理新篇章,让云端之旅更加顺畅无忧!

链接直达华为云Flexus云服务器X实例

wKgZPGd2J1yAPNaBAAEA43MSbXE619.png

原生命令

查看正在运行的容器

[root@flexusx-251f~]# docker psCONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES3a888d70efa6swr.cn-north-4.myhuaweicloud.com/cloud-wzs/portainer/portainer-ce:latest "/portainer"3 hours ago Up 3 hours 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp portainer

实时显示 Docker 容器的资源使用情况

[root@flexusx-251f~]# docker statsCONTAINERID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS3a888d70efa6portainer 0.00% 23.55MiB / 11.53GiB 0.20% 597kB / 937kB 0B / 1.27MB 7e837cf780e7dblog 0.01% 268.7MiB / 11.53GiB 2.28% 68.3MB / 22.4MB 0B / 76.3MB 13b08207cf4067Mysql-db 0.02% 205.8MiB / 11.53GiB 1.74% 3.63MB / 33.7MB 0B / 92.7MB 33

通过 docker stats命令可以很方便的看到当前宿主机上的所有容器的 cpu,内存以及网络流量等数据。一般适用于小公司

docker stats统计结果只是当前宿主机的全部容器,数据资料是实时的,没有地方存储,没有健康指标、过线预警等功能

容器监控三剑客

wKgZO2d2J1yAAoGbAAEMreArv-Y944.png

CAdvisor

CAdvisor 是一个容器资源监控工具,包括 CPU、网络 IO、磁盘 IO 等监控,同时提供了一个 WEB 页面用于查看容器的实时运行状态。CAdvisor 默认存储两分钟的数据,而且只是针对单核物理机。不过 CAdvisor 提供了很多数据集成接口,支持 InfluxDB、Redis、Kafka、Elasticsearch 等集成,可以加上对应配置将监控数据发往这些数据库存储起来。

CAdvisor 功能主要有两点:

展示 Host 和 容器 两个层次的监控数据

展示历史变化数据

wKgZPGd2J1yAKr1cAAEn1Ng9xMA849.png

InfluxDB

InfluxDB 使用 Go 语言编写的一个开源分布式时序、时间和指标数据库,无需外部依赖。

CAdvisor 默认只能在本机保存最近两分钟的数据,为了持久化数据存储和统一收集展示监控数据,需要将数据存储到 InfluxDB 中。InfluxDB 是一个时序数据库,专门用于数据时序相关数据,很适合存储 CAdvisor 的数据。而且,CAdvisor 本身已经提供了 InfluxDB 的集成方法,启动容器时指定配置即可。

InfluxDB 主要功能:

基于时间序列,支持与时间有关的相关函数(如最大、最小、求和等)

可度量性:可以实时对大量数据进行计算

基于实践:支持任意的实践数据

wKgZO2d2J12AWprqAABdVIH3BBc338.png

Granfana

Grafana 是一个开源的数据监控分析可视化平台,支持多种数据源配置(支持的数据源包括 InfluxDB、MySQL、Elasticsearch、OpenTSDB、Graphite 等)和丰富的插件及模版功能,支持图表权限控制和报警。

Grafana 主要特性:

灵活丰富的图像化选项

可以混合多种风格

支持白天和夜间模式

多个数据源

wKgZPGd2J12AHoG4AAHq49emv0A228.png

环境规划

搭建流程

需要了解:

•采用 docker 方式进行部署容器监控三剑客

•详细购买配置实例可参考文章:快速部署华为云Flexus X实例,开启您的云端之旅

•部署 docker 服务请参考文章:华为FlexusX与Docker+Nginx的高效整合之路

拉取镜像(由于网络原因,我已经提前将镜像上传至华为云镜像仓库,可直接进行拉取)

[root@flexusx-251f~]# docker pull swr.cn-north-4.myhuaweicloud.com/cloud-wzs/tutum/influxdb:latest[root@flexusx-251f~]# docker pull swr.cn-north-4.myhuaweicloud.com/cloud-wzs/google/cadvisor:latest[root@flexusx-251f~]# docker pull swr.cn-north-4.myhuaweicloud.com/cloud-wzs/grafana/grafana:latest

我们通过 docker-compose 容器编排一套带走

#查看版本[root@flexusx-251f~]# docker-compose --versionDockerCompose version v2.29.1

创建文件夹,编写 yaml 文件,以下是 yaml 文件内容

[root@flexusx-251f~]# mkdir cig[root@flexusx-251f~]# cd cig/[root@flexusx-251f cig]# vim docker-compose.yml[root@flexusx-251f cig]# cat docker-compose.yml#指定 Compose 文件的版本 version:'2.29.1' #定义要使用的卷 volumes:grafana_data:{}#创建一个名为 grafana_data 的卷,用于 Grafana 的数据持久化 #定义服务(容器) services: # InfluxDB 服务 influxdb:image:swr.cn-north-4.myhuaweicloud.com/cloud-wzs/tutum/influxdb:latest#使用 tutum 提供的 InfluxDB 0.9 版本镜像 restart:always#容器总是重启,无论退出状态如何 environment: -PRE_CREATE_DB=cadvisor#在 InfluxDB 启动时预创建名为 cadvisor 的数据库 ports: -"8083:8083"#将容器的 8083 端口映射到宿主机的 8083 端口(InfluxDB 的 Web 管理界面) -"8086:8086"#将容器的 8086 端口映射到宿主机的 8086 端口(InfluxDB 的 HTTP API) volumes: -./data/influxdb:/data#将宿主机的./data/influxdb 目录挂载到容器的/data 目录,用于数据持久化 # cAdvisor 服务 cadvisor:image:swr.cn-north-4.myhuaweicloud.com/cloud-wzs/google/cadvisor:latest#使用 google 提供的 cAdvisor 最新版本镜像 links: -influxdb:influxsrv#将 influxdb 服务链接到 cadvisor,并在 cadvisor 中设置别名 influxsrv command:-storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influxsrv:8086#设置 cAdvisor 的存储驱动为 InfluxDB,并指定数据库和主机 restart:always#容器总是重启 ports: -"8081:8080"#将容器的 8080 端口映射到宿主机的 8081 端口(cAdvisor 的 Web 界面) volumes: -/:/rootfs:ro#将宿主机的根文件系统挂载为只读,供 cAdvisor 监控 -/var/run:/var/run:rw#挂载宿主机的/var/run 目录为读写,供 cAdvisor 访问某些运行时数据 -/sys:/sys:ro#挂载宿主机的/sys 目录为只读,供 cAdvisor 获取系统信息 -/var/lib/docker/:/var/lib/docker:ro#挂载宿主机的 Docker 数据目录为只读,供 cAdvisor 监控 Docker 容器 # Grafana 服务 grafana:user:"104"#设置容器内运行用户为 UID 104(可能需要确保 UID 在宿主机上存在或配置正确) image:swr.cn-north-4.myhuaweicloud.com/cloud-wzs/grafana/grafana:latest#使用 grafana 提供的 Grafana 最新版本镜像 restart:always#容器总是重启 links: -influxdb:influxsrv#将 influxdb 服务链接到 grafana,并在 grafana 中设置别名 influxsrv ports: -"3000:3000"#将容器的 3000 端口映射到宿主机的 3000 端口(Grafana 的 Web 界面) volumes: -grafana_data:/var/lib/grafana#将之前定义的 grafana_data 卷挂载到容器的/var/lib/grafana 目录,用于 Grafana 的数据持久化 environment: -GF_SECURITY_ADMIN_USER=admin#设置 Grafana 的管理员用户名为 admin -GF_SECURITY_ADMIN_PASSWORD=admin#设置 Grafana 的管理员密码为 admin -INFLUXDB_HOST=influxsrv#设置 Grafana 连接 InfluxDB 的主机名为 influxsrv(通过 links 别名) -INFLUXDB_PORT=8086#设置 Grafana 连接 InfluxDB 的端口为 8086 -INFLUXDB_DB=cadvisor#设置 Grafana 要连接的 InfluxDB 数据库为 cadvisor -INFLUXDB_USER=root#设置 Grafana 连接 InfluxDB 的用户名为 root(注意:实际部署时可能需要更改) -INFLUXDB_PASS=root#设置 Grafana 连接 InfluxDB 的密码为 root(注意:实际部署时强烈建议更改)

运行 docker-compose

[root@flexusx-251fcig]# docker-compose up[root@flexusx-251f~]# docker psCONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES504ad3c17d38swr.cn-north-4.myhuaweicloud.com/cloud-wzs/grafana/grafana:latest "/run.sh"42 seconds ago Up 42 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp cig-grafana-1d46793983d47swr.cn-north-4.myhuaweicloud.com/cloud-wzs/google/cadvisor:latest "/usr/bin/cadvisor -…"42 seconds ago Up 42 seconds 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp cig-cadvisor-1c72b95d62bc4swr.cn-north-4.myhuaweicloud.com/cloud-wzs/tutum/influxdb:latest "/run.sh"42 seconds ago Up 42 seconds 0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp cig-influxdb-1

放行安全组

放行端口 3000,8081,8083

wKgZO2d2J16APtxdAAD9G2DJWjA004.png

测试访问

CAdvisor 收集服务

浏览器访问:http://localhost:8081

wKgZPGd2J16AKVOuAACMGjyNZIM684.png

可以看到 CPU、网络 IO、磁盘 IO 等监控的可视化

wKgZO2d2J16AcXw4AACyGsbXwYE366.png

influxdb 存储服务

浏览器访问:http://localhost:8083

wKgZPGd2J1-ACb5iAACNfgBvNQ4933.png

grafana 展现服务

浏览器访问:http://localhost:3000

我们在 docker-compose 中指定过账号密码

进去需要修改新密码,在这我们将密码修改为 Huawei12#$

wKgZO2d2J1-AQ3OtAAHhZovoOgQ508.png

配置步骤

配置数据源

添加数据库

wKgZPGd2J1-APAOJAACVY7LbFP8197.png

选择 influxdb 数据源

wKgZO2d2J2CAAf5-AACysewEfyM476.png

配置数据库文件

http://InfluxDB:8086

wKgZPGd2J2CAakYVAACjMtEvqdY147.png

wKgZO2d2J2CAfe24AACyV4D40yY544.png

配置面板 panel

wKgZPGd2J2GAfjIaAABo3KtO8Sc180.png

wKgZO2d2J2GAatfsAABWy1uPTTM657.png

wKgZPGd2J2GAO3DdAADmYF6R2K4095.png

wKgZO2d2J2KANg6BAAER94Ce3mw007.png

wKgZPGd2J2KAMwWxAAEOuCornwY298.png

至此,容器监控三剑客搭建成功

关闭和开启一定要在对应 yaml 文件路径下

[root@flexusx-251f~]# cd cig/[root@flexusx-251fcig]# docker-compose stopWARN[0000]/root/cig/docker-compose.yml:the attribute `version`is obsolete, it will be ignored, please remove it to avoid potential confusion[+]Stopping 3/3✔Container cig-grafana-1 Stopped 0.1s✔Container cig-cadvisor-1 Stopped 0.1s✔Container cig-influxdb-1 Stopped 10.1s[root@flexusx-251fcig]# docker-compose lsNAMESTATUS CONFIG FILES

体验和感受

云计算的快速发展中,Docker 容器的广泛应用为企业带来了前所未有的灵活性和效率。然而,如何实时监控这些容器的性能并进行可视化分析,成为了企业运维团队面临的重要挑战。华为 Flexus X 服务器,凭借其卓越的性能和强大的扩展性,为企业用户提供了理想的云端平台。结合 CAdvisor、InfluxDB 与 Grafana,Flexus X 实例实现了 Docker 容器的实时监控与可视化分析新突破。

CAdvisor,作为 Google 开源的容器资源监控工具,能够收集 Docker 容器的资源使用情况和性能指标。InfluxDB,作为高性能的时序数据库,能够高效地存储和查询这些监控数据。而 Grafana,则以其强大的数据可视化能力,将复杂的监控数据转化为直观的图表和仪表盘,帮助运维人员快速洞察容器运行状态。

在 828 华为云企业上云节之际,在 Flexus X 实例上部署这一强大的监控与分析。通过 CAdvisor 的实时数据采集、InfluxDB 的高效存储以及 Grafana 的精美可视化,您将能够轻松掌握 Docker 容器的性能瓶颈,优化资源配置,提升业务运行效率。

选择 Flexus X 实例与 CAdvisor+InfluxDB+Grafana 的组合,就是选择了 Docker 容器管理的未来。点击下方链接,在 828 上云节的特惠期间,让我们携手共进,共同开启云端容器管理的新篇章。

产品链接华为云Flexus云服务器X实例直播建站服务器-华为云

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 实时监控
    +关注

    关注

    1

    文章

    130

    浏览量

    14341
  • Docker
    +关注

    关注

    0

    文章

    537

    浏览量

    14423
  • 华为云
    +关注

    关注

    3

    文章

    2837

    浏览量

    19379
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    利用数据API构建实时数据分析可视化报表系统

    API(涵盖销售统计、用户画像、流量分析等)进行高效的数据整合、分析,并实现 自定义报表生成 和 实时数据可视化 ,为商业决策提供强大支持。
    的头像 发表于 04-02 15:56 191次阅读
    利用数据API构建<b class='flag-5'>实时数据分析</b>与<b class='flag-5'>可视化</b>报表系统

    芯科科技免费提供SystemView可视化分析工具

    Silicon Labs(芯科科技)近期宣布与嵌入式设计领导者 SEGGER 建立合作伙伴关系,为所有采用芯科科技技术的开发者免费提供SystemView工具-这是一款专业级的跟踪与可视化工具,无需
    的头像 发表于 02-28 15:13 1245次阅读

    CANDTU设备实战:两步完成接入,三步玩转数据

    CANDTU200/400等多个型号,适配不同路试场景。核心能力:本地端实时处理+CAN报文远程+云端可视化分析,一套方案满足全链路需求。CAN设备接入
    的头像 发表于 02-14 11:39 270次阅读
    CANDTU设备<b class='flag-5'>上</b><b class='flag-5'>云</b>实战:两步完成接入,三步玩转数据

    KubePi:开源Kubernetes可视化管理面板,让集群管理如此简单

    维人员 :能够在一个统一的界面上监控和管理所有集群资源,大幅提升效率。 企业IT :实现对跨地域、跨的Kubernetes集群进行统一管理,提升运维效率。 二、核心功能特点:不止于可视化
    发表于 02-11 12:53

    工业组态平台实现多设备远程监控与数据可视化

    、传感器、仪器仪表、工业机器人、电表、水表等多种工业设备,并在云端组态界面中实现设备运行状态、工艺参数、能耗数据等的可视化展示。 核心功能 多协议兼容:支持Modbus、OPC UA、西门子、三菱、欧姆龙等主流工业协议,轻松对接
    的头像 发表于 01-17 10:34 1196次阅读
    工业组态<b class='flag-5'>云</b>平台<b class='flag-5'>实现</b>多设备远程<b class='flag-5'>监控</b>与数据<b class='flag-5'>可视化</b>

    移动BI可视化分析助力决策分析应用

    分析与决策应用,实现决策分析无处不在的实时动态管理。移动BI融合了计算机技术、通信技术、互联网技术,消除了时间和空间的限制,企业高层和基层员工均可将移动BI作为辅助决策在有力工具。
    的头像 发表于 12-03 16:48 715次阅读

    工业MQTT网关有哪些应用场景

    场景描述 :在智能制造、能源管理等领域,大量分散的工业设备(如PLC、传感器、数控机床)需实时数据采集与远程监控。 网关作用 :通过MQTT协议,网关将设备数据高效上传至平台(如阿里
    的头像 发表于 11-27 11:22 675次阅读

    工业物联网可视化平台是什么?有什么功能?

    工业物联网可视化平台是基于物联网、大数据、人工智能等技术,将工业生产中的设备、系统、流程等数据以图形化方式呈现,实现实时监控、智能分析与交互式管理的数字化工具。 其核心功能涵盖数据集成
    的头像 发表于 11-17 17:49 1482次阅读

    光伏电站可视化实现

    ,将光伏电站的物理环境、设备状态、发电数据等信息以图形化、动态化形式呈现,构建电站虚拟镜像,从而实现对光伏电站运行状态的实时监控、故障预测及运维优化。 如何实现光伏电站的
    的头像 发表于 10-21 17:29 1376次阅读
    光伏电站<b class='flag-5'>可视化</b>的<b class='flag-5'>实现</b>

    智慧用电安全解决方案:打造全流程可视化管控

    预警、可视管控”的闭环管理体系,其核心在于实现对电气安全风险的全流程、可视化、主动性管控。 一、 全域感知与数据采集:可视化管控的数据基石 全流程
    的头像 发表于 09-04 16:17 946次阅读
    智慧用电安全解决方案:打造全流程<b class='flag-5'>可视化</b>管控

    终端塔可视化监测装置(带台功能):电网智能监控的全景卫士

    终端塔可视化监测装置(带台功能)针对电网分布广、环境复杂的特点,集成了全方位旋转台摄像头,支持水平 360° 与垂直 + 90° 的灵活视角切换,真正实现了全景无死角
    的头像 发表于 07-18 11:05 688次阅读

    如何使用协议分析仪进行数据分析可视化

    可视化需结合工具功能与业务场景: 快速诊断:依赖内置统计和IO Graph。 深度分析:导出数据至Python/R进行统计建模。 长期监控:集成至SIEM/APM系统实现自动化。 通
    发表于 07-16 14:16

    如何实现光伏数字孪生可视化

    光伏数字孪生可视化是通过数字化手段构建光伏电站的虚拟镜像,实现物理实体与数字模型的实时映射与交互,目的是促进光伏电站运维管理的智能化、高效化。通过实时
    的头像 发表于 05-29 15:27 896次阅读
    如何<b class='flag-5'>实现</b>光伏数字孪生<b class='flag-5'>可视化</b>?

    工业设备可视化管理系统是什么

    工业设备可视化管理系统是一种基于物联网(IoT)、大数据、计算、数字孪生等技术,对工业设备的运行状态、性能参数、维护信息等进行实时监测、数据整合与可视化呈现的智能管理平台。它通过将复
    的头像 发表于 05-27 14:56 1345次阅读
    工业设备<b class='flag-5'>可视化</b>管理系统是什么

    组态可视化平台如何监控欧姆龙PLC的数据变量

    问题。企业希望通过引入数之能组态可视化平台,实现欧姆龙PLC数据的实时采集、集中监控与智能预警,提升生产效率和设备维护响应速度。 解决方案 (一)系统架构搭建 将组态
    的头像 发表于 05-14 14:37 1049次阅读
    组态<b class='flag-5'>可视化</b>平台如何<b class='flag-5'>监控</b>欧姆龙PLC的数据变量