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

cAdvisor 容器监控软件学习

一、cAdvisor 介绍

cAdvisor 官网地址:
https://github.com/google/cadvisor

cAdvisor(Container Advisor)官网 介绍:

cAdvisor(容器顾问)为容器用户提供对其运行容器的资源使用情况和性能特征的理解。它是一个运行的守护进程,收集、聚合、处理和导出有关运行容器的信息。具体来说,对于每个容器,它保持资源隔离参数、历史资源使用情况、完整历史资源使用情况的直方图和网络统计数据。这些数据按容器和全局机器导出。

cAdvisor 对 Docker 容器提供原生支持,应该可以开箱即用地支持几乎所有其他容器类型。我们致力于全面支持,如果情况并非如此,请随时打开一个问题。cAdvisor 的容器抽象基于 lmctfy,因此容器本质上具有嵌套的层次结构。

cAdvisor还可以导出容器监控指标提供给promethus

二、cAdvisor 部署

1. 使用docker部署

cAdvisor 提供了开箱即用的docker镜像,下来将使用多个系统来部署cAdvisor

1.1. 使用centos7.9部署

官网手册:https://github.com/google/cadvisor/blob/master/docs/running.md#centos-fedora-and-rhel

docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys/fs/cgroup/cpu,cpuacct:/sys/fs/cgroup/cpuacct,cpu \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
--privileged=true \
google/cadvisor:latest

1.2. 使用ubuntu22.04部署

使用ubuntu22.04部署时不能使用google/cadvisor:latest这个镜像,因为centos7.9默认使用的是cgroup v1,cgroup v1 会将cpu 挂载到/sys/fs/cgroup/cpu,cpuacct目录,而cgroup v2是直接将所有的cgroup挂载到 /sys/fs/cgroup目录。

所以ubuntu22.04在使用google/cadvisor:latest镜像的时候会报错:

F0808 14:43:01.537184       1 cadvisor.go:146] Failed to create a Container Manager: mountpoint for cpu not found

验证以下cgroup版本和挂载路径:
centos7.9:

 docker info | grep -i "cgroup version"
Cgroup Version: 1
mount | grep -i cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)

ubuntu22.04:

docker info | grep -i "cgroup version"
 Cgroup Version: 2
mount | grep -i cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)

更换镜像gcr.io/cadvisor/cadvisor就可以解决这个问题,但是GCR镜像仓库无法在国内访问,所有需要配置国内的镜像源,目前发现南京源可以正常下载。

添加南京大学镜像站:

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

但是需要修改域名,例如将gcr.io 修改为gcr.nju.edu.cn

docker pull gcr.nju.edu.cn/cadvisor/cadvisor

部署cadvisor:

docker run \--volume=/:/rootfs:ro \--volume=/var/run:/var/run:ro \--volume=/sys:/sys:ro \--volume=/var/lib/docker/:/var/lib/docker:ro \--volume=/dev/disk/:/dev/disk:ro \--publish=8080:8080 \--detach=true \--name=cadvisor \--privileged \--device=/dev/kmsg \gcr.nju.edu.cn/cadvisor/cadvisor

三、访问cAdvisor

cAdvisor 默认使用8080端口访问:
默认是主机监控界面:
在这里插入图片描述

点击Docker Containers进入容器监控界面:
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/613842.html

相关文章:

  • docker下载安装和使用(Hyper-V方式)
  • Socket编程预习
  • AI赋能SEO关键词优化策略
  • 深入理解 robots.txt:网站与搜索引擎的 “沟通协议”
  • sqli-labs通关笔记-第38关 GET字符型堆叠注入(单引号闭合 手工注入+脚本注入两种方法)
  • Dubbo应用开发之基于xml的第一个Dubbo程序
  • 安全扫描:检测到目标站点存在javascript框架库漏洞问题(vue)
  • 13. 搜索引擎-ElasticSearch
  • 深入探索 PDF 数据提取:PyMuPDF 与 pdfplumber 的对比与实战
  • 技术速递|GPT-5 正式上线 Azure AI Foundry
  • 机器学习——06 集成学习
  • AI搜索引擎——DeepSeek崛起 || #AIcoding·八月创作之星挑战赛# || 简单版
  • 机器人焊机智能流量调节
  • 【/usr/bin/env: “bash\r”: 没有那个文件或目录】问题解决
  • 电脑IP地址是“169.254.x.x”而无法上网的原因
  • MetaBit基金会加码投资图灵协议,深化去中心化金融与元宇宙生态合作
  • 人工智能与智能家居:家居生活的变革
  • git | git bash变慢解决
  • 智能对讲机是什么?原理、优势、应用场景、发展趋势详解
  • Xiphos Q8 SDR DOCK子板 AD9361 宽带收发器的 SDR 模块。
  • 【新启航】旋转治具 VS 手动翻转:三维扫描中自动化定位如何将单件扫描成本压缩 75%
  • Agent配置最佳实践:Prompt工程与参数调优
  • 【世纪龙科技】汽车车身测量虚拟实训软件-虚境精测全维赋能
  • 机器学习-----SVM(支持向量机)算法简介
  • 机器学习-Logistic Regression
  • 数据结构5-哈希表
  • Python爬虫实战:研究meshio库,构建网格文件数据采集系统
  • 记录网站突然报错503
  • 大型语言模型幻觉检测与缓解技术研究综述
  • MQTT与服务器通讯