当前位置: 首页 > 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.dtcms.com/a/321157.html

相关文章:

  • 移动端app专项测试
  • 园区应急调度系统的核心功能
  • 塔罗耳语:免费在线AI塔罗牌占卜工具
  • 1-10〔 OSCP ◈ 研记 〕❘ 信息收集▸主动采集H:SNMP基础
  • WinForm利用 RichTextBox组件实现输出各种颜色字体日志信息
  • MMBFJ310LT1G一款N沟道JFE 晶体管适用于高频放大器和振荡器等射频应用MMBFJ310LT1
  • STM32CubeMX(十二)SPI驱动W25Qxx(Flash)
  • VUE+SPRINGBOOT从0-1打造前后端-前后台系统-视频列表与视频播放
  • 【嵌入式C语言】
  • C语言:结构体
  • mac电脑解决在不同项目需要频繁手动切换node版本的困扰
  • Autosar AP功能组状态和模型进程是否预定义后不改变了?
  • Mac 电脑放在环境变量中的通用脚本
  • 从浅拷贝到深拷贝:C++赋值运算符重载的核心技术
  • SITIME汽车时钟发生器Chorus保障智能汽车安全
  • 《告别Bug!GDB/CGDB调试实战指南》
  • 「iOS」————优先级反转
  • 解决Docker部署的MySQL8错误日志里面的 mbind: Operation not permitted 问题
  • 构建安全 Web 应用:从用户认证与授权到 JWT 原理解析
  • python使用python-docx自动化操作word
  • 【杂谈】-逆缩放悖论:为何更多思考会让AI变“笨“?
  • Numpy科学计算与数据分析:Numpy布尔索引与花式索引实战
  • 一种对白点进行多重加权并利用三角剖分插值微调白平衡增益的白平衡矫正算法
  • RAG问答系统:Spring Boot + ChromaDB 知识库检索实战
  • 3D Tiles 格式中,Bounding Volum
  • 基于AutoDL平台的3D_Gaussian_Splatting初体验
  • 在 Vue 中使用 ReconnectingWebSocket实现即时通讯聊天客服功能
  • 2025 前端真实试题-阿里面试题分析
  • 关于数据结构6-哈希表和5种排序算法
  • Maptalks vs Cesium