В этой статье описывается, как мониторинг Служба Azure Kubernetes (AKS) сравнивается с Amazon Elastic Kubernetes Service (Amazon EKS). В этой статье описаны различные варианты мониторинга журналов кластера AKS и ее рабочих нагрузок и управления ими.
Примечание.
Эта статья является частью серии статей, которые помогают специалистам, знакомым с Amazon EKS, чтобы понять, Служба Azure Kubernetes (AKS).
Мониторинг и ведение журнала Amazon EKS
Как и любая служба Kubernetes, EKS имеет два основных компонента, плоскость управления и рабочие узлы. Существуют определенные возможности для каждого слоя.
Уровень управления Amazon EKS и мониторинг кластера
Amazon EKS интегрируется с журналами Amazon CloudWatch для обеспечения ведения журнала и мониторинга для плоскости управления Amazon EKS. Эта интеграция не включена по умолчанию, но при настройке собирает журналы:
- Вызовы сервера API и API.
- Журналы аудита и взаимодействие с пользователем.
- Журналы Authenticator.
- Журналы планировщика и контроллера.
Amazon EKS предоставляет метрики плоскости управления в конечной точке /metrics
в текстовом формате Prometheus. CloudWatch Container Insights может собирать и хранить метрики Prometheus. Вы можете развернуть и самостоятельно управлять Prometheus поверх кластера EKS или использовать службу Amazon Managed для Prometheus.
Amazon EKS также интегрируется с Amazon Web Services (AWS) CloudTrail для отслеживания действий и вызовов API. Дополнительные сведения см. в разделе "Ведение журналов вызовов API Amazon EKS с помощью AWS CloudTrail".
Мониторинг рабочей нагрузки Amazon EKS
CloudWatch Container Insights может собирать и агрегировать метрики и журналы из контейнерных приложений, развернутых в EKS. Вы можете реализовать Аналитику контейнеров в Amazon EKS с контейнерной версией агента CloudWatch или с помощью дистрибутива AWS для OpenTelemetry в качестве daemonSet. Журналы можно отправлять с помощью FluentBit.
Мониторинг и ведение журнала AKS
Как и другие ресурсы Azure, AKS создает метрики платформы и журналы ресурсов, которые можно использовать для мониторинга его базовой работоспособности и производительности.
Скачайте файл Visio для этой архитектуры.
Azure Monitor
AKS изначально интегрируется с Azure Monitor. Azure Monitor хранит метрики и журналы в центральном расположении, называемом рабочей областью Log Analytics. Эти данные обрабатываются и анализируются для предоставления аналитических сведений и оповещений. Дополнительные сведения см. в статье "Мониторинг Служба Azure Kubernetes (AKS) с помощью Azure Monitor.
Container Insights — это функция Azure Monitor, которая собирает, индексирует и сохраняет данные, создаваемые кластером AKS. Аналитика контейнеров позволяет отслеживать управляемые кластеры Kubernetes, размещенные в AKS и других конфигурациях кластера. Служба Container Insights может отслеживать работоспособность и производительность AKS с помощью визуализации, адаптированной к средам Kubernetes. Аналогично EKS, включение Container Insights для кластера AKS развертывает контейнерную версию агента Log Analytics, которая отвечает за отправку данных в рабочую область Log Analytics.
В настоящее время Служба Аналитики контейнеров использует данные из рабочей области Log Analytics для управления визуализациями на портале Azure. Однако при выпуске управляемой службы Azure Monitor для Prometheusэтот подход к сбору метрик дешевле и эффективнее. Container Insights позволяет визуализировать метрики с помощью только управляемых данных Prometheus. Дополнительные сведения см. в статье Switch to using managed Prometheus visualizations for Container Insights.
Чтобы обеспечить комплексный мониторинг кластеров Kubernetes, рекомендуется использовать функции Azure Monitor, упомянутые ниже.
- Используйте Managed Prometheus для эффективной коллекции метрик.
- Используйте Аналитику контейнеров для сбора журналов.
- Используйте Managed Grafana для расширенных возможностей визуализации.
Microsoft Sentinel
Microsoft Sentinel обеспечивает интеллектуальную аналитику безопасности и аналитику угроз на предприятии. Используя Microsoft Sentinel, вы получаете единое решение для обнаружения атак, отображения угроз, их упреждающего поиска и реагирования на них.
Microsoft Sentinel должен быть подключен к AKS. Этот соединитель позволяет передавать журналы Служба Azure Kubernetes (AKS) диагностика в Microsoft Sentinel, что позволяет непрерывно отслеживать действия во всех экземплярах.
После подключения источников данных к Microsoft Sentinel вы можете визуализировать и отслеживать данные с помощью книг Microsoft Sentinel и Azure Monitor, что обеспечивает гибкость при создании пользовательских панелей мониторинга.
Мониторинг кластера и рабочей нагрузки AKS
Развертывание AKS может разделиться на компоненты уровня кластера, управляемые компоненты AKS, объекты Kubernetes и рабочие нагрузки, приложения и внешние ресурсы. В следующей таблице показана общая стратегия мониторинга кластеров и приложений рабочей нагрузки AKS. Каждый уровень имеет различные требования к мониторингу.
Level | Description | Требования к мониторингу |
---|---|---|
Компоненты уровня кластера | Масштабируемые наборы виртуальных машин, абстрагированные как узлы AKS и пулы узлов | Состояние узла и использование ресурсов, включая ЦП, память, диск и сеть |
Управляемые компоненты AKS | Компоненты уровня управления AKS, включая серверы API, облачный контроллер и kubelet |
Журналы и метрики уровня управления из kube-system пространства имен |
Объекты и рабочие нагрузки Kubernetes | Объекты Kubernetes, такие как развертывания, контейнеры и наборы реплик | Использование ресурсов и сбои |
Приложения | Рабочие нагрузки приложений, выполняемые в кластере AKS | Мониторинг архитектуры, но включая журналы приложений и транзакции служб |
Внешняя. | Внешние ресурсы, которые не являются частью AKS, но необходимы для масштабируемости кластера и управления ими | Зависит от каждого компонента |
- Компоненты уровня кластера. Вы можете использовать существующие представления и отчеты Службы Аналитики контейнеров для мониторинга компонентов уровня кластера для понимания их работоспособности, готовности, производительности, использования ресурсов ЦП и памяти и тенденций.
- Управляемые компоненты AKS: можно использовать обозреватель метрик для просмотра счетчика запросов inflight . Это представление включает задержку запроса и время обработки рабочей очереди.
- Объекты и рабочие нагрузки Kubernetes: вы можете использовать существующие представления и отчеты Container Insights для мониторинга развертывания, контроллеров, модулей pod и контейнеров. Используйте представления узлов и контроллеров для просмотра работоспособности и производительности модулей pod, работающих на узлах и контроллерах, а также их потребления ресурсов с точки зрения ЦП и памяти.
В представлении "Контейнеры аналитики контейнеров" можно просмотреть работоспособность и производительность контейнеров или выбрать отдельный контейнер и отслеживать его события и журналы в режиме реального времени. Дополнительные сведения об использовании этого представления и анализе работоспособности и производительности контейнеров см. в статье "Мониторинг производительности кластера Kubernetes" с помощью Container Insights.
- Приложения. С помощью Application Insights можно отслеживать приложения, работающие в AKS и других средах. Application Insights — это средство управления производительностью приложений, которое обеспечивает поддержку многих языков программирования. В зависимости от потребностей вы можете инструментировать код приложения для записи запросов, трассировок, журналов, исключений, пользовательских метрик и сквозных транзакций и отправки этих данных в Application Insights. Если у вас есть приложение Java, вы можете обеспечить мониторинг без инструментирования кода. Дополнительные сведения см. в разделе "Мониторинг приложений инструментирования ноль" для Kubernetes.
- Внешние компоненты. Вы можете использовать функции Azure Monitor для отслеживания любых приложений рабочей нагрузки как службы (PaaS), используемых приложениями рабочей нагрузки, такими как базы данных и другие ресурсы Azure.
Управляемая служба Azure Monitor для Prometheus
Prometheus — это популярное решение для мониторинга метрик с открытым кодом из Cloud Native Compute Foundation и наиболее распространенное средство, используемое для сбора и анализа данных метрик из кластеров Kubernetes. Управляемая служба Azure Monitor для Prometheus — это полностью управляемое решение для мониторинга, совместимое с Prometheus, в Azure, в котором хранятся данные в рабочей области Azure Monitor, связанной с рабочей областью Grafana, чтобы вы могли анализировать данные с помощью Управляемой Grafana Azure.
Prometheus также можно развертывать независимо как самостоятельное решение в Служба Azure Kubernetes кластерах. Вы можете интегрировать автономный Prometheus с Azure Monitor. Аналитика контейнеров может быть настроена для сбора метрик Prometheus. Вы можете предоставить конечную точку метрик Prometheus через ваши экспортеры или приложения pod, а контейнеризованный агент для Container Insights будет сломать метрики.
Управление Azure для Grafana
Управляемый Grafana Azure — это платформа визуализации данных, созданная на основе Grafana. Это полностью управляемая служба Azure, которую контролирует и поддерживает Майкрософт. Для мониторинга Kubernetes и устранения неполадок с полным стеком доступны несколько предопределенных панелей мониторинга Grafana.
Управляемый Grafana Azure оптимизирован для среды Azure и работает со многими службами Azure и предоставляет простые функции интеграции. Кроме того, вы также можете самостоятельно развернуть Grafana в качестве самостоятельного решения. Дополнительные сведения см. в статье "Мониторинг служб Azure" в Grafana.
Затраты на мониторинг AKS
Модель ценообразования Azure Monitor в первую очередь основана на количестве данных, которые приемываются в день в рабочую область Log Analytics. Стоимость зависит от выбранного плана и периода хранения.
Перед включением Container Insights оцените затраты и понять, как управлять приемом данных и его затратами. Подробные инструкции см. в разделе "Оценка затрат для мониторинга кластера AKS".
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Паоло Сальватори | Инженер основной службы
- Кетан Чавда | Старший инженер клиента
- Лора Николас | Старший архитектор облачных решений
Другие участники:
- Чад Киттель | Главный инженер программного обеспечения
- Эд Прайс | Старший диспетчер программ содержимого
- Теано Питерсен | Технический писатель
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
- AKS для специалистов Amazon EKS
- Управление удостоверениями и доступом Kubernetes
- Безопасный сетевой доступ к Kubernetes
- Параметры хранилища для кластера Kubernetes
- Управление затратами для Kubernetes
- Управление узлами и пулом узлов Kubernetes
- Управление кластерами
Связанные ресурсы
- Использование области Приватный канал Azure Monitor
- Мониторинг Служба Azure Kubernetes (AKS) с помощью Azure Monitor
- Справочник по данным AKS для мониторинга
- Общие сведения о Службе Аналитики контейнеров
- Включение Аналитики контейнеров
- Журналы ресурсов AKS
- Настройка очистки метрик Prometheus с помощью Container Insights
- Как запрашивать журналы из Службы "Аналитика контейнеров"
- Источник данных Azure Monitor для Grafana
- Мониторинг и резервное копирование ресурсов Azure
- Инструментирование решений для поддержки мониторинга и ведения журнала
- Разработка решения для регистрации и мониторинга ресурсов Azure
- Мониторинг использования, производительности и доступности ресурсов с помощью Azure Monitor