本篇已加入《.NET Core on K8S学习实践系列文章索引》,可以点击查看更多容器化技术相关系列文章。上一篇我们了解了docker自带的监控子命令以及开源监控工具Weave Scope,这一篇我们来了解一下Google开发的容器监控工具cAdvisor。cAdvisor能够较好地展示Host和容器两个层次的监控数据,并且能够展示历史变化数据。

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

一、cAdvisor简介

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

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

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

二、安装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=: \
--detach=true \
--name=cadvisor \
google/cadvisor:latest

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

  

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

  

三、使用cAdvisor

3.1 监控容器

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

  

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

  

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

  

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

3.2 监控Host

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

  

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

四、小结

  本文简单介绍了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容器

作者:周旭龙

出处:https://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

你必须知道的容器监控 (2) cAdvisor的更多相关文章

  1. docker容器监控:cadvisor+influxdb+grafana

    cadvisor+influxdb+grafana可以实现容器信息获取.存储.显示等容器监控功能,是目前流行的docker监控开源方案. 方案介绍 cadvisor Google开源的用于监控基础设施 ...

  2. 容器监控:cAdvisor

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

  3. 容器监控:cadvisor+influxdb+grafana

    cAdvisor:Google开源的工具,用于监控Docker主机和容器系统资源,通过图形页面实时显示数据,但不存储:它通过宿主机/proc./sys./var/lib/docker等目录下文件获取宿 ...

  4. Docker容器监控

    利用docker compose组合应用并利用scale可以快速对容器进行扩充,而docker compose启动的服务容器都在同一台宿主机上,对于一个宿主机上运行多个容器应用时,容器的运行情况,如: ...

  5. docker stack 部署容器监控方案(cAdvisor、Prometheus、Grafana)

    =============================================== 2018/7/8_第1次修改                       ccb_warlock === ...

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

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

  7. Docker系列08:容器监控

    1 监控解决方案 cadvisor+influxdb+grafana cAdvisor:Google开源的工具,用于监控Docker主机和容器系统资源,通过图形页面实时显示数据,但不存储:它通过宿主机 ...

  8. 你必须知道的容器监控 (3) Prometheus

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章.上一篇介绍了Google开发的容器监控工具cAdvisor,但是其提供的操作界面 ...

  9. Docker容器监控(十)--技术流ken

    docker自带的监控命令 docker自带了三个监控命令即ps, top, stats ps docker ps 可以帮助我们很快的了解当前正在运行的容器 -a:会显示已经停掉的容器 [root@h ...

随机推荐

  1. preg_relace_callback不起作用匿名函数不启作用替换字符串中的所有图片

    遇到这样的一个需求,即替换新闻正文中的所有图片,将其图片地址补充为完整的地址. 刚开始的时候,采用匿名函数的方法可以使用,但有一个问题,好像是php的匿名函数5.4以前的版本支持的并不好. 然后在内部 ...

  2. 基于SpringBoot实现AOP+jdk/CGlib动态代理详解

    动态代理是一种设计模式.在Spring中,有俩种方式可以实现动态代理--JDK动态代理和CGLIB动态代理. JDK动态代理 首先定义一个人的接口: public interface Person { ...

  3. word2vec之tensorflow(skip-gram)实现

    关于word2vec的理解,推荐文章https://www.cnblogs.com/guoyaohua/p/9240336.html 代码参考https://github.com/eecrazy/wo ...

  4. node学习笔记(二)流和缓冲区

    内容 视频 第四章内容 菜鸟教程服务器 //复制文件 function de(x) { console.log(x); } var fs=require('fs'); fs.mkdir('stuff' ...

  5. Java基础学习(七) - 异常处理

    1.异常概念 异常指的是程序在执行过程中出现的非正常的情况,导致JVM的非正常停止.在Java中,异常是一个类,产生异常就是创建异常对象并抛出一个异常对象. 异常指的并不是语法错误,语法错误,编译不会 ...

  6. Jquery的load加载本地文件出现跨域错误的解决方案

    如果用原生的AJAX是加载本地文件就不会出现错误.当然,这个jquery的load放在服务器上通过http加载还是支持的.也有例外比如在firefox和ie浏览器使用$.ajax加载本地html或tx ...

  7. web 前端优化-戈多编程

    大家好,我是戈多,从事web开发工作接近三年了,今天来归纳下web前端优化的解决方案(码农搬砖工,来自各网络汇总) 1.减少Http请求 http请求越多,那么消耗的时间越多,如果在加上网络很糟糕,那 ...

  8. 《深入理解Java虚拟机》-----第12章 Java内存模型与线程

    概述 多任务处理在现代计算机操作系统中几乎已是一项必备的功能了.在许多情况下,让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个很重要的原因是计算机的运算速度与它的存储和通信子系统速 ...

  9. SQL Server换版本卸载问题

    好久没更博客了,今天随性的更一篇.. 你是否也在问这个问题. 给你答案: 1.运行:输入regedit 进入注册表编辑器,进入之后执行下列操作: 2.在注册表,删除如下项:HKEY_CURRENT_U ...

  10. LeetCode初级算法--字符串01:反转字符串

    LeetCode初级算法--字符串01:反转字符串 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.ne ...