cloud-controller-mananger组件监控指标及大盘使用说明

cloud-controller-manager组件使得Kubernetes核心组件能够通过Kubernetes API与云服务提供商进行交互。本文介绍cloud-controller-manager组件的指标清单、对应大盘的使用指导以及常见指标异常的问题解析。

使用前须知

操作入口

请参见查看集群控制面组件监控大盘

指标清单

指标是组件对外透出状态和参数的方式之一,cloud-controller-mananger组件使用的指标清单如下。

指标

类型

说明

ccm_slb_latency_ms

Histogram

CLB(Classical Load Balancer)同步时延。单位:ms。

Bucket阈值为{100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,1500, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000}

ccm_node_latency_ms

Histogram

节点同步时延。单位:ms。

Bucket阈值为{100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,1500, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000}

ccm_route_latency_ms

Histogram

路由同步时延。单位:ms。

Bucket阈值为{100, 200, 300, 400, 500, 600, 700, 800, 900, 1000,1500, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000}

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

可观测性展示ccm1

功能解析

大盘名称

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

可观测性展示ccm2

功能解析

大盘名称

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中存在的时长。

资源

可观测性展示ccm3

功能解析

大盘名称

PromQL

说明

内存使用量

memory_utilization_byte{container="cloud-controller-manager"}

内存使用量。单位:字节。

CPU使用量

cpu_utilization_core{container="cloud-controller-manager"}*1000

CPU使用量。单位:毫核。

Kube API

可观测性展示ccm4

功能解析

大盘名称

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)

cloud-controller-managerkube-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组件监控指标说明