当前位置: 首页 > news >正文

使用 Prometheus+cAdvisor 监控 Docker 容器指标

一、序言

本篇介绍如何使用Prometheus+cAdvisor来监控容器,操作指南来自官网手册:https://prometheus.io/docs/guides/cadvisor/

Prometheus是什么已经知道了,先介绍一下cAdvisor:

cAdvisor(Container Advisor )是谷歌开发的监控容器并提供容器监控指标导出的软件,监控指标可以被Prometheus使用。

cAdvisor官网地址:https://github.com/google/cadvisor
我也写了一篇关于cAdvisor的安装:https://blog.csdn.net/qq_50247813/article/details/150075606?spm=1001.2014.3001.5501

二、开始部署

本篇笔记参考官网手册,使用docker-compose部署

1. 编写docker-compose

version: '3.2'
services:prometheus:image: prom/prometheus:latestcontainer_name: prometheusports:- 9090:9090command:- --config.file=/etc/prometheus/prometheus.ymlvolumes:- ./prometheus.yml:/etc/prometheus/prometheus.yml:rodepends_on:- cadvisorcadvisor:image: gcr.nju.edu.cn/cadvisor/cadvisor:latestcontainer_name: cadvisorports:- 8080:8080volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rodepends_on:- redisredis:image: redis:latestcontainer_name: redisports:- 6379:6379
  • 在上面的yml文件中需要注意:

      volumes:- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
    

    prometheus容器将当前目录下的prometheus.yml映射到了容器里面,所以需要保证当前目录下有这个文件。

  • 由于默认的gcr.io/cadvisor/cadvisor:latest 镜像在国内无法访问所以这里替换成南京源,需要配置docker镜像加速:

      "registry-mirrors": ["https://docker.nju.edu.cn"]
    

2. 配置Prometheus

在监控作业中添加一个cadvisor,targets目标为cadvisor:8080

scrape_configs:
- job_name: cadvisorscrape_interval: 5sstatic_configs:- targets:- cadvisor:8080

查看当前目录文件:

 ls -1
docker-compose.yml
prometheus.yml

3. 运行docker-compose

docker-compose up -d
docker-compose ps
NAME         IMAGE                                     COMMAND                  SERVICE      CREATED          STATUS                        PORTS
cadvisor     gcr.nju.edu.cn/cadvisor/cadvisor:latest   "/usr/bin/cadvisor -…"   cadvisor     11 minutes ago   Up About a minute (healthy)   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
prometheus   prom/prometheus:latest                    "/bin/prometheus --c…"   prometheus   11 minutes ago   Up About a minute             0.0.0.0:9090->9090/tcp, :::9090->9090/tcp
redis        redis:latest                              "docker-entrypoint.s…"   redis        11 minutes ago   Up About a minute             0.0.0.0:6379->6379/tcp, :::6379->6379/tcp

三、查看监控效果

1. 查看一下cadvisor监控

cadvisor监控在8080端口:
在这里插入图片描述
在这里插入图片描述

查看一下监控指标:
在这里插入图片描述

2. 查看Promethus监控

在这里插入图片描述

3. 通过容器监控指标获取监控内容

在这里插入图片描述
这些都是监控指标;

在这里插入图片描述

  • container_memory_usage_bytes{name=“redis”} : 查看 redis cgroup 的总内存使用量(以字节为单位)
http://www.xdnf.cn/news/1268803.html

相关文章:

  • 算法_python_学习记录_01
  • Docker多阶段构建及适用镜像推荐
  • 软件工程总体设计:从抽象到具体的系统构建之道
  • WinForm 复合控件(用户控件):创建与使用指南
  • 10. 怎么实现深拷贝?
  • 【n8n】学习n8n【10】:Github的项目n8n-workflows:本地安装2,053 个 n8n 工作流程集合:随时看随时抄/学习~
  • 嵌入式 - Linux软件编程
  • 基于 RAUC 的 Jetson OTA 升级全攻略
  • 【文献阅读】我国生态问题鉴定与国土空间生态保护修复方向
  • 本地部署接入 whisper + ollama qwen3:14b 总结字幕
  • 【R语言】单细胞数据整合质量评估(3)
  • 初学python的我开始Leetcode题15-2
  • 【Python 工具人快餐 · 第 2 份】
  • TensorFlow深度学习实战(29)——强化学习(Reinforcement learning,RL)
  • Android 开发问题:The specified child already has a parent.
  • Visual Studio Code (v1.103) 中 GitHub Copilot 最新更新!
  • LLM表征的提取方式
  • n8n飞书webhook配置(飞书机器人、飞书bot、feishu bot)Crypto节点、js timestamp代码、Crypto node
  • 电机控制器母线电压采样芯片有哪些
  • 机器学习——模型的简单优化
  • 如何判断一个数是 2 的幂 / 3 的幂 / 4 的幂 / n 的幂 位运算 总结和思考 每日一题 C++的题解与思路
  • 机器翻译:需要了解的数学基础详解
  • 客服Agent革命:智能客服系统的技术实现与效果评估
  • Java Stream流详解:用法与常用API实战
  • Tob大客户销售面试经验
  • 数据安全与隐私保护:企业级防护策略与技术实现
  • DBSCAN聚类算法实战全解析
  • 时序分解 | MATLAB实现SAO-VMD雪消融算法优化变分模态分解
  • Python 属性描述符(描述符用法建议)
  • 词向量可视化:用TensorBoard或PCA探索词向量空间