[每周一更]-(第73期):介绍容器监控工具-CAdvisor

news2025/1/11 0:04:15

在这里插入图片描述

CAdvisor是Google开源的一款用于展示和分析容器运行状态的可视化工具。通过在主机上运行CAdvisor用户可以轻松的获取到当前主机上容器的运行统计信息,并以图表的形式向用户展示。

命令行监控Docker容器-docker stats

访问地址

http://localhost:8080/containers/

1、直接启动容器方式安装

在本地运行CAdvisor也非常简单,直接运行一下命令即可:

# CentOS
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 \
    --privileged=true \
google/cadvisor:latest

  • 通过访问http://localhost:8080可以查看,当前主机上容器的运行状态,如下所示:
    在这里插入图片描述

在这里插入图片描述

  • CAdvisor是一个简单易用的工具,相比于使用Docker命令行工具,用户不用再登录到服务器中即可以可视化图表的形式查看主机上所有容器的运行状态。
  • 而在多主机的情况下,在所有节点上运行一个CAdvisor再通过各自的UI查看监控信息显然不太方便,同时CAdvisor默认只保存2分钟的监控数据。
    好消息是CAdvisor已经内置了对Prometheus的支持。访问http://localhost:8080/metrics即可获取到标准的Prometheus监控样本输出

2、采用docker-compose方式安装

创建:docker-compose.yml
version: '3'

services:
    cadvisor:
        image: google/cadvisor:latest
        ports:
            - "8080:8080"
        volumes:
            - /:/rootfs:ro
            - /var/run:/var/run:rw
            - /sys:/sys:ro
            - /var/lib/docker/:/var/lib/docker:ro
        restart: always
运行
# 开启
docker-compose up -d
# 关闭
docker-compose down

3、优势:

  • 轻量级和简单:
    • cAdvisor 设计精巧,轻量级,易于部署和使用。
    • 它专注于提供有关容器性能的基本信息,使其成为监控容器的入门工具。
  • 集成容器环境:
    • cAdvisor 针对容器环境进行了优化,可以无缝集成到 Docker 和 Kubernetes 等容器管理平台中。
    • 它能够获取有关每个运行中容器的 CPU 使用、内存使用、网络统计等信息。
  • 支持多种容器运行时:
    • cAdvisor 不仅适用于 Docker,还支持其他容器运行时,如 containerd、CRI-O 等,使其具有更广泛的适用性。
  • 实时监控和历史数据:
    • cAdvisor 提供实时监控和历史数据记录,允许用户查看容器的性能趋势和历史变化。
  • 容器资源隔离分析:
    • cAdvisor 提供有关容器资源隔离和使用的信息,有助于分析容器之间的资源竞争和隔离情况。

4、劣势:

  • 功能相对简单:
    • cAdvisor 的设计目标是提供基本的容器性能监控,因此相对于一些高级监控工具,它的功能可能显得相对简单。
  • 不适用于大规模系统:
    • 对于大规模和复杂的系统,可能需要更强大和高级的监控解决方案,而 cAdvisor 可能无法提供足够的灵活性和功能。
  • 可能需要额外的存储和可视化工具:
    • cAdvisor 提供了一些基本的可视化能力,但对于一些复杂的监控场景,可能需要额外的存储和可视化工具来更好地分析和呈现数据。

5、与Prometheus集成

修改/etc/prometheus/prometheus.yml,将cAdvisor添加监控数据采集任务目标当中:

- job_name: cadvisor
    static_configs:
    - targets:
        - localhost:8080

启动Prometheus服务:

prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus

启动完成后,可以在Prometheus UI中查看到当前所有的Target状态:
在这里插入图片描述

通过:http://localhost:3000/graph,查看更详细的监控数据:

几个常见的采集参数:
  • 表达式计算容器的CPU使用率:
    sum(irate(container_cpu_usage_seconds_total{image!=“”}[1m])) without (cpu)
  • 查询容器内存使用量(单位:字节):
    container_memory_usage_bytes{image!=“”}
  • 查询容器网络接收量速率(单位:字节/秒):
    sum(rate(container_network_receive_bytes_total{image!=“”}[1m])) without (interface)
  • 查询容器网络传输量速率(单位:字节/秒):
    sum(rate(container_network_transmit_bytes_total{image!=“”}[1m])) without (interface)
  • 查询容器文件系统读取速率(单位:字节/秒):
    sum(rate(container_fs_reads_bytes_total{image!=“”}[1m])) without (device)
  • 查询容器文件系统写入速率(单位:字节/秒):
    sum(rate(container_fs_writes_bytes_total{image!=“”}[1m])) without (device)

参考地址:

  • github cadvisor
  • cadvisor running docs
  • 容器监控:cAdvisor

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1226642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ADS村田电感.mod(spice netlist文件)和.s2p模型导入与区别

ADS村田电感.mod(spice netlist文件)和.s2p模型导入与区别 简介环境过程s2pspice netlist(.mod文件)导入和结果对比 简介 记录了ADS村田电感.mod(spice netlist文件)和.s2p模型导入与区别 环境 ADS2020 …

安顿APP3.0全新升级,引领智能穿戴健康革新,专注预警疾病风险

随着人们生活水平的提高和工作压力的增加,心脑血管疾病已经成为现代社会的严重问题,特别是心梗、脑卒中等疾病已经开始夺去年轻人的生命。 据报道,近年来,多位年轻人因心脑血管疾病突发去世,如42岁的知名男演员、30岁的…

基于猕猴Spike运动解码的不同解码方法性能对比

公开数据集中文版详细描述 参考前文:https://editor.csdn.net/md/?not_checkout1&spm1011.2124.3001.6192神经元Spike信号分析 参考前文:https://blog.csdn.net/qq_43811536/article/details/134359566?spm1001.2014.3001.5501神经元运动调制分析 …

【MATLAB源码-第83期】基于matlab的MIMO中V-BALST结构ZF和MMSE检测算法性能误码率对比。

操作环境: MATLAB 2022a 1、算法描述 在多输入多输出(MIMO)通信系统中,V-BLAST(垂直波束形成层间空间时间编码技术)是一种流行的技术,用于提高无线通信的数据传输速率和容量。它通过在不同的…

遥感数据

在研究中,我们常需要遥感数据。在下面的网站中,可以得到遥感数据。 EarthExplorer (usgs.gov)https://earthexplorer.usgs.gov/登陆网站: 通常,在Additional Criteria中,可以下载遥感数据。 不过,这个选项…

集合框架面试题

一、集合容器的概述 1. 什么是集合 集合框架:用于存储数据的容器。 集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。 任何集合框架都包含三大块内容: 对外的接口、接口的实现和对集合运算的算 法。 接口:表示集合的抽象数据…

Sectigo证书——全球SSL证书第一品牌

随着互联网技术的发展和网络安全意识的提升,SSL证书已经成为确保网络数据传输安全的重要工具。而在众多SSL证书品牌中,Sectigo无疑是其中的佼佼者,被誉为“全球证书第一品牌”。 Sectigo是一个有着超过二十年行业经验的老牌认证机构&#xff…

自定义业务异常处理类加入全局处理器中

自定义业务异常处理类并将其加入全局异常处理器,从而避免业务层直接处理异常造成代码污染,达到业务清晰简洁。 描述 在进行分类模块开发时,删除某个分类时当分类关联了菜品和套餐时,是不允许删除的。我们在管理端删除的时候会提示…

解决在pycharm中使用matplotlib画图问题

第一,再导入包后直接绘图出现: AttributeError: module backend_interagg has no attribute FigureCanvas表明版本不兼容,我们需要加入:matplotlib.use(‘TkAgg’) 导入函数就变成了: import matplotlib matplotlib.…

AtCoder Beginner Contest 329 题解A~F

A - Spread 输入字符串&#xff0c;字符之间加上空格输出 B - Next 输出数组当中第二大的数 C - Count xxx 统计每个字符出现过的最长长度&#xff0c;再累加即可 #include<bits/stdc.h> #pragma GCC optimize("Ofast") #define INF 0x3f3f3f3f #define I…

Java Web——Web开发介绍

什么是Web开发 Web开发是一种创建和维护全球广域网&#xff08;World Wide Web&#xff09;上的网站和应用的技术。全球广域网也称为万维网(www World Wide Web)&#xff0c;是一个能够通过浏览器访问的互联网上的巨大信息库。 Web开发的目标是创建功能齐全、易于使用和安全的…

资深测试总结,现在软件测试有未来吗?“你“的底气在哪里?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、为什么会有 “…

基于鼠群算法优化概率神经网络PNN的分类预测 - 附代码

基于鼠群算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于鼠群算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于鼠群优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

Android问题笔记四十六:解决open failed: EACCES (Permission denied) 问题

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列点击跳转>ChatGPT和AIGC &#x1f449;关于作者 专…

低代码在ERP中的理解与应用:提升开发效率与业务灵活性

企业资源规划&#xff08;ERP&#xff09;指通过融合不同部门的信息和流程&#xff0c;提升企业效率、融洽运营的管理体系。ERP系统通过提供一套集成化应用程序&#xff0c;助力企业管理工作流程&#xff0c;包含选购、库存、销售、生产规划等。 低代码&#xff08;Low-Code&a…

皮肤性病科专家谭巍主任提出HPV转阴后饮食七点建议

HPV转阴是每一位感染者都期盼的&#xff0c;因为转阴所以健康&#xff0c;只有转为阴性才意味着不具备传染性&#xff0c;从此也不必再害怕将病毒传染给家人的风险&#xff0c;也不必再担忧持续感染而引发的健康风险。总之&#xff0c;HPV转阴是预示感染者恢复健康与否的主要标…

Windows安装多个版本的Java

在做持续集成CI/CD时&#xff0c;需要用到Jenkins&#xff0c;本人爱好使用各种最新版&#xff0c;down下来之后发现&#xff0c;新版只支持Java11以上的版本了&#xff01;&#xff01; 苦苦找了很久&#xff0c;找不到正规Java8版本的Jenkins安装包&#xff01; 干脆换个思路…

【win32_001】win32命名规、缩写、窗口

整数类型 bool类型 使用注意&#xff1a; 一般bool 的false0&#xff1b;true1 | 2 | …|n false是为0&#xff0c;true是非零 不建议这样用&#xff1a; if (result TRUE) // Wrong! 因为result不一定只返回1&#xff08;true&#xff09;&#xff0c;当返回2时&#xff0c…

【C++】:继承

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关C继承的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结…

【机器学习基础】正则化

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;机器学习 欢迎订阅&#xff01;后面的内容会越来越有意思~ ⭐特别提醒&#xff1a;针对机器学习&#xff0c;特别开始专栏&#xff1a;机器学习python实战 欢迎订阅&am…