如何在Linux上配置容器监控

来源:AI智能体作者:灯下变量头衔:程序员
导读:本期聚焦于小伙伴创作的《如何在Linux上配置容器监控》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Linux上配置容器监控》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中部署容器服务后,配置合理的监控方案能够帮助我们及时掌握容器的运行状态,快速定位资源瓶颈和故障问题。目前主流的容器监控方案通常结合指标采集、存储、展示三个核心环节,下面以Docker容器为例,介绍基于cAdvisor和Prometheus的监控配置方法。

如何在Linux上配置容器监控

监控组件选型说明

常用的容器监控组件各有侧重,我们可以根据实际需求选择组合:

  • cAdvisor:Google开源的容器监控工具,能够自动采集宿主机上所有容器的资源使用数据,包括CPU、内存、网络、磁盘等,支持Docker容器开箱即用。
  • Prometheus:开源的监控告警系统,负责拉取cAdvisor采集的指标数据进行存储,支持灵活的查询语法和告警规则配置。
  • Grafana:可视化展示工具,对接Prometheus数据源,可自定义容器监控仪表盘,直观展示各项监控指标。

安装cAdvisor采集容器指标

cAdvisor可以直接以Docker容器的形式运行在Linux宿主机上,无需复杂的环境配置。执行以下命令启动cAdvisor容器:

# 拉取cAdvisor镜像
docker pull gcr.io/cadvisor/cadvisor:v0.47.0

# 启动cAdvisor容器,挂载宿主机相关目录用于采集容器数据
docker run 
  --volume=/:/rootfs:ro 
  --volume=/var/run:/var/run:rw 
  --volume=/sys:/sys:ro 
  --volume=/var/lib/docker/:/var/lib/docker:ro 
  --publish=8080:8080 
  --detach=true 
  --name=cadvisor 
  gcr.io/cadvisor/cadvisor:v0.47.0

容器启动后,访问http://宿主机IP:8080即可看到cAdvisor的监控页面,其中/metrics路径会暴露Prometheus格式的指标数据,供后续Prometheus拉取。

安装配置Prometheus存储指标

首先创建Prometheus的配置文件,指定cAdvisor作为指标采集目标:

# prometheus.yml 配置文件内容
global:
  scrape_interval: 15s  # 每15秒拉取一次指标

scrape_configs:
  - job_name: "cadvisor"  # 任务名称
    static_configs:
      - targets: ["127.0.0.1:8080"]  # cAdvisor的访问地址,如果是远程宿主机替换为对应IP

然后启动Prometheus容器,挂载上述配置文件:

# 拉取Prometheus镜像
docker pull prom/prometheus:v2.45.0

# 启动Prometheus容器,挂载配置文件到容器内
docker run 
  --volume=$(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml 
  --publish=9090:9090 
  --detach=true 
  --name=prometheus 
  prom/prometheus:v2.45.0

启动后访问http://宿主机IP:9090,在Prometheus的Targets页面可以看到cAdvisor的采集状态为UP,说明指标拉取正常。

配置Grafana可视化展示

启动Grafana容器并配置数据源对接Prometheus:

# 拉取Grafana镜像
docker pull grafana/grafana:9.5.2

# 启动Grafana容器
docker run 
  --publish=3000:3000 
  --detach=true 
  --name=grafana 
  grafana/grafana:9.5.2

访问http://宿主机IP:3000,默认账号密码为admin/admin,登录后按以下步骤配置:

  1. 进入Configuration -> Data Sources,点击Add data source,选择Prometheus。
  2. 在URL栏填写http://127.0.0.1:9090(如果Prometheus和Grafana不在同一宿主机,替换为Prometheus的实际IP),点击Save & Test验证连通性。
  3. 进入Dashboards -> Import,输入容器监控仪表盘ID(如193),选择刚才配置的Prometheus数据源,即可导入现成的容器监控仪表盘,查看容器的各项运行指标。

常见问题排查

如果监控数据无法正常展示,可以按照以下思路排查:

  • 检查cAdvisor容器是否正常运行,访问http://宿主机IP:8080/metrics是否能获取到指标数据。
  • 检查Prometheus配置文件中targets的地址是否正确,在Prometheus的Targets页面查看采集任务状态是否为UP。
  • 检查Grafana的数据源配置是否正确,测试数据源连通性是否通过。
注意:如果是在生产环境使用,还需要配置Prometheus的数据持久化,避免容器重启后监控数据丢失,同时可以根据需求配置Prometheus的告警规则,当容器指标异常时及时发送告警通知。

Dockercontainer_monitoringPrometheuscAdvisor修改时间:2026-07-19 23:42:23

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。