All Products
Search
Document Center

Container Service for Kubernetes:Monitor kube-controller-manager

Last Updated:Mar 01, 2024

This topic describes the metrics supported by kube-controller-manager and provides usage notes for the dashboards of kube-controller-manager.

Metrics

Metrics can indicate the status and parameter settings of a component. The following table describes the metrics supported by kube-controller-manager.

Metric

Type

Description

workqueue_adds_total

Counter

The number of Adds events processed by the workqueue.

workqueue_depth

Gauge

The length of the workqueue.

workqueue_queue_duration_seconds_bucket

Histogram

The duration for which a task remains in the workqueue.

memory_utilization_byte

Gauge

The memory usage. Unit: bytes.

memory_utilization_ratio

Gauge

Memory utilization = Amount of used memory/Total amount of memory. Unit: %.

cpu_utilization_core

Gauge

The CPU usage. Unit: vCores.

cpu_utilization_ratio

Gauge

CPU utilization = Number of used vCores/Total number of vCores. Unit: %.

rest_client_requests_total

Counter

The number of HTTP requests calculated based on status codes, methods, and hosts.

rest_client_request_duration_seconds_bucket

Histogram

The HTTP response latency calculated based on Verbs and URLs.

Usage notes for dashboards

You can modify the quantile (request quantile) and interval (PromQL sampling interval) parameters in the upper-left corner of the ACK Pro Kube Controller Manager dashboard. Dashboards are generated based on metrics and Prometheus Query Language (PromQL). The following sections describe the observability and features of the dashboards of kube-controller-manager.

Workqueue

  • Observabilitykcm1

  • Features

    Dashboard

    PromQL

    Description

    Workqueue Rate

    sum(rate(workqueue_adds_total{job="ack-kube-controller-manager"}[$interval])) by (name)

    None

    Workqueue Depth

    sum(rate(workqueue_depth{job="ack-kube-controller-manager"}[$interval])) by (name)

    None

    Workqueue Latency

    histogram_quantile($quantile, sum(rate(workqueue_queue_duration_seconds_bucket{job="ack-kube-controller-manager"}[5m])) by (name, le))

    None

Resources

  • Observabilitykcm2

  • Features

Dashboard

PromQL

Description

Memory Utilization

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

The memory usage. Unit: bytes.

CPU Utilization

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

The CPU usage. Unit: millicores.

Memory Utilization Rate

memory_utilization_ratio{container="kube-controller-manager"}

The memory utilization. Unit: percentage.

CPU Utilization Rate

cpu_utilization_ratio{container="kube-controller-manager"}

The CPU utilization. Unit: percentage.

Kube API

  • Observabilitykcm3

  • Features

    Dashboard

    PromQL

    Description

    Kube API Request Rate

    • 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)

    The number of HTTP requests sent by kube-controller-manager to kube-apiserver per second. The QPS value is calculated based on methods and status codes.

    Kube API Request Latency

    histogram_quantile($quantile, sum(rate(rest_client_request_duration_seconds_bucket{job="ack-kube-controller-manager"}[$interval])) by (verb,url,le))

    The interval of time between a request sent by kube-controller-manager and a response returned by kube-apiserver. The latency is calculated based on Verbs and URLs.