本文主要介绍kube-controller-manager组件的指标清单和对应大盘的使用指导。

指标清单

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

指标类型说明
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请求时延。

大盘使用指导

您可以在ACK Pro Kube Controller Manager大盘左上角配置观测请求的分位数quantile和面板使用的PromQL的采样时长interval。大盘基于组件指标和相关PromQL绘制,大盘可观测性展示和功能解析如下。

Workqueue

  • 可观测性展示kcm1
  • 功能解析
    大盘名称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))

资源

  • 可观测性展示kcm2
  • 功能解析
大盘名称PromQL说明
内存使用量memory_utilization_byte{container="kube-controller-manager"}内存使用量,单位:字节。
CPU使用量cpu_utilization_core{container="kube-controller-manager"}*1000CPU使用量,单位:毫核。
内存使用率memory_utilization_ratio{container="kube-controller-manager"}内存使用率,百分比。
CPU使用率cpu_utilization_ratio{container="kube-controller-manager"}CPU使用率,百分比。

Kube API

  • 可观测性展示kcm3
  • 功能解析
    大盘名称PromQL说明
    Kube API请求QPS
    • sum(rate(rest_client_requests_total{job="ack-scheduler",code=~"2.."}[$interval])) by (method,code)
    • sum(rate(rest_client_requests_total{job="ack-scheduler",code=~"3.."}[$interval])) by (method,code)
    • sum(rate(rest_client_requests_total{job="ack-scheduler",code=~"4.."}[$interval])) by (method,code)
    • sum(rate(rest_client_requests_total{job="ack-scheduler",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维度分析。