Рекомендуемые правила генерации оповещений для кластеров Kubernetes
Оповещения в Azure Monitor упреждающе определяют проблемы, связанные с работоспособностью и производительностью ресурсов Azure. В этой статье описывается, как включить и изменить набор рекомендуемых правил генерации оповещений метрик, предопределенных для кластеров Kubernetes.
Включите рекомендуемые правила генерации оповещений
Используйте один из следующих методов, чтобы включить рекомендуемые правила генерации оповещений для кластера. Вы можете включить правила оповещений метрик Prometheus и платформы для одного кластера.
Примечание.
Шаблоны ARM — это единственный поддерживаемый метод для включения рекомендуемых оповещений в кластерах Kubernetes с поддержкой Arc.
С помощью портал Azure группа правил Prometheus будет создана в том же регионе, что и кластер.
В меню "Оповещения" для кластера выберите пункт "Настройка рекомендаций".
Доступные правила генерации оповещений Prometheus и платформы отображаются с помощью правил Prometheus, организованных по модулям pod, кластеру и уровню узлов. Переключите группу правил Prometheus, чтобы включить этот набор правил. Разверните группу, чтобы просмотреть отдельные правила. Вы можете оставить значения по умолчанию или отключить отдельные правила и изменить их имя и серьезность.
Переключите правило метрик платформы, чтобы включить это правило. Вы можете развернуть правило, чтобы изменить его сведения, такие как имя, серьезность и пороговое значение.
Выберите один или несколько методов уведомлений для создания новой группы действий или выберите существующую группу действий с сведениями о уведомлении для этого набора правил генерации оповещений.
Нажмите кнопку "Сохранить", чтобы сохранить группу правил.
Изменение рекомендуемых правил генерации оповещений
После создания группы правил нельзя использовать ту же страницу на портале для изменения правил. Для метрик Prometheus необходимо изменить группу правил, чтобы изменить в ней все правила, включая включение всех правил, которые еще не включены. Для метрик платформы можно изменить каждое правило генерации оповещений.
В меню "Оповещения" для кластера выберите пункт "Настройка рекомендаций". Все созданные правила или группы правил будут помечены как уже созданные.
Разверните группу правил или правил. Щелкните группу правил View для Prometheus и просмотрите правило генерации оповещений для метрик платформы.
Для групп правил Prometheus:
Выберите правила для просмотра правил генерации оповещений в группе.
Щелкните значок "Изменить" рядом с правилом, которое требуется изменить. Используйте инструкции из статьи "Создание правила генерации оповещений" для изменения правила.
После завершения редактирования правил в группе нажмите кнопку "Сохранить ", чтобы сохранить группу правил.
Для метрик платформы:
Нажмите кнопку "Изменить", чтобы открыть сведения для правила генерации оповещений. Используйте инструкции из статьи "Создание правила генерации оповещений" для изменения правила.
Отключение группы правил генерации оповещений
Отключите группу правил, чтобы остановить получение оповещений из правил в ней.
Просмотрите группу правил оповещений Prometheus или правило метрики платформы, как описано в разделе "Изменение рекомендуемых правил генерации оповещений".
В меню "Обзор" выберите "Отключить".
Рекомендуемые сведения о правиле генерации оповещений
В следующих таблицах перечислены сведения о каждом рекомендуемом правиле генерации оповещений. Исходный код для каждого из них доступен в 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 г. Эти правила были в общедоступной предварительной версии, но не достигли общедоступной доступности, так как новые рекомендуемые оповещения метрик, описанные в этой статье, теперь доступны.
Если эти устаревшие правила генерации оповещений уже включены, их следует отключить и включить новый интерфейс.
Отключение правил генерации оповещений метрик
- В меню "Аналитика" для кластера выберите рекомендуемые оповещения (предварительная версия).
- Измените состояние каждого правила генерации оповещений на "Отключено".
Сопоставление устаревших оповещений
В следующей таблице каждый из устаревших оповещений метрик аналитики контейнеров сопоставляется с эквивалентными рекомендуемыми оповещениями метрик 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 были перезапущены по крайней мере один раз в течение последнего часа. |
Следующие шаги
- Ознакомьтесь с различными типами правил генерации оповещений в Azure Monitor.
- Ознакомьтесь с группами правил генерации оповещений в управляемой службе Azure Monitor для Prometheus.