Docker 监控平台部署的两种实现步骤

 更新时间:2025年11月25日 10:24:54   作者:维尔切(wiltjer)  
本文主要介绍了Docker 监控平台部署的两种实现步骤,包括cAdvisor、Prometheus和Grafana,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、Docker 自带的监控命令

1、docker ps

[root@docker ~]# docker ps

2、docker top <容器名>

[root@docker ~]# docker top mycentos

3、docker stats

[root@docker ~]# docker stats

优点与缺点

  • 优点:简单、快速查看容器状态
  • 缺点:仅实时数据,无法查看历史趋势;功能有限

二、Docker 监控解决方案:cAdvisor + Prometheus + Grafana

架构说明

  • cAdvisor:数据采集器,收集容器和主机的资源使用情况
  • Prometheus:时序数据库,存储监控数据
  • Grafana:数据可视化平台,展示监控图表

1、部署 cAdvisor

拉取并运行 cAdvisor 容器

[root@docker ~]# docker pull google/cadvisor
[root@docker ~]# docker run -d -v /:/rootfs:ro -v /var/run:/var/run:ro -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro -p 8080:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg google/cadvisor:latest

访问界面

http://<IP>:8080/containers/docker

cAdvisor 特点
  • 展示主机和容器两个层次的监控数据
  • 支持历史数据查看
  • 界面简陋,但支持数据导出(如 Prometheus)

2、部署 Prometheus

创建配置文件 /etc/prometheus/prometheus.yml

[root@docker ~]# mkdir -p /etc/prometheus
[root@docker ~]# vim /etc/prometheus/prometheus.yml
[root@docker ~]# chmod 777 /etc/prometheus/prometheus.yml
[root@docker ~]# systemctl restart chronyd
[root@docker ~]# systemctl enable chronyd
[root@docker ~]# hwclock -w
global:
  scrape_interval: 15s
  evaluation_interval: 15s

alerting:
  alertmanagers:
    - static_configs:
        - targets:

rule_files:

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['192.168.100.10:9090']
  - job_name: 'cadvisor'
    static_configs:
      - targets: ['192.168.100.10:8080']
[root@docker ~]# docker pull prom/prometheus
[root@docker ~]# docker run -itd --name prometheus -p 9090:9090 -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:latest --config.file=/etc/prometheus/prometheus.yml --web.enable-lifecycle
访问界面
http://<IP>:9090/targets

  • 查看数据源状态(应显示 cAdvisor 为 UP)

3、部署 Grafana

拉取并运行 Grafana

[root@docker ~]# docker pull grafana/grafana
[root@docker ~]# docker run -itd --name=grafana -p 3000:3000 grafana/grafana

访问界面

账号:admin

密码:admin

登录后重设密码

http://<IP>:3000/login

配置数据源

点击 Add your first data source

选择 Prometheus

填写 URL:http://<Prometheus_IP>:9090

点击 “Save & Test”

导入仪表盘

点击左侧 Dashboards 后,点击 + Create dashboard

先点击 Import a dashboard 后,再点击 Discard

输入仪表盘模板 ID :193

选择刚刚配置的 Prometheus 数据源

查看监控面板

显示每个容器的 CPU、内存、I/O 使用情况

获取仪表盘模板ID

https://grafana.com/grafana/dashboards/

三、总结

  1. 推荐使用 cAdvisor + Prometheus + Grafana 组合,实现 Docker 容器全方位监控
  2. cAdvisor 负责数据采集,Prometheus 负责存储,Grafana 负责可视化
  3. Docker 自带命令适合快速查看状态,但不适合长期监控与趋势分析
  4. 监控历史数据有助于分析容器运行状况和性能瓶颈
  5. 若 Grafana 无数据,请检查 Docker 主机与监控机时间是否同步

到此这篇关于Docker 监控平台部署的两种实现步骤的文章就介绍到这了,更多相关Docker 监控平台部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 安装docker-ce报错yum仓库错误问题及解决

    安装docker-ce报错yum仓库错误问题及解决

    安装Docker-CE时,可能会因依赖软件版本不足导致报错,解决方法包括使用yum update更新软件包,若仓库无该包则需更新repo源,也可通过yum install -y docker-ce --skip-broken跳过依赖更新直接安装,若遇yum命令执行报错
    2024-11-11
  • 使用 Docker安装 Zabbix并配置自定义监控项的过程详解

    使用 Docker安装 Zabbix并配置自定义监控项的过程详解

    Zabbix 可以用来监控各种网络参数,来保证服务器和系统的安全运行,是一个基于 Web 界面提供的分布式系统监控以及网络监控功能的企业级开源解决方案,对Docker 安装 Zabbix配置自定义监控项相关知识感兴趣的朋友一起看看吧
    2022-04-04
  • kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录

    kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录

    今天小编就为大家分享一篇关于kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改记录,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 在docker中配置Oracle11g的过程

    在docker中配置Oracle11g的过程

    这篇文章主要介绍了在docker中配置Oracle11g ,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Docker构建pinpoint部署的方法

    Docker构建pinpoint部署的方法

    这篇文章主要介绍了Docker构建pinpoint部署的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • docker 环境搭建、docker 与容器常用指令大全(推荐)

    docker 环境搭建、docker 与容器常用指令大全(推荐)

    这篇文章主要介绍了docker 环境搭建、docker 与容器常用指令大全,主要包括docker容器操作命令汇总,文中介绍需要注意的是如果想要删除一个容器,需要先停止该容器且如果镜像中有运行状态的容器,也是无法删除容器的,需要的朋友可以参考下
    2022-06-06
  • docker imageid 和 digest区别解析

    docker imageid 和 digest区别解析

    在Docker中,image ID和digest是两个不同的标识符,用于唯一标识和引用Docker镜像的不同方面,这篇文章主要介绍了docker imageid 和 digest区别,需要的朋友可以参考下
    2023-06-06
  • Docker 自动部署tomcat详解

    Docker 自动部署tomcat详解

    这篇文章主要介绍了Docker 自动部署tomcat详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • K3s离线部署全过程

    K3s离线部署全过程

    部署K3s集群需关闭防火墙/SELinux,安装Docker,配置主机解析与主机名,上传安装包,主节点安装后调整nodeport范围并生成Token,节点加入集群后将身份改为Worker,最终验证集群状态
    2025-09-09
  • Docker基础 :网络配置详解

    Docker基础 :网络配置详解

    本篇文章将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信,有兴趣的可以了解下。
    2017-02-02

最新评论