Поделиться через


Рекомендуемые правила генерации оповещений для кластеров Kubernetes

Оповещения в Azure Monitor упреждающе определяют проблемы, связанные с работоспособностью и производительностью ресурсов Azure. В этой статье описывается, как включить и изменить набор рекомендуемых правил генерации оповещений метрик, предопределенных для кластеров Kubernetes.

Используйте один из следующих методов, чтобы включить рекомендуемые правила генерации оповещений для кластера. Вы можете включить правила оповещений метрик Prometheus и платформы для одного кластера.

Примечание.

Шаблоны ARM — это единственный поддерживаемый метод для включения рекомендуемых оповещений в кластерах Kubernetes с поддержкой Arc.

С помощью портал Azure группа правил Prometheus будет создана в том же регионе, что и кластер.

  1. В меню "Оповещения" для кластера выберите пункт "Настройка рекомендаций".

    Снимок экрана: кластер AKS с кнопкой

  2. Доступные правила генерации оповещений Prometheus и платформы отображаются с помощью правил Prometheus, организованных по модулям pod, кластеру и уровню узлов. Переключите группу правил Prometheus, чтобы включить этот набор правил. Разверните группу, чтобы просмотреть отдельные правила. Вы можете оставить значения по умолчанию или отключить отдельные правила и изменить их имя и серьезность.

    Снимок экрана: включение правила генерации оповещений Prometheus.

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

    Снимок экрана: включение правила генерации оповещений метрик платформы.

  4. Выберите один или несколько методов уведомлений для создания новой группы действий или выберите существующую группу действий с сведениями о уведомлении для этого набора правил генерации оповещений.

  5. Нажмите кнопку "Сохранить", чтобы сохранить группу правил.

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

  1. В меню "Оповещения" для кластера выберите пункт "Настройка рекомендаций". Все созданные правила или группы правил будут помечены как уже созданные.

  2. Разверните группу правил или правил. Щелкните группу правил View для Prometheus и просмотрите правило генерации оповещений для метрик платформы.

    Снимок экрана: параметр группы правил представления.

  3. Для групп правил Prometheus:

    1. Выберите правила для просмотра правил генерации оповещений в группе.

    2. Щелкните значок "Изменить" рядом с правилом, которое требуется изменить. Используйте инструкции из статьи "Создание правила генерации оповещений" для изменения правила.

      Снимок экрана: изменение правил генерации оповещений Prometheus.

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

  4. Для метрик платформы:

    1. Нажмите кнопку "Изменить", чтобы открыть сведения для правила генерации оповещений. Используйте инструкции из статьи "Создание правила генерации оповещений" для изменения правила.

      Снимок экрана: изменение правила метрик платформы.

Отключение группы правил генерации оповещений

Отключите группу правил, чтобы остановить получение оповещений из правил в ней.

  1. Просмотрите группу правил оповещений Prometheus или правило метрики платформы, как описано в разделе "Изменение рекомендуемых правил генерации оповещений".

  2. В меню "Обзор" выберите "Отключить".

    Снимок экрана: параметр отключения группы правил.

В следующих таблицах перечислены сведения о каждом рекомендуемом правиле генерации оповещений. Исходный код для каждого из них доступен в GitHub , а также руководства по устранению неполадок из сообщества Prometheus.

Правила генерации оповещений сообщества Prometheus

Оповещения на уровне кластера

Имя оповещения Description Порог по умолчанию Временной интервал (минуты)
KubeCPUQuotaOvercommit Квота ресурсов ЦП, выделенная пространствам имен, превышает доступные ресурсы ЦП на узлах кластера более чем на 50 % за последние 5 минут. >1.5 5
KubeMemoryQuotaOvercommit Квота ресурса памяти, выделенная пространствам имен, превышает доступные ресурсы памяти на узлах кластера более чем на 50 % за последние 5 минут. >1.5 5
KubeContainerOOMKilledCount Один или несколько контейнеров в модулях pod были убиты из-за отсутствия памяти (OOM) событий за последние 5 минут. >0 5
KubeClientErrors Скорость ошибок клиента (коды состояния HTTP начиная с 5xx) в запросах API Kubernetes превышает 1% от общей частоты запросов API за последние 15 минут. >0.01 15
KubePersistentVolumeFillingUp Постоянный том заполняется и, как ожидается, истекает доступное пространство, вычисляемое на доступном соотношении пространства, используемом пространстве и прогнозируемой линейной тенденции доступного пространства за последние 6 часов. Эти условия оцениваются за последние 60 минут. Н/П 60
KubePersistentVolumeInodesFillingUp За последние 15 минут доступны менее 3 % от инодер в постоянном томе. <0.03 15
KubePersistentVolumeErrors Один или несколько постоянных томов находятся на этапе сбоя или ожидания за последние 5 минут. >0 5
KubeContainerWaiting Один или несколько контейнеров в модулях pod Kubernetes находятся в состоянии ожидания за последние 60 минут. >0 60
KubeDaemonSetNotScheduled Один или несколько модулей pod не запланированы на любом узле за последние 15 минут. >0 15
KubeDaemonSetMisScheduled Один или несколько модулей pod пропущены в кластере за последние 15 минут. >0 15
KubeQuotaAlmostFull Использование квот ресурсов Kubernetes составляет от 90% до 100% от жестких ограничений за последние 15 минут. >0.9 <1 15

Оповещения на уровне узла

Имя оповещения Description Порог по умолчанию Временной интервал (минуты)
KubeNodeUnreachable Узел недоступен за последние 15 минут. 1 15
KubeNodeReadinessFlapping Состояние готовности узла изменилось более 2 раз за последние 15 минут. 2 15

Оповещения уровня pod

Имя оповещения Description Порог по умолчанию Временной интервал (минуты)
KubePVUsageHigh Среднее использование постоянных томов (PV) в pod превышает 80 % за последние 15 минут. >0.8 15
KubeDeploymentReplicasMismatch Существует несоответствие между требуемым количеством реплик и количеством доступных реплик за последние 10 минут. Н/П 10
KubeStatefulSetReplicasMismatch Количество готовых реплик в StatefulSet не соответствует общему количеству реплик в StatefulSet за последние 15 минут. Н/П 15
KubeHpaReplicasMismatch Горизонтальное автомасштабирование pod в кластере не соответствовало требуемому количеству реплик за последние 15 минут. Н/П 15
KubeHpaMaxedOut Горизонтальное автомасштабирование pod (HPA) в кластере выполнялось на максимальных репликах за последние 15 минут. Н/П 15
KubePodCrashLooping Один или несколько модулей pod находится в состоянии CrashLoopBackOff, где модуль pod непрерывно завершает работу после запуска и не сможет успешно восстановиться за последние 15 минут. >=1 15
KubeJobStale По крайней мере один экземпляр задания не завершился успешно за последние 6 часов. >0 360
KubePodContainerRestart Один или несколько контейнеров в кластере Kubernetes были перезапущены по крайней мере один раз в течение последнего часа. >0 15
KubePodReadyStateLow Процент модулей pod в состоянии готовности ниже 80 % для любого развертывания или управляющей программы в кластере Kubernetes за последние 5 минут. <0.8 5
KubePodFailedState Один или несколько модулей pod находится в состоянии сбоя за последние 5 минут. >0 5
KubePodNotReadyByController Один или несколько модулей pod не находятся в состоянии готовности (т. е. на этапе "Ожидание" или "Неизвестно") за последние 15 минут. >0 15
KubeStatefulSetGenerationMismatch Наблюдаемое поколение Kubernetes StatefulSet не соответствует его поколению метаданных за последние 15 минут. Н/П 15
KubeJobFailed Сбой одного или нескольких заданий Kubernetes за последние 15 минут. >0 15
KubeContainerAverageCPUHigh Среднее использование ЦП на контейнер превышает 95 % за последние 5 минут. >0.95 5
KubeContainerAverageMemoryHigh Среднее использование памяти на контейнер превышает 95 % за последние 5 минут. >0.95 10
KubeletPodStartUpLatencyHigh 99-й процентиль задержки запуска pod превышает 60 секунд за последние 10 минут. >60 10

Правила генерации оповещений метрик платформы

Имя оповещения Description Порог по умолчанию Временной интервал (минуты)
Процент ЦП узла превышает 95 % Процент ЦП узла превышает 95 % за последние 5 минут. 95 5
Процент рабочих наборов памяти узла превышает 100 % Процент рабочих наборов памяти узла превышает 100 % за последние 5 минут. 100 5

Устаревшие оповещения метрик аналитики контейнеров (предварительная версия)

Правила метрик в аналитике контейнеров были прекращены 31 мая 2024 г. Эти правила были в общедоступной предварительной версии, но не достигли общедоступной доступности, так как новые рекомендуемые оповещения метрик, описанные в этой статье, теперь доступны.

Если эти устаревшие правила генерации оповещений уже включены, их следует отключить и включить новый интерфейс.

Отключение правил генерации оповещений метрик

  1. В меню "Аналитика" для кластера выберите рекомендуемые оповещения (предварительная версия).
  2. Измените состояние каждого правила генерации оповещений на "Отключено".

Сопоставление устаревших оповещений

В следующей таблице каждый из устаревших оповещений метрик аналитики контейнеров сопоставляется с эквивалентными рекомендуемыми оповещениями метрик Prometheus.

Рекомендуемое оповещение пользовательской метрики Рекомендуемое оповещение эквивалентной метрики Prometheus/Platform Condition
Число завершенных заданий KubeJobStale (оповещения уровня pod) По крайней мере один экземпляр задания не завершился успешно за последние 6 часов.
Процент ЦП контейнера KubeContainerAverageCPUHigh (оповещения уровня pod) Среднее использование ЦП на контейнер превышает 95 % за последние 5 минут.
Объем памяти рабочего набора контейнеров % KubeContainerAverageMemoryHigh (оповещения уровня pod) Среднее использование памяти на контейнер превышает 95 % за последние 5 минут.
Количество неудачных модулей pod KubePodFailedState (оповещения уровня pod) Один или несколько модулей pod находится в состоянии сбоя за последние 5 минут.
Процент ЦП узла Процент ЦП узла превышает 95 % (метрика платформы) Процент ЦП узла превышает 95 % за последние 5 минут.
Использование диска узла % Н/П Среднее использование диска для узла превышает 80 %.
Состояние узла NotReady KubeNodeUnreachable (оповещения на уровне узла) Узел недоступен за последние 15 минут.
Рабочий набор узлов % памяти Процент рабочих наборов памяти узла превышает 100 % Процент рабочих наборов памяти узла превышает 100 % за последние 5 минут.
Контейнеры, остановленные из-за нехватки памяти KubeContainerOOMKilledCount (оповещения на уровне кластера) Один или несколько контейнеров в модулях pod были убиты из-за отсутствия памяти (OOM) событий за последние 5 минут.
Процент использования сохраняемого тома KubePVUsageHigh (оповещения уровня pod) Среднее использование постоянных томов (PV) в pod превышает 80 % за последние 15 минут.
Готовые объекты pod (%) KubePodReadyStateLow (оповещения уровня pod) Процент модулей pod в состоянии готовности ниже 80 % для любого развертывания или управляющей программы в кластере Kubernetes за последние 5 минут.
Число перезапускаемых контейнеров KubePodContainerRestart (оповещения уровня pod) Один или несколько контейнеров в кластере Kubernetes были перезапущены по крайней мере один раз в течение последнего часа.

Следующие шаги