kube-controller-manager是管理多种Kubernetes控制器的控制面组件,例如负责节点管理的Node Controller、管理有状态应用的控制器StatefulSet Controller、处理无状态应用的Deployment Controller等。本文介绍kube-controller-manager组件的指标清单和对应大盘的使用指导。
相关概念
Workqueue
指标清单
指标是组件对外透出状态和参数的方式之一,kube-controller-manager组件使用的指标清单如下。
指标 | 类型 | 说明 |
workqueue_adds_total | Counter | Workqueue处理的Adds事件的数量。 |
workqueue_depth | Gauge | Workqueue当前队列深度。当深度长时间保持在较高水平,表明Controller不能及时处理队列中的任务,导致任务堆积。 |
workqueue_queue_duration_seconds_bucket | Histogram | 任务在Workqueue中存在的时长。 |
memory_utilization_byte | Gauge | 内存使用量,单位:字节(Byte)。 |
memory_utilization_ratio | Gauge | 内存使用率=内存使用量/内存资源上限,百分比形式。 |
cpu_utilization_core | Gauge | CPU使用量,单位:核(Core)。 |
cpu_utilization_ratio | Gauge | CPU使用率=CPU使用量/内存资源上限,百分比形式。 |
rest_client_requests_total | Counter | 从状态值(Status Code)、方法(Method)和主机(Host)维度分析HTTP请求数。 |
rest_client_request_duration_seconds_bucket | Histogram | 从方法(Verb)和URL维度分析HTTP请求时延。 |
大盘使用指导
您可以在ACK Pro Kube Controller Manager大盘左上角配置观测请求的分位数quantile和面板使用的PromQL的采样时长interval。大盘基于组件指标和相关PromQL绘制,大盘的可观测性展示和功能解析如下。
Workqueue
可观测性展示
功能解析
大盘名称
PromQL
说明
Workqueue入队速率
sum(rate(workqueue_adds_total{job="ack-kube-controller-manager"}[$interval])) by (name)
无
Workqueue深度
sum(rate(workqueue_depth{job="ack-kube-controller-manager"}[$interval])) by (name)
无
Workqueue处理时延
histogram_quantile($quantile, sum(rate(workqueue_queue_duration_seconds_bucket{job="ack-kube-controller-manager"}[5m])) by (name, le))
无
资源
可观测性展示
功能解析
大盘名称 | PromQL | 说明 |
内存使用量 | memory_utilization_byte{container="kube-controller-manager"} | 内存使用量,单位:字节。 |
CPU使用量 | cpu_utilization_core{container="kube-controller-manager"}*1000 | CPU使用量,单位:毫核。 |
内存使用率 | memory_utilization_ratio{container="kube-controller-manager"} | 内存使用率,百分比。 |
CPU使用率 | cpu_utilization_ratio{container="kube-controller-manager"} | CPU使用率,百分比。 |
Kube API
可观测性展示
功能解析
大盘名称
PromQL
说明
Kube API请求QPS
sum(rate(rest_client_requests_total{job="ack-cloud-controller-manager",code=~"2.."}[$interval])) by (method,code)
sum(rate(rest_client_requests_total{job="ack-cloud-controller-manager",code=~"3.."}[$interval])) by (method,code)
sum(rate(rest_client_requests_total{job="ack-cloud-controller-manager",code=~"4.."}[$interval])) by (method,code)
sum(rate(rest_client_requests_total{job="ack-cloud-controller-manager",code=~"5.."}[$interval])) by (method,code)
对kube-apiserver发起的HTTP请求,从方法(Method)和返回值(Code)维度分析。
Kube API请求时延
histogram_quantile($quantile, sum(rate(rest_client_request_duration_seconds_bucket{job="ack-kube-controller-manager"}[$interval])) by (verb,url,le))
对kube-apiserver发起的HTTP请求时延,从方法(Verb)和请求URL维度进行分析。
- 本页导读 (1)