在现代云原生开发中,Ubuntu容器监控已成为运维和开发人员必须掌握的核心技能。无论是运行在本地还是云服务器上的Docker容器,都需要实时了解其资源使用情况、健康状态及性能瓶颈。本文将从零开始,教小白用户如何在Ubuntu系统上搭建一套完整的Docker监控工具体系,使用业界主流的Prometheus监控方案,轻松实现对Linux容器性能的全面掌控。

一、准备工作:安装Docker与必要组件
首先,确保你的Ubuntu系统已安装Docker。如果没有,请执行以下命令:
sudo apt updatesudo apt install -y docker.iodocker --version # 验证安装
接着,启动并设置Docker开机自启:
sudo systemctl start dockersudo systemctl enable docker
二、部署cAdvisor:采集容器指标
cAdvisor(Container Advisor)是Google开源的容器监控工具,能自动发现所有容器并收集CPU、内存、网络、文件系统等使用数据。
运行以下命令启动cAdvisor容器:
docker run -d \ --name=cadvisor \ --privileged \ --device=/dev/kmsg \ -p 8080:8080 \ -v /:/rootfs:ro \ -v /var/run:/var/run:rw \ -v /sys:/sys:ro \ -v /var/lib/docker/:/var/lib/docker:ro \ gcr.io/cadvisor/cadvisor:v0.47.0
> ???? 注意:如果你在国内无法拉取gcr.io镜像,可改用国内镜像源,例如
registry.cn-hangzhou.aliyuncs.com/google_containers/cadvisor:v0.47.0。
访问
http://你的服务器IP:8080即可看到cAdvisor的Web界面,实时查看容器性能数据。
三、部署Prometheus:时序数据库与告警引擎
Prometheus 是一个强大的开源监控系统,支持多维数据模型和灵活的查询语言(PromQL)。
1. 创建Prometheus配置文件
prometheus.yml:
global: scrape_interval: 15sscrape_configs: - job_name: 'cadvisor' static_configs: - targets: ['localhost:8080']
2. 启动Prometheus容器:
docker run -d \ --name=prometheus \ -p 9090:9090 \ -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus
现在访问
http://你的服务器IP:9090,进入Prometheus Web界面。在“Graph”标签页中输入
container_cpu_usage_seconds_total并点击“Execute”,即可查询容器CPU使用情况。
四、可视化神器:Grafana仪表盘
虽然Prometheus提供基础查询功能,但Grafana能让你的数据“活”起来!
启动Grafana容器:
docker run -d \ --name=grafana \ -p 3000:3000 \ grafana/grafana
访问
http://你的服务器IP:3000,默认账号密码均为
admin。
添加数据源步骤:
登录后点击“Configuration” > “Data Sources” 选择“Add data source” 类型选择“Prometheus” URL填写http://宿主机IP:9090(若在同一台机器,可用
host.docker.internal:9090或直接填IP) 点击“Save & Test”
然后导入官方Docker监控模板(ID: 193),即可获得专业级仪表盘,实时展示CPU、内存、网络、磁盘IO等关键指标。
五、总结
通过本教程,你已经成功搭建了一套完整的Ubuntu容器监控系统,涵盖了数据采集(cAdvisor)、存储与查询(Prometheus)以及可视化(Grafana)。这套方案不仅适用于个人开发环境,也广泛应用于企业生产场景,是掌握Linux容器性能分析的黄金组合。
记住,良好的监控是保障服务稳定性的第一道防线。建议定期查看仪表盘,设置关键指标告警,让问题在用户发现前就被你捕获!
关键词回顾:Ubuntu容器监控、Docker监控工具、Prometheus监控、Linux容器性能。
