Рекомендации по упреждающем мониторингу для Служба Azure Kubernetes (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. Перейдите в колонку "Оповещения", чтобы создать оповещение метрик. |
Метрика Подсистемы балансировки нагрузки | Просмотрите метрики подсистемы балансировки нагрузки на странице Load Balancer в портал Azure. | 1. Чтобы найти экземпляр подсистемы балансировки нагрузки>, связанный с пулом узлов, перейдите в колонку "Свойства параметров" для кластера AKS в портал Azure. 2. Выберите группу ресурсов инфраструктуры, чтобы просмотреть ресурсы инфраструктуры, связанные с кластером. 3. Выберите экземпляр подсистемы балансировки нагрузки, чтобы открыть страницу портал Azure для подсистемы балансировки нагрузки. 4. Перейдите на страницу "Оповещения", чтобы создать оповещение метрик подсистемы балансировки нагрузки . |
Журналы и события | Чтобы оповещать журналы и события, необходимо включить Службу Аналитики контейнеров. Дополнительные сведения см . в журналах ресурсов Azure Monitor. | Рекомендации по созданию оповещений в журналах и событиях см. в разделе "Создание оповещений поиска журналов" из аналитики контейнеров. |
Критически важные сигналы для настройки оповещений
Чтобы получить целостное покрытие среды AKS, необходимо настроить оповещения на трех основных компонентах кластера:
- Инфраструктура кластера: оповещения, предназначенные для базовой инфраструктуры кластера, например узлов, дисков и сетей.
- Работоспособность приложений: оповещения для мониторинга работоспособности модулей pod и приложений. Некоторые распространенные индикаторы неработоспособных приложений включают неисправные убийства (OOMKills) ваших модулей pod, модули pod в не готовом состоянии и т. д.
- Плоскость управления Kubernetes: оповещения в плоскости управления AKS для мониторинга работоспособности и производительности сервера API и т. д. и других компонентов.
В следующих разделах содержатся ключевые сигналы, которые мы рекомендуем всем клиентам AKS внимательно отслеживать. Команда AKS работает над добавлением всех критически важных сигналов в существующую функцию рекомендуемых оповещений, что позволяет легко включить оповещения для всех сигналов с помощью единого щелчка. Оповещения метрик Prometheus доступны в общедоступной предварительной версии сегодня, и остальные оповещения будут доступны в начале 2025 года. Теперь вы можете вручную настроить оповещения на критически важных сигналах.
Оповещения инфраструктуры кластера
Сценарий генерации оповещен | Исходный код | Сигнал | Рекомендуемое пороговое значение |
---|---|---|---|
Кластер находится в состоянии сбоя | Журналы действий Azure | Создание или обновление управляемого кластера | Состояние журнала завершилось сбоем, указывающее, что сбой обновления кластера или действия создания. |
Пул узлов находится в состоянии сбоя | Журналы действий Azure | Создание или обновление пула агентов | Состояние журнала завершается сбоем, указывая, что пул узлов находится в состоянии сбоя из-за неудачной операции создания, чтения, обновления или удаления (CRUD). |
Использование пропускной способности диска с высокой пропускной способностью узла | Метрика масштабируемого набора виртуальных машин | Процент использования пропускной способности диска ОС | Использование пропускной способности диска операционной системы узла превышает 95 %. |
Использование операций ввода-вывода в секунду на диске с высоким узлом | Метрика масштабируемого набора виртуальных машин | Процент использования операций ввода/вывода в секунду для диска ОС | Использование операций ввода-вывода на диск операционной системы узла превышает 95 %. |
Использование дискового пространства операционной системы высокого уровня узла | Метрика платформы AKS | Процент использования диска | Процент использования дискового пространства операционной системы узла превышает 90 %. |
Высокая загрузка ЦП узла | Метрика платформы AKS | Процент использования ЦП | Использование ЦП узла превышает 90 %. |
Использование памяти узла с высоким уровнем нагрузки | Метрика платформы AKS | Рабочий набор памяти, в процентах | Использование памяти узла превышает 90 %. |
Узел находится в состоянии NotReady | Метрика платформы AKS | Состояние для различных условий узла | Узел находится в состоянии NotReady в течение >20 минут. |
Нехватка портов SNAT | Метрика Load Balancer (LB) | Количество подключений SNAT | Фильтр состояния подключения = "Сбой" |
Оповещения о работоспособности приложений
Сценарий генерации оповещен | Исходный код | Сигнал | Рекомендуемое пороговое значение |
---|---|---|---|
Большое количество неработоспособных модулей pod | Метрика Azure Managed Prometheus | Имя оповещения: KubePodReadyStateLow | Доступно как рекомендуемое оповещение AKS. Чтобы включить это оповещение, ознакомьтесь с рекомендациями по правилам генерации оповещений для кластеров Kubernetes. |
Перезапуск одного или нескольких модулей pod | Метрика Azure Managed Prometheus | Имя оповещения: KubePodContainerRestart | Доступно как рекомендуемое оповещение AKS. Чтобы включить это оповещение, ознакомьтесь с рекомендациями по правилам генерации оповещений для кластеров Kubernetes. |
Один или несколько модулей pod находятся в состоянии CrashLoop | Метрика Azure Managed Prometheus | Имя оповещения: KubePodCrashLooping | Доступно как рекомендуемое оповещение AKS. Чтобы включить это оповещение, ознакомьтесь с рекомендациями по правилам генерации оповещений для кластеров Kubernetes. |
Оповещения плоскости управления Kubernetes
Сценарий генерации оповещен | Исходный код | Сигнал | Рекомендуемое пороговое значение |
---|---|---|---|
ETCD заполняется | Метрика Azure Managed Prometheus | etcd_mvcc_db_total_size_in_use_in_bytes | Использование ETCD превышает 2 ГБ |
Слишком много ошибок запросов сервера API | Метрика Azure Managed Prometheus | apiserver_request_total | Фильтрация кода ошибки 429 |
Ошибки веб-перехватчика и туннеля сервера API | Метрика Azure Managed Prometheus | apiserver_request_total | Фильтрация кодов ошибок 500 и 503 |
Следующие шаги
Дополнительные сведения о мониторинге в AKS см. в следующих статьях:
Azure Kubernetes Service