cloud-controller-manager组件使得Kubernetes核心组件能够通过Kubernetes API与云服务提供商进行交互。本文介绍cloud-controller-manager组件的指标清单、对应大盘的使用指导以及常见指标异常的问题解析。
使用前须知
操作入口
请参见查看集群控制面组件监控大盘。
指标清单
指标是组件对外透出状态和参数的方式之一,cloud-controller-mananger组件使用的指标清单如下。
|
指标 |
类型 |
说明 |
|
ccm_slb_latency_ms |
Histogram |
CLB(Classical Load Balancer)同步时延。单位:ms。 Bucket阈值为 |
|
ccm_node_latency_ms |
Histogram |
节点同步时延。单位:ms。 Bucket阈值为 |
|
ccm_route_latency_ms |
Histogram |
路由同步时延。单位:ms。 Bucket阈值为 |
|
workqueue_adds_total |
Counter |
Workqueue处理的新增事件(Adds)数量。 |
|
workqueue_depth |
Gauge |
Workqueue当前队列深度。如果队列深度长时间保持在较高水平,表明Controller不能及时处理队列中的任务,导致任务堆积。 |
|
workqueue_queue_duration_seconds_bucket |
Histogram |
任务在Workqueue中存在的时长。Bucket阈值为{10-8, 10-7, 10-6, 10-5, 10-4, 10-3, 10-2, 10-1, 1, 10}。单位:秒。 |
|
memory_utilization_byte |
Gauge |
内存使用量。单位:字节(Byte)。 |
|
cpu_utilization_core |
Gauge |
CPU使用量。单位:核(Core)。 |
|
rest_client_requests_total |
Counter |
从状态值(Status Code)、方法(Method)和主机(Host)维度分析HTTP请求次数。 |
|
rest_client_request_duration_seconds_bucket |
Histogram |
从方法(Verb)和URL维度分析HTTP请求时延。 |
如下资源使用率指标已废弃,请及时去除依赖该指标的告警和监控。
cpu_utilization_ratio:CPU使用率。
memory_utilization_ratio:内存使用率。
大盘使用指导
大盘基于组件指标和相关PromQL绘制,大盘可观测性展示和功能解析如下。
CCM
可观测性展示
功能解析
|
大盘名称 |
PromQL |
说明 |
|
路由同步时延 |
histogram_quantile($quantile, sum(rate(ccm_route_latencies_duration_milliseconds_bucket[$interval])) by (verb, le)) |
路由同步时延。单位:ms。 |
|
节点同步时延 |
histogram_quantile($quantile, sum(rate(ccm_node_latencies_duration_milliseconds_bucket[$interval])) by (verb, le)) |
节点同步时延。单位:ms。 |
|
CLB(Classical Load Balancer)同步时延 |
histogram_quantile($quantile, sum(rate(ccm_slb_latencies_duration_milliseconds_bucket[$interval])) by (verb, le)) |
CLB同步时延。单位:ms。 |
Queue
可观测性展示
功能解析
|
大盘名称 |
PromQL |
说明 |
|
Workqueue入队速率 |
sum(rate(workqueue_adds_total{job="ack-cloud-controller-manager"}[$interval])) by (name) |
Workqueue在单位时间内新增事件(Adds)的数量。 |
|
Workqueue深度 |
workqueue_depth{job="ack-cloud-controller-manager"} |
Workqueue深度在单位时间内的变化。 |
|
Workqueue处理时延 |
histogram_quantile($quantile, sum(rate(workqueue_queue_duration_seconds_bucket{job="ack-cloud-controller-manager"}[$interval])) by (name, le)) |
事件在Workqueue中存在的时长。 |
资源
可观测性展示
功能解析
|
大盘名称 |
PromQL |
说明 |
|
内存使用量 |
memory_utilization_byte{container="cloud-controller-manager"} |
内存使用量。单位:字节。 |
|
CPU使用量 |
cpu_utilization_core{container="cloud-controller-manager"}*1000 |
CPU使用量。单位:毫核。 |
Kube API
可观测性展示
功能解析
|
大盘名称 |
PromQL |
说明 |
|
Kube API 请求QPS |
|
cloud-controller-manager对kube-apiserver发起的HTTP请求QPS,从方法(Verb)和请求URL维度分析。 |
常见指标异常
CLB(Classical Load Balancer)同步时延
|
正常情况 |
异常情况 |
异常说明 |
建议 |
|
CLB(Classical Load Balancer)同步时延在10s内。 |
CLB(Classical Load Balancer)同步时延大于10s。 |
CLB同步耗费时间过长。 |
查看Service中是否有异常事件。 |
Workqueue深度
|
正常情况 |
异常情况 |
异常说明 |
建议 |
|
Workqueue深度在10以内。 |
Workqueue深度大于10。 |
Workqueue中存在较多待同步的Service。 |
队列长度过长,会导致Service同步变慢。请适当减少集群内节点、Pod以及Service的变更频率。 |
相关文档
关于其他集群控制面组件监控的指标详情、大盘使用指引和常见指标异常说明,请参见kube-apiserver组件监控指标说明、etcd组件监控指标说明、kube-scheduler组件监控指标说明、kube-controller-manager组件监控指标说明。