Мониторинг и ведение журнала Kubernetes

Служба Azure Kubernetes (AKS)
Azure Log Analytics
Azure Monitor

В этой статье описывается, как мониторинг Служба 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 создает метрики платформы и журналы ресурсов, которые можно использовать для мониторинга его базовой работоспособности и производительности.

Схема ведения журнала и мониторинга 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.

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.

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