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


Рекомендации по упреждающему мониторингу для Azure Kubernetes Service (AKS)

В этой статье рассматриваются лучшие практики проактивного мониторинга в службе Azure Kubernetes (AKS) и представлен полный список основных сигналов AKS, которые рекомендуются для мониторинга.

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

Обзор мониторинга и оповещений

Мониторинг AKS включает использование метрик, журналов и событий для обеспечения работоспособности и производительности кластера. Распространенные сценарии для мониторинга включают производительность узла, состояние pod и общее использование ресурсов в кластере. Журналы предоставляют аналитические сведения о системных событиях и операциях кластера и действиях. Дополнительные сведения о методах и сигналах AKS для мониторинга см. в разделе "Мониторинг Служба Azure Kubernetes(AKS)".

Лучшим способом упреждающего мониторинга кластера является настройка оповещений Azure Monitor. Оповещения действуют как упреждающие меры, чтобы уведомить вас о потенциальных проблемах или аномалиях, прежде чем они перерастают в критические проблемы. Определяя пороговые значения для ключевых метрик и журналов, вы получаете немедленное оповещение, когда эти сигналы превышают предопределенные ограничения, указывая на потенциальные проблемы, такие как исчерпание ресурсов или сбои приложений. Мы настоятельно рекомендуем определить цели уровня обслуживания (SLOS) для приложения, чтобы оценить производительность и надежность вашей службы. Настройка оповещений на ключевых сигналах для ваших SLO позволяет быстро обнаруживать снижение качества обслуживания вашего приложения, получаемого клиентами. В целом, установка своевременных оповещений позволяет быстро изучить и устранить проблемы, свести к минимуму время простоя и обеспечить высокий уровень доступности приложений, работающих в кластере AKS.

Настройка оповещений для определенных типов метрик

Тип метрики Где найти эти метрики Настройка оповещений
Метрика платформы AKS Просматривайте метрики платформы через раздел Метрики в портале Azure. Оповещения метрик можно создавать, обновлять и удалять через портал Azure. Дополнительные сведения см. в статье "Создание оповещения метрик" для ресурса Azure.
Метрика Azure Managed Prometheus Чтобы получить доступ к метрикам Prometheus, необходимо включить Управляемый Prometheus. Дополнительные сведения о включении и просмотре метрик Prometheus см. в статье Azure Monitor и Prometheus. Рекомендации по настройке оповещений Prometheus см. в управляемой службе Azure Monitor для групп правил Prometheus.
Журналы действий Azure Просматривайте журналы активности посредством портала Azure. Для получения дополнительной информации см. журналы действий Azure для AKS. Настройте оповещения в журналах действий с помощью портал Azure. Дополнительные сведения см. в разделе "Оповещения журнала действий".
Метрика масштабируемого набора виртуальных машин Azure Просмотрите метрики масштабируемого набора виртуальных машин в портале Azure. 1. Чтобы найти экземпляр масштабируемого набора виртуальных машин, связанный с пулом узлов, перейдите на вкладку > Свойства для вашего кластера AKS в портале Azure.
2. Выберите группу ресурсов инфраструктуры, чтобы просмотреть ресурсы инфраструктуры, связанные с кластером.
3. Выберите экземпляр масштабируемого набора виртуальных машин, соответствующий имени пула узлов, для котором создаются оповещения.
4. Перейдите в раздел "Оповещения", чтобы создать оповещение метрик.
Метрика Подсистемы балансировки нагрузки Просмотрите метрики балансировщика нагрузки на странице Балансировщика нагрузки в портале Azure. 1. Чтобы найти экземпляр подсистемы балансировки нагрузки>, связанный с пулом узлов, перейдите в колонку "Свойства параметров" для кластера AKS в портал Azure.
2. Выберите группу ресурсов инфраструктуры, чтобы просмотреть ресурсы инфраструктуры, связанные с кластером.
3. Выберите экземпляр балансировщика нагрузки, чтобы открыть страницу портала Azure для балансировщика нагрузки.
4. Перейдите на страницу Оповещения, чтобы создать оповещение для метрики балансировщика нагрузки.
Логи и события Чтобы настроить оповещения по журналам и событиям, необходимо включить Аналитику контейнеров. Для получения дополнительной информации см. журналы ресурсов Azure Monitor. Рекомендации по созданию оповещений в журналах и событиях см. в разделе «Создание оповещений поиска журналов в Container insights».

Критически важные сигналы для настройки оповещений

Чтобы получить целостное покрытие среды AKS, необходимо настроить оповещения на трех основных компонентах кластера:

  • Инфраструктура кластера: оповещения, предназначенные для базовой инфраструктуры кластера, например узлов, дисков и сетей.
  • Работоспособность приложений: оповещения для мониторинга работоспособности модулей pod и приложений. Некоторые распространенные индикаторы неработоспособных приложений включают принудительное завершение из-за нехватки памяти (OOMKills) ваших pod, pod в состоянии "не готов" и т. д.
  • Контрольная плоскость Kubernetes: оповещения по контрольной плоскости AKS для мониторинга состояния и производительности сервера API, etcd и других компонентов.

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

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

Сценарий оповещения Источник Сигнал Рекомендуемое пороговое значение
Кластер находится в состоянии сбоя Журналы действий Azure Создание или обновление управляемого кластера Журнал показывает неудачное завершение, указывая на сбой при обновлении кластера или создании.
Пул узлов находится в состоянии сбоя Журналы действий Azure Создание или обновление пула агентов Статус журнала: Сбой, индицируя, что пул узлов находится в состоянии 'Сбой' из-за неудавшейся операции создания, чтения, обновления или удаления (CRUD).
Использование пропускной способности диска операционной системы на узле Метрика масштабируемого набора виртуальных машин Процент использования пропускной способности диска ОС Использование пропускной способности диска операционной системы узла превышает 95 %.
Высокое использование IOPS диска узла с высокой производительностью Метрика масштабируемого набора виртуальных машин Процент использования IOPS для диска ОС Использование IOPS диска операционной системы узла превышает 95 %.
Использование дискового пространства операционной системы высокого уровня узла Метрика платформы AKS Процент использования диска Процент использования дискового пространства операционной системы узла превышает 90 %.
Высокая загрузка ЦП узла Метрика платформы AKS Процент использования ЦП Использование ЦП узла превышает 90 %.
Высокое использование памяти узла Метрика платформы AKS Рабочий набор памяти, в процентах Использование памяти узла превышает 90 %.
Узел находится в состоянии NotReady Метрика платформы AKS Состояние для различных условий узла Узел находится в состоянии NotReady в течение >20 минут.
Нехватка портов SNAT Метрика балансировщика нагрузки (LB) Количество подключений SNAT Фильтр состояния подключения = "Сбой"

Оповещения о работоспособности приложений

Сценарий оповещения Источник Сигнал Рекомендуемое пороговое значение
Большое количество неработоспособных модулей pod Управляемая метрика Azure Prometheus Имя оповещения: KubePodReadyStateLow Доступно как оповещение, рекомендуемое AKS. Чтобы включить это оповещение, ознакомьтесь с рекомендациями по правилам генерации оповещений для кластеров Kubernetes.
Перезапуск одного или нескольких модулей pod Метрика в Azure Managed Prometheus Имя оповещения: KubePodContainerRestart Доступно как рекомендуемое AKS-оповещение. Чтобы включить это оповещение, ознакомьтесь с рекомендациями по правилам генерации оповещений для кластеров Kubernetes.
Один или несколько подов находятся в статусе CrashLoop. Метрика Prometheus, управляемая в Azure Имя оповещения: KubePodCrashLooping Доступно в качестве рекомендованного оповещения AKS. Чтобы включить это оповещение, ознакомьтесь с рекомендациями по правилам генерации оповещений для кластеров Kubernetes.

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

Сценарий оповещения Источник Сигнал Рекомендуемое пороговое значение
ETCD заполнен Метрика Prometheus, управляемая Azure etcd_mvcc_db_общий_размер_используемый_в_байтах Использование ETCD превышает 2 ГБ
Слишком много ошибок запросов сервера API Метрика Azure Managed Prometheus apiserver_request_total Фильтр для кода ошибки 429
Ошибки вебхука и туннеля сервера API Метрика Azure Managed Prometheus apiserver_request_total Фильтрация кодов ошибок 500 и 503

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

Дополнительные сведения о мониторинге в AKS см. в следующих статьях: