# 实验环境:阿里云ECS主机(两台),CentOS 7.4

01

cAdvisor简介

  为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advisor),它为容器用户提供了对其运行容器的资源使用和性能特征的直观展示。 它是一个运行守护程序,用于收集,聚合,处理和导出有关正在运行的容器的信息。

  cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况。

  cAdvisor使用go语言开发,如果想了解更多请访问其官方github:https://github.com/google/cadvisor

02

安装cAdvisor

cAdvisor 有两种方法来运行,一种是以二进制可执行文件安装运行,另一种是以 Docker 容器运行。这里我们主要介绍第二种以Docker方式安装运行。

  我们可以通过以下命令来在实验环境的云服务器中运行cAdvisor容器:

docker run \  --volume=/:/rootfs:ro \  --volume=/var/run:/var/run:rw \  --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 \  google/cadvisor:latest

  执行之后你会看到以下提示信息:

  

  看到以上信息代表我们以docker方式运行成功,我们可以通过 http://[Your Host IP]:8080(默认是8080端口)来访问cAdvisor。看到以下界面,代表我们的安装工作完成。 

03

使用cAdvisor

监控容器

cAdvisor提供了对Host和容器的监控,单击“Docker Containers”链接:  

  我们即可进入容器监控列表  

  单击其中某个容器例如exceptionless_api_1,即可进入该容器实例的监控页面(前方长图,注意流量):  

我们可以清楚地看到:CPU、内存、网络、文件系统的动态使用情况。

监控Host

除了监控容器之外,cAdvisor也提供了对Host的监控。退出Docker Containers,我们在首页就可以看到如下图所示的Host动态性能数据:  

  同样,我们也能清楚地看到CPU、内存、网络、文件系统等资源的动态使用情况以及历史数据的变化。

04

小结

本文简单介绍了Google开发的容器监控工具cAdvisor的基本安装与使用,总结下来cAdvisor可以帮助展示Host和容器两方面的监控数据,还可以动态展示历史数据的变化。但是,cAdvisor的缺点也非常明显,那就是它的操作界面比较简陋,而且需要多个页面来回跳转,其易用性甚至还不如Weave Scope。更为重要的是,它不能监控多个Host,而Weave Scope至少还可以监控多个Host。那么,为何我们还要学习它呢?因为cAdvisor有一个亮点之处就在于它可以将监控数据导出给第三方工具,而这个第三方工具就是我们下一篇将要学习的Prometheus,Prometheus会对这些监控数据做进一步加工处理。

  因此,我们后续的监控结构是:Prometheus + Node Exporter & cAdvisor + Grafana,敬请期待。

参考资料:

Cloud Man,《每天5分钟玩转Docker容器技术》

二二向箔,《容器监控实践-cAdvisor》

Ein Verne,《使用Google出品的cAdvisor监控Docker容器》

点个【在看】,和更多人一起分享!

你必须知道的容器监控 (2) cAdvisor相关推荐

  1. 容器监控之cadvisor介绍

    1.docker stats 对 cadvisor dokcer stats 可以查看运行的 Docker 镜像的运行状态,例如:这种方式比较原始,因为你无法通过 http 的方式来获取数据,而且没有 ...

  2. Docker 容器监控原理及 cAdvisor 的安装与使用

    生产环境中监控容器的运行状况十分重要,通过监控我们可以随时掌握容器的运行状态,做到线上隐患和问题早发现,早解决.所以今天我就和你分享关于容器监控的知识(原理及工具 cAdvisor). 虽然传统的物理 ...

  3. Docker进阶-容器监控cAdvisor+InfluxDB+Granfana

    概述 前面文章介绍使用docker compose组合应用并利用scale快速对容器进行扩容. 由于docker compose启动的服务都在同一台宿主机上,对于一个宿主机上运行多个容器应用时,容器的 ...

  4. cadvisor实现容器监控

    随着docker容器云的广泛应用,大量的业务软件运行在容器中,这使得对docker容器的监控越来越重要,具体监控指标总结如下: 首先是容器本身资源使用情况:cpu,内存,网络,磁盘 然后物理机的资源使 ...

  5. 容器监控实践—Heapster

    概述 该项目将被废弃(RETIRED) Heapster是Kubernetes旗下的一个项目,Heapster是一个收集者,并不是采集 1.Heapster可以收集Node节点上的cAdvisor数据 ...

  6. 第 10 章 容器监控 - 085 - 如何快速部署 Prometheus?

    快速搭建 Prometheus 监控系统 环境说明 通过 Prometheus 监控两台 Docker Host:10.12.31.22 和 10.12.31.23,监控 host 和容器两个层次的数 ...

  7. elasticsearch docker无法挂载_Docker 容器监控方案怎么选?看看这套开源方案

    来自:简书,作者:__七把刀__ 链接:https://www.jianshu.com/p/abfa502e43a6 随着线上服务的全面docker化,对docker容器的监控就很重要了.SA的监控系 ...

  8. Docker容器监控可视化cAdivisor+InfluxDB+Grafana

    问题 在日常的Docker使用过程中, 要想了解容器当前的运行状况 ,  通过docker stats命令就可以很方便的看到当前宿主机上所有容器的CPU,内存以及网络流量等数据 , 但是, docke ...

  9. docker容器监控

    docker容器监控 一.docker介绍 Docker的中文意思就是码头工人,进入到Docker的官方网站后,也可以看到Docker的图标,如下图所示. 这个Docker图标上就是一条鲸鱼,上面有很 ...

最新文章

  1. python发送邮件和附件
  2. 深入浅出Rust-Future-Part-5.md
  3. ASP.NET 2.0 Web Part编程入门(实践篇)
  4. php xml写入数据库中,PHP读取xml并写入数据库示例
  5. 经典的代码风格-来自微软
  6. 别人写好的爬虫怎么运行_怎么写好楷书?
  7. JVM指令:invokeSpecial/invokeVirtual/invokeStatic/invokeInterface/invokeDynamic方法调用指令
  8. Python中的MySQL数据库编程
  9. 深度学习(四)——RNN, LSTM, 神经元激活函数进阶
  10. 【学习的心得】——“快餐”的效率与“挖掘”的重要性
  11. x86 的 TSS 任务切换机制
  12. 数据结构和算法——栈、队列、堆
  13. mongodb的delete_大数据技术之MongoDB数据删除
  14. oracle复制一个表的结构图,Oracle复制表结构
  15. vivox50pro鸿蒙系统,钱包卡包都承包 vivo X50 Pro+多功能NFC玩法多
  16. mssql 数据库“查询处理器用尽了内部资源,无法生成查询计划。”问题的处理...
  17. Anaconda 下载与安装详细教程
  18. 无法格式化sd卡怎么办 sd卡无法格式化怎么弄
  19. 使用Diskgenius将U盘分区,分为启动盘和文件存储两大功能详解
  20. 计算机类软件工程与测绘类遥感专业的薪水,2018遥感科学与技术专业就业前景和就业方向分析...

热门文章

  1. 如何使用Avira Rescue CD清洁感染的PC
  2. 如何停止Internet Explorer 11的建议站点?
  3. 微信小程序 fire_如何在Fire TV和Fire TV Stick上侧面加载应用程序
  4. apple tv 开发_如何跨多台Apple TV同步Apple TV的主屏幕
  5. Microsoft POS for .NET v1.12 发布了
  6. cordova-config.xml配置应用图标
  7. [JMX一步步来] 7、用JDK5.0的JConsole来连接MBean
  8. oracle导出数据库中表出现导出报错(EXP-00003)未找到段 (0,0) 的存储定义
  9. Linux学习笔记 1 环境变量 2 vi命令
  10. Web开发中的矢量绘图(vml,svg)处理和应用