系统监控指标
通过系统组件指标可以更好地了解系统组个内部发生的情况。
Kubernetes 组件以 Prometheus 格式 生成度量值。 这种格式是结构化的纯文本,旨在使人和机器都可以阅读。
kubernetes 组件大致有
- kube-container-manager
- kube-proxy
- kube-apiserver
- kube-scheduler
- kubelet
大多数情况下可以通过 HTTP 访问组件的 /metrics 端点获取指标的度量值
kubelet 包含了大量 Pod 级别指标,这些指标可以用于展示 Pod 对于资源的使用情况,kubelet 还会在 /metrcis/cadvisor
, /metrics/resource
和 /metrics/probes
端点中公开度量值。
一般而言,为了收集 kubernetes 系统的指标,会在 kubernetes 内部部署一个 metrics-server 来统一公开指标,再通过 prometheus 收集指标,最后再通过 grafana 对指标进行图形化展示。
其中 kubelet 存储的 Pod,container,Node 级别的指标最丰富也是最常用的指标。
kubelet 包含的 Pod 级别的指标来自于底层容器运行时,kubelet 通过采集当前节点上容器运行时的目录计算归总得到 Pod 级别指标。
常用的指标有 container_cpu_user_seconds_total
, container_cpu_system_seconds_total
, container_cpu_usage_seconds_total
,具体参考 K8S常用指标分析
kubernetes 系统更新时有时会对系统指标进行更改,每个版本的指标更改可以通过 kubernetes 工程下的 CHANGELOG 进行查看
在这里可以查看最新的 kubenretes 可用指标列表