Kubernetes 组件 SLI 指标
功能状态:
Kubernetes v1.29 [稳定]
默认情况下,Kubernetes 1.31 为每个 Kubernetes 组件二进制文件发布服务级别指标 (SLI) 指标。此指标端点在每个组件的提供服务 HTTPS 端口上公开,路径为 /metrics/slis
。ComponentSLIs
功能开关 从 v1.27 开始对每个 Kubernetes 组件默认启用。
SLI 指标
启用 SLI 指标后,每个 Kubernetes 组件会公开两个指标,并根据健康检查进行标记
- 一个仪表盘(代表健康检查的当前状态)
- 一个计数器(记录为每个健康检查状态观察到的累计计数)
您可以使用指标信息来计算每个组件的可用性统计信息。例如,API 服务器检查 etcd 的健康状况。您可以计算并报告 etcd 的可用或不可用情况 - 这是由其客户端 API 服务器报告的。
Prometheus 仪表盘数据如下所示
# HELP kubernetes_healthcheck [ALPHA] This metric records the result of a single healthcheck.
# TYPE kubernetes_healthcheck gauge
kubernetes_healthcheck{name="autoregister-completion",type="healthz"} 1
kubernetes_healthcheck{name="autoregister-completion",type="readyz"} 1
kubernetes_healthcheck{name="etcd",type="healthz"} 1
kubernetes_healthcheck{name="etcd",type="readyz"} 1
kubernetes_healthcheck{name="etcd-readiness",type="readyz"} 1
kubernetes_healthcheck{name="informer-sync",type="readyz"} 1
kubernetes_healthcheck{name="log",type="healthz"} 1
kubernetes_healthcheck{name="log",type="readyz"} 1
kubernetes_healthcheck{name="ping",type="healthz"} 1
kubernetes_healthcheck{name="ping",type="readyz"} 1
而计数器数据如下所示
# HELP kubernetes_healthchecks_total [ALPHA] This metric records the results of all healthcheck.
# TYPE kubernetes_healthchecks_total counter
kubernetes_healthchecks_total{name="autoregister-completion",status="error",type="readyz"} 1
kubernetes_healthchecks_total{name="autoregister-completion",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="autoregister-completion",status="success",type="readyz"} 14
kubernetes_healthchecks_total{name="etcd",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="etcd",status="success",type="readyz"} 15
kubernetes_healthchecks_total{name="etcd-readiness",status="success",type="readyz"} 15
kubernetes_healthchecks_total{name="informer-sync",status="error",type="readyz"} 1
kubernetes_healthchecks_total{name="informer-sync",status="success",type="readyz"} 14
kubernetes_healthchecks_total{name="log",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="log",status="success",type="readyz"} 15
kubernetes_healthchecks_total{name="ping",status="success",type="healthz"} 15
kubernetes_healthchecks_total{name="ping",status="success",type="readyz"} 15
使用这些数据
组件 SLI 指标端点旨在以高频率抓取。以高频率抓取意味着您最终会获得更高的仪表盘信号粒度,这可以用来计算 SLO。/metrics/slis
端点提供了为相应 Kubernetes 组件计算可用性 SLO 所需的原始数据。
上次修改时间:2023 年 10 月 18 日上午 10:00 PST: 更新组件-slis 的文档 (53a8725ba7)