Docker - Предупреждение Prometheus Cputhrottlinghigh Поднято, Но Мониторинг Этого Не Показывает

  • Автор темы Istina77
  • Обновлено
  • 22, Oct 2024
  • #1

Я установил Prometheus для мониторинга своей установки, и он часто выдает предупреждения о регулировании процессора.

Правила оповещения Prometheus для идентификации этого оповещения:

 
 
 
 0,000022 

Если я посмотрю на один из модулей, указанных в этом предупреждении, то у него, похоже, нет причин для регулирования:

$ kubectl -n monitoring top node aks-agentpool-node-1 NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% aks-agentpool-node-1 853m 21% 11668Mi 101%

Этот модуль имеет один контейнер со следующими настройками ресурсов:

Limits: cpu: 100m memory: 128Mi Requests: cpu: 25m memory: 64Mi

И узел, на котором размещен этот модуль, не подвергается интенсивной загрузке процессора:

$ kubectl top pod -n monitoring my-pod NAME CPU(cores) MEMORY(bytes) my-pod 0m 6Mi

На графане, если я посмотрю на график этого модуля, он никогда не поднимается выше alert: CPUThrottlingHigh expr: 100 * sum by(container_name, pod_name, namespace) (increase(container_cpu_cfs_throttled_periods_total{container_name!=""}[5m])) / sum by(container_name, pod_name, namespace) (increase(container_cpu_cfs_periods_total[5m])) > 25 for: 15m of cpu usage

Почему происходит троттлинг?

#docker #kubernetes #мониторинг #prometheus

Istina77


Рег
26 Apr, 2020

Тем
83

Постов
195

Баллов
630
  • 25, Oct 2024
  • #2

CPUThrottlingPercent is an alert created by the Kubernetes-миксин проект. Есть открытый вопрос(#108), чтобы обсудить это предупреждение. Предлагаю вам прочитать все комментарии по данному вопросу, чтобы лучше понять суть проблемы.

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

Также обратите внимание на этот вопрос (#67577) из проекта Kubernetes, который устраняет ошибку ядра в квотах CFS, которая может привести к ненужному регулированию ЦП. Обсуждение все еще открыто, и проект Kubernetes даже рассматривает возможность отключения квот CFS для модулей в --cpu-cfs-quota=false QoS (видеть #70585 для справки).

Рассмотрите следующие варианты:

Торвальдс/Linux 512ac99

 

Maloid


Рег
29 Mar, 2009

Тем
67

Постов
182

Баллов
527
Похожие темы Дата
Похожие темы
Объединить Статус Задачи В Историю И Добавить Ее В Azure Devops?
Docker – В Модели «База Данных На Службу» – Следует Ли Включать Базу Данных В Контейнер Службы?
Веб-Сервисы Amazon — Как Использовать Сертификаты, Сгенерированные Vault, Для Внутренних Доменов В Aws
Метрики. Существуют Ли Более Дешевые Альтернативы Журналам Наблюдения За Облаком Для Создания Информационных Панелей?
Istio - Corspolicyalloworigin Из Virtualservice Не Блокирует Запросы На Скручивание Из Разных Источников
Что Может Cloud Translation Api, Чего Не Может Бесплатная Версия Google Translate?
Dymamic — Маршрутизация Трафика С Abc.com На Xyz.com/Abc
Запуск Сборок, Требующих Демона Docker В Jenkins, Установленного С Помощью Helm И Работающего Как Контейнер Контейнера.
Gitlab — Проблемы С Интеграцией Скрипта Python В Скрипт Bash. Перехватчик Предварительного Получения Git
Культура. Что Хорошего И/Или Плохого В Многоскоростном Ит-Подходе Accenture К Devops?
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно