本文主要介绍cloud-controller-mananger组件的指标清单、对应大盘的使用指导以及常见指标异常的问题解析。

指标清单

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

指标类型说明
ccm_slb_latency_msHistogramCLB(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_msHistogramNode初始化时间,单位: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_msHistogramRoute同步时间,单位:ms。

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

workqueue_adds_totalCounterWorkqueue处理的Adds事件的数量。
workqueue_depthGaugeWorkqueue当前队列深度。
workqueue_queue_duration_seconds_bucketHistogram任务在Workqueue中存在的时长。
memory_utilization_byteGauge内存使用量,单位:字节(Byte)。
memory_utilization_ratioGauge内存使用率=内存使用量/内存资源上限,百分比形式。
cpu_utilization_coreGaugeCPU使用量,单位:核(Core)。
cpu_utilization_ratioGaugeCPU使用率=CPU使用量/内存资源上限,百分比形式。
rest_client_requests_totalCounter从状态值(Status Code)、方法(Method)和主机(Host)维度分析HTTP请求数。
rest_client_request_duration_seconds_bucketHistogram从方法(Verb)和URL维度分析HTTP请求时延。

大盘使用指导

大盘基于组件指标和相关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入队速率。
    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"}*1000CPU使用量,单位:毫核。
    内存使用率memory_utilization_ratio{container="cloud-controller-manager"}内存使用率,百分比。
    CPU使用率cpu_utilization_ratio{container="cloud-controller-manager"}CPU使用率,百分比。

Kube API

  • 可观测性展示ccm4
  • 功能解析
    大盘名称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的变更频率。