Облачная платформаEvolution

Метрики мониторинга сервиса Managed Kubernetes


Сервис мониторинга позволяет получать информацию о состоянии кластера.

В разделе описаны преднастроенные дашборды для мониторинга состояния кластера, мастер-узлов, рабочих узлов и контейнеров, а также приведен полный список метрик, которые сервис Managed Kubernetes передает в сервис мониторинга.

Сервисный дашборд

Сервисный (преднастроенный) дашборд мониторинга доступен в личном кабинете в разделе Контейнеры → Managed Kubernetes. Чтобы увидеть данные о состоянии кластера, выберите его и перейдите в раздел Мониторинг.

Дашборд состоит из виджетов, которые отображают значения метрик сервиса.

Для Managed Kubernetes настроено четыре сервисных дашборда: Кластер, Мастер-узлы, Узлы, Контейнеры.


Название виджета

Описание

Global CPU usage (%)

Общая загрузка процессора всеми подами, сервисами и системными процессами в кластере.

Показывает, какая часть процессора используется для выполнения задач по сравнению с запрошенным CPU. Помогает оценить, насколько эффективно распределяются ресурсы в кластере, и есть ли риск недостатка ресурсов для работы приложений:

  • Limits — доля от общего количества CPU кластера (machine_cpu_cores), которая потенциально может быть использована ресурсами контейнеров (kube_pod_container_resource_limits).

  • Real — среднее значение CPU, которое используется на узле кластера за последнюю минуту (node_cpu_seconds_total).

  • Requests — доля от общего количества ресурсов CPU кластера, зарезервированная под минимальные запросы ресурсов контейнеров (kube_pod_container_resource_requests, machine_cpu_cores).

Global RAM Usage (%)

Общий процент использования оперативной памяти всеми подами, сервисами и системными процессами в кластере.

Показатель дает представление о том, как ресурсы оперативной памяти распределяются и используются в кластере, и помогает определить, достаточно ли памяти для текущих и будущих задач:

  • Limits — доля общей оперативной памяти узлов кластера, которая потенциально может быть использована подами, если они достигнут своих максимальных лимитов потребления памяти (kube_pod_container_resource_limits, machine_memory_bytes).

  • Real — общий процент используемой оперативной памяти в кластере (node_memory_MemTotal_bytes, node_memory_MemAvailable_bytes).

  • Requests — доля общей оперативной памяти узлов кластера, зарезервированная под нужды контейнеров согласно их запросам на ресурсы (kube_pod_container_resource_requests, machine_memory_bytes).

CPU usage (cores)

Использование процессорных ресурсов в ядрах процессора для подов, контейнеров или кластера.

Позволяет понять, сколько процессорного времени, выраженного в ядрах, реально используется приложениями и службами, работающими в кластере:

  • Limits — общее количество CPU (kube_pod_container_resource_limits), которое потенциально может быть использовано контейнерами в кластере.

  • Real — общая загрузка процессора CPU (node_cpu_seconds_total) в кластере, исключая время простоя.

  • Requests — общее количество процессорных ресурсов (kube_pod_container_resource_requests) в единицах CPU, запрошенных всеми контейнерами на всех подах в кластере.

  • Total — общее количество процессорных единиц (machine_cpu_cores), которое может быть максимально использовано всеми контейнерами в кластере в соответствии с их конфигурацией.

RAM Usage (Gb)

Общий объем оперативной памяти, используемой всеми подами, сервисами и системными процессами в кластере.

Показатель дает представление о том, как ресурсы оперативной памяти распределяются и используются в кластере:

  • Real — общее количество используемой оперативной памяти на всех узлах кластера (node_memory_MemTotal_bytes, node_memory_MemAvailable_bytes).

  • Requests — общий объем памяти, который запрошен для всех контейнеров на всех подах в кластере (kube_pod_container_resource_requests).

  • Limits — общий объем памяти, который потенциально может быть использован контейнерами в кластере (kube_pod_container_resource_limits).

  • Total — общий объем оперативной памяти, доступный для всех узлов кластера (machine_memory_bytes).

Kubernetes Resource Count

Общее количество используемых ресурсов в кластере:

OOM Events by namespace

Общее число рестартов подов, вызванных превышением лимитов по памяти или общей нехваткой памяти на узле, по каждому пространству имен (container_oom_events_total).

Container Restarts by namespace

Количество перезапусков контейнеров в пространстве имен за выбранный временной промежуток. (kube_pod_container_status_restarts_total).

Дашборд поддерживает следующие настройки и опции:

  • Выбор периода сбора данных. По умолчанию отображаются данные за последние 2 часа.

  • Выбор интервала автообновления данных. По умолчанию обновляются каждые 30 секунд.

  • Выгрузка графика в PNG-файл.

  • Просмотр графика в развернутом режиме.

Примечание

Сервисный дашборд можно дублировать как пользовательский, а затем настроить его под себя или посмотреть, какие метрики и запросы используются в виджетах.

Метрики сервиса

Метрика представляет собой временной ряд, показывающий изменение какого-либо показателя. Например, это может быть загрузка процессора, объем занятого дискового пространства или количество запросов к базе данных.

В сервисе мониторинга метрики используются для создания виджетов дашборда и настройки правил алертов. Значения метрик для этого получают и преобразуют с помощью запроса в PromQL-формате.

Подробнее о работе с метриками.

Метрика, единица измерения

Описание

container_cpu_usage_seconds_total, секунды

Общее время использования CPU контейнером с момента его запуска.

container_memory_working_set_bytes

Фактический объем оперативной памяти, используемый контейнером в настоящий момент, без учета легко освобождаемого файлового кеша. Отражает «жесткое» потребление RAM.

kube_pod_container_resource_requests, шт. или байты

Запрошенное количество CPU или памяти для контейнера. Задает минимальный гарантированный объем ресурса, который планировщик резервирует при размещении пода на узле.

kube_pod_container_resource_limits, шт. или байты

Максимальное количество CPU или памяти для контейнера. Задает верхнюю границу потребления ресурса.

container_network_receive_bytes_total, байты

Общий объем данных, полученных каждым контейнером через все сетевые интерфейсы с момента запуска.

container_network_transmit_bytes_total, байты

Общий объем данных, отправленных контейнером через все сетевые интерфейсы с момента запуска.

container_network_receive_packets_total, шт.

Количество принятых сетевых пакетов контейнером за все время работы.

container_network_transmit_packets_total, шт.

Количество отправленных сетевых пакетов контейнером.

container_network_receive_packets_dropped_total, шт.

Количество входящих сетевых пакетов, которые были сброшены из-за ошибок или нехватки ресурсов.

container_network_transmit_packets_dropped_total, шт.

Количество исходящих сетевых пакетов, которые не удалось передать.

container_network_receive_errors_total, шт.

Количество ошибок при приеме сетевых пакетов контейнером.

container_network_transmit_errors_total, шт.

Количество ошибок при отправке сетевых пакетов контейнером.

machine_cpu_cores, шт.

Количество логических или физических ядер CPU на узле. Определяет ограничение вычислительной мощности для подов на хосте.

machine_memory_bytes, байты

Общий объем доступной физической оперативной памяти на узле.

node_cpu_seconds_total, секунды

Общее количество времени, которое процессор провел в режимах user, system, idle и других с момента включения узла. Используется для вычисления загрузки CPU по типам активности.

kube_namespace_created

Дата и время создания пространства имен.

kube_pod_container_status_running

Состояние контейнера:

  • 1 — контейнер запущен;

  • 0 — контейнер не работает.

kube_pod_status_phase

Фаза жизненного цикла пода:

  • «Running»

  • «Pending»

  • «Succeeded»

  • «Failed»

  • «Unknown»

kube_secret_labels

Набор меток для Secret.

kube_service_info

Общая информация о Service в кластере.

kube_deployment_labels

Набор меток для Deployment.

kube_statefulset_labels

Набор меток для StatefulSet.

kube_daemonset_labels

Метки для DaemonSet.

kube_node_info

Предоставляет общую информацию и метаданные о каждом узле кластера.

kube_persistentvolumeclaim_info

Информация о Persistent Volume Claim.

container_oom_events_total

Счетчик Out-Of-Memory (OOM) событий — показывает, сколько раз контейнер завершался из-за нехватки памяти.

kube_pod_container_status_restarts_total, шт.

Количество перезапусков контейнера за время его существования.

node_load1, шт.

Среднее количество активных и ожидающих выполнения процессов за 1 минуту.

node_load5, шт.

Среднее количество активных и ожидающих выполнения процессов за 5 минут.

node_load15, шт.

Среднее количество активных и ожидающих выполнения процессов за 15 минут.

node_memory_MemTotal_bytes, байты

Общее количество оперативной памяти на узле.

node_memory_Buffers_bytes, байты

Память, выделенная ядром под буфер файловой системы.

node_memory_Cached_bytes, байты

Память для кеширования данных ядра.

node_memory_MemFree_bytes, байты

Количество свободной оперативной памяти на узле.

node_memory_MemAvailable_bytes, байты

Количество доступной оперативной памяти на узле.

node_network_receive_bytes_total, байты

Общее количество полученных байт по всем сетевым интерфейсам узла с начала отсчета.

node_network_transmit_bytes_total, байты

Общее количество переданных байт по всем сетевым интерфейсам узла с начала отсчета.

node_disk_read_bytes_total, байты

Общее количество байт, прочитанных с каждого дискового устройства за все время.

node_disk_written_bytes_total, байты

Общее количество байт, записанных на каждое дисковое устройство за все время.

kubelet_running_pods, шт.

Количество запущенных подов на узле.