一、K8S监控系统的发展史

第一版:Cadvisor+InfluxDB+Grafana

只能从主机维度进行采集,没有Namespace、Pod等维度的汇聚功能

第二版:Heapster+InfluxDB+Grafana

heapster负责调用各node中的cadvisor接口,对数据进行汇总,然后导到InfluxDB , 可以从cluster,node,pod的各个层面提供详细的资源使用情况。

第三版:Metrics-Server + Prometheus

Metrics Server 与 Cadvsior 与 Cgroup 关系

Metrics Server 作为标准的 Kubernetes API 把监控数据暴露出来的服务,比如获取某一Pod的监控数据;无论是 heapster还是 metric-server,都只是数据的中转和聚合,两者都是调用的 kubelet 的 api 接口获取的数据,而 kubelet 代码中实际采集指标的是 cadvisor 模块;cadvisor获取指标时实际调用的是 runc/libcontainer库,而libcontainer是对 cgroup文件 的封装,即 cadvsior也只是个转发者,它的数据来自于cgroup文件。
cgroup文件中的值是监控数据的最终来源,

如:mem usage的值,

对于docker容器来讲,来源于/sys/fs/cgroup/memory/docker/[containerId]/memory.usage_in_bytes
对于pod来讲,/sys/fs/cgroup/memory/kubepods/besteffort/pod[podId]/memory.usage_in_bytes
K8S进阶实践 之 通过HPA实现业务应用的动态扩缩容

©著作权归作者所有:来自51CTO博客作者wx592bc92b285c7的原创作品,如需转载,请注明出处,否则将追究法律责任

你的鼓励让我更有动力

赞赏

0人进行了赞赏支持

更多相关文章

  1. 思迈特软件Smartbi_大数据分析软件在销售中的应用
  2. 思迈特软件Smartbi:大数据分析软件的本质是什么?
  3. spice_debug不输出
  4. 运维人员如何有效的防止误删数据?Linux学习!
  5. 流式数据处理在百度数据工厂的应用与实践
  6. 被敖丙用烂的「数据库调优」连招?真香,淦!
  7. 进击的实时数仓:Flink在OPPO实时计算平台的研发与应用实践
  8. AWS 大数据实战 Lab5 - 数据仓库和可视化(六)
  9. 谁在“谋杀” Hadoop?

随机推荐

  1. Linux内存管理 - PAGE_OFFSET理解
  2. linux系统启动过程详解-开机加电后发生了
  3. Linux的五个文件查找命令:find,locate,whe
  4. linux下如何导出.txt文件?
  5. linux配置虚拟IP地址方法
  6. gcc常用命令介绍
  7. 《LINUX SHELL脚本攻略》(Sarath Lakshma
  8. Linux vsftpd安装配置使用(详细)
  9. Linux ssh(以及其他访问主机方式)登录变
  10. Linux安装maven及环境配置