前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >容器监控知多少(2)cAdvisor

容器监控知多少(2)cAdvisor

原创
作者头像
Edison Zhou
修改2019-10-30 10:51:27
1.1K0
修改2019-10-30 10:51:27
举报
文章被收录于专栏:EdisonTalkEdisonTalk

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

实验环境:云服务器两台:推荐腾讯云CVM,CentOS 7.4

一、cAdvisor简介

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

  cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括<span style="text-decoration: underline;">CPU使用情况</span>、<span style="text-decoration: underline;">内存使用情况</span>、<span style="text-decoration: underline;">网络吞吐量</span>及<span style="text-decoration: underline;">文件系统使用情况</span>。

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

二、安装cAdvisor

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

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

代码语言:txt
复制
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。看到以下界面,代表我们的安装工作完成。

  

三、使用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容器

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、cAdvisor简介
  • 二、安装cAdvisor
  • 三、使用cAdvisor
    • 3.1 监控容器
      • 3.2 监控Host
      • 四、小结
      • 参考资料
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档