通过cadvisor结合prometheus监控k8s集群容器基础设施(container)
简介
cAdvisor可以对Node机器上的资源及容器进行实时监控和性能数据采集,包括CPU、内存使用情况、网络吞吐量及文件系统使用情况,1.7.3版本以前,cadvisor的metrics数据集成在kubelet的metrics中,在1.7.3以后版本中cadvisor的metrics被从kubelet的metrics独立出来了,每个Node机器上都会有一个aAdvisor对这台机器进行监控。
操作
从简介中我们可以知道,在k8s集群中,每个node节点都会有一个cAdvisor对当前主机进行监控
# prometheus对接k8s的服务发现
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
从Prometheus的官方文档中,我们可以知道,Prometheus支持对k8s的自动服务发现,支持以下几个角色
- node
- service
- pod
- endpoints
- ingress
新版本的标准配置,kubelet中的cadvisor是没有对外开放4194端口的。所以,我们只能通过apiserver提供的api做代理获取监控指标
cAdvisor的metrics地址: /api/v1/nodes/[节点名称]/proxy/metrics/cadvisor
metrics地址中的节点名称参数可以通过prometheus的kubernetes_sd_config中的node角色自动发现k8s集群中的所有node节点
抓取任务配置如下

本文介绍如何利用cAdvisor结合Prometheus实现Kubernetes集群的容器基础设施监控,包括配置抓取任务、常用监控指标及查询语句。
最低0.47元/天 解锁文章
9377

被折叠的 条评论
为什么被折叠?



