监控系统不完全发展史
监控系统的发展可以粗略地划分为三个时代。
最初是SNMP监控时代,那时候的监控系统基于 SNMP 协议抓取信息;多用于监控网络设备,以硬件监控为主。典型代表有 Cadvisor + InfluxDB + Grafana,这一代监控系统只能从主机维度采集信息,没有 NameSpace、Pod 等维度的汇聚功能。
而后出现了第二代,算是第一代的改良版,可以对数据进行汇总。典型代表有 Heapster + InfluxDB + Grafana。其中,Heapster 负责调用各 node 中的 Cadvisor 接口,对数据进行汇总,然后导到 InfluxDB,可以从 cluster、node、pod 各个层面提供详细的资源使用情况。
第三代是云原生监控系统。云计算时代到来后,云原生监控系统成为新的主流。监控系统具备监控目标的数据采集、存储、报警等一套监控系统必备的功能,基于指标、日志和链路三个立体维度进行立体的系统监控。典型代表有 Metrics- Server + Prometheus。
如上图,Resource Metrics 对应的接口是metrics.k8s.io,主要的实现就是 metrics-server,它提供资源监控能力,