其他分享
首页 > 其他分享> > Prometheus监控系统 之 添加监控项

Prometheus监控系统 之 添加监控项

作者:互联网

一、K8S监控系统的发展史

第一版:Cadvisor+InfluxDB+Grafana

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

第二版:Heapster+InfluxDB+Grafana

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

第三版:Metrics-Server + Prometheus

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实现业务应用的动态扩缩容
Prometheus监控系统  之  添加监控项

标签:cadvisor,Server,usage,Prometheus,添加,cgroup,memory,监控
来源: https://blog.51cto.com/12965094/2678277