容器监控知多少 (2) cAdvisor

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文简单介绍了Google开发的容器监控工具cAdvisor的基本安装与使用,总结下来cAdvisor可以帮助展示Host和容器两方面的监控数据,还可以动态展示历史数据的变化。cAdvisor有一个亮点之处就在于它可以将监控数据导出给第三方工具,而这个第三方工具就是我们下一篇将要学习的Prometheus,Prometheus会对这些监控数据做进一步加工处理。

本篇已加入《.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=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

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

目录
相关文章
|
3月前
|
存储 Prometheus 监控
Prometheus vs. ELK Stack:容器监控与日志管理工具的较量
随着容器化技术的广泛应用,容器监控与日志管理成为了关键任务。本文将对两种常用工具进行比较与选择,分别是Prometheus和ELK Stack。Prometheus是一款开源的监控系统,专注于时序数据的收集和告警。而ELK Stack则是一套完整的日志管理解决方案,由Elasticsearch、Logstash和Kibana三个组件组成。通过比较它们的特点、优势和适用场景,读者可以更好地了解如何选择适合自己需求的工具。
|
3月前
|
缓存 监控 网络性能优化
从内核的视角观测容器——SysOM 容器监控
从内核的视角观测容器——SysOM 容器监控
|
6月前
|
Prometheus 监控 Cloud Native
【云原生】Docker容器命令监控+Prometheus监控平台
【云原生】Docker容器命令监控+Prometheus监控平台
210 0
【云原生】Docker容器命令监控+Prometheus监控平台
|
8天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
13 0
|
29天前
|
运维 监控 云计算
构建高效稳定的Docker容器监控体系
随着微服务架构的普及,Docker容器作为其核心承载单元,在系统运维中扮演着日益重要的角色。本文旨在探讨如何构建一个高效且稳定的Docker容器监控体系,以确保容器运行的可靠性和系统的高可用性。文章首先分析了容器监控的必要性,接着详细介绍了监控体系的设计理念和组件选择,最后提供了实施过程中的关键步骤与最佳实践。通过本文,读者将掌握构建和维护Docker容器监控体系的有效方法。
|
2月前
|
监控 关系型数据库 MySQL
利用容器编排工具实现员工电脑监控软件系统的横向扩展
随着企业规模的不断扩大,员工电脑监控软件系统的横向扩展成为一项迫切的需求。为了更有效地管理和监控员工的工作环境,容器编排工具的运用成为一种值得考虑的解决方案。在本文中,我们将探讨如何利用容器编排工具实现监控软件系统的横向扩展,并通过一些实际的代码示例来说明。
184 0
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus VS ELK Stack:容器监控与日志管理工具的比较与选择
在容器化时代,有效的容器监控与日志管理工具对于确保应用程序的可靠性和可维护性至关重要。本文将比较两个主流工具,Prometheus和ELK Stack,探讨它们在容器监控和日志管理方面的特点、优势和适用场景,帮助读者做出明智的选择。
|
3月前
|
Prometheus 监控 Cloud Native
Docker 容器监控
Docker 容器监控
95 0
|
6月前
|
运维 监控 Cloud Native
Docker 容器监控与日志收集:实时监控和故障排查,提高容器化应用的稳定性和可靠性
Docker 容器监控与日志收集:实时监控和故障排查,提高容器化应用的稳定性和可靠性
259 0
|
7月前
|
Prometheus 监控 Cloud Native
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ASK 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
516 0