本文主要介绍cloud-controller-mananger组件的指标清单、对应大盘的使用指导以及常见指标异常的问题解析。
指标清单
指标是组件对外透出状态和参数的方式之一,cloud-controller-mananger组件使用的指标清单如下。
指标 | 类型 | 说明 |
---|---|---|
ccm_slb_latency_ms | Histogram | CLB(Classical Load Balancer)同步时延,单位:ms。 Bucket列表为: |
ccm_node_latency_ms | Histogram | Node初始化时间,单位:ms。 Bucket列表为: |
ccm_route_latency_ms | Histogram | Route同步时间,单位:ms。 Bucket列表为: |
workqueue_adds_total | Counter | Workqueue处理的Adds事件的数量。 |
workqueue_depth | Gauge | Workqueue当前队列深度。 |
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请求时延。 |
大盘使用指导
大盘基于组件指标和相关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入队速率。 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使用量,单位:毫核。 内存使用率 memory_utilization_ratio{container="cloud-controller-manager"} 内存使用率,百分比。 CPU使用率 cpu_utilization_ratio{container="cloud-controller-manager"} CPU使用率,百分比。
Kube API
- 可观测性展示
- 功能解析
大盘名称 PromQL 说明 Kube API 请求时延 - 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请求时延,从方法(Verb)和请求URL维度分析。
常见指标异常
CLB(Classical Load Balancer)同步时延
正常情况 | 异常情况 | 异常说明 | 建议 |
---|---|---|---|
CLB(Classical Load Balancer)同步时延在10s内。 | CLB(Classical Load Balancer)同步时延大于10s。 | CLB同步耗费时间过长。 | 需查看Service中是否有异常Event。 |
Workqueue深度
正常情况 | 异常情况 | 异常说明 | 建议 |
---|---|---|---|
Workqueue深度在10以内。 | Workqueue深度大于10。 | Workqueue中存在较多待同步的Service。 | 如果队列长度过长会导致Service同步变慢,应适当减少集群内Node、Pod及Service的变更频率。 |