在当今云原生和微服务架构盛行的时代,容器已成为应用部署的基石,清晰地掌握每个容器的运行状态——尤其是 CPU、内存、网络等核心资源的使用情况——变得至关重要。这不仅能帮助我们及时发现性能瓶颈、预防故障,更能为资源优化和成本控制提供数据支撑。
一、部署
1、准备 prometheus.yml 配置文件
重点关注 targets 配置项中,表示让 prometheus 采集 cadvisor 的接口,若你修改了之后的容器名或者端口,请务必同步修改此配置文件
并且注意修改文件权限为 chmod 777 prometheus.yml
,避免 Prometheus 没有文件权限
1 | scrape_configs: |
2、准备 prometheus 持久化目录
若不持久化,重启 prometheus 监控的数据会清空,因此若正式环境使用,建议持久化数据
创建 prometheus_data 文件夹,并修改权限为 chmod 777 prometheus_data
3、准备 grafana 持久化目录
创建 grafana_data 文件夹,并修改权限为 chmod 777 grafana_data
4、使用 docker compose 部署
请自行修改配置中的目录为自己前面步骤的目录,关键点基本都已注释。
1 | version: '3.8' |
5、验证
访问 CAdvisor 接口 http://127.0.0.1:38080/docker/
能看到容器信息说明部署成功。
访问 Prometheus 地址 http://127.0.0.1:9090/targets
能看到 cadvisor 采集任务,并且状态是 UP 说明部署成功。
访问 Grafana 地址 http://127.0.0.1:3000
能看到登录页面,并使用 admin/admin 登录进去,说明部署成功。
二、使用
1、添加数据源
登录进 Grafana ,点击左侧的 Connections/Data sources
菜单,也就是 http://127.0.0.1:3000/connections/datasources
地址,点击添加数据源,选择 Prometheus,并输入链接 http://monitor-prometheus:9090
,滚动到最底部点击【Save & test】按钮,也就是保存并测试。
2、添加面板
点击左侧的 Dashboards
菜单,也就是 http://127.0.0.1:3000/dashboards
地址,点击创建,选择 Import a dashboard
也就是导入,输入模版ID:14282
,这是专门为 cAdvisor 设计的现代仪表模版,点击【Load】加载按钮,并选择刚才的数据源,点击【Import】保存即可看到可视化面板,包含所有容器的 CPU、内存、网络等信息,通过左上角还可筛选容器,查看特定容器的指标。