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

Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server

В этой статье описывается, как отслеживать развертывание Служба Azure Kubernetes (AKS) и собирать данные журнала в AKS, включенном Azure Arc. Вы узнаете, как настроить локальный мониторинг и получить доступ к ней с помощью Prometheus и Graphana, а также как собирать и просматривать журналы с помощью Elasticsearch, Fluent Bitи Kibana (EFK).

Доступны два типа решений для мониторинга и ведения журнала, как описано в следующей таблице:

Решение Подключение Azure Поддержка и обслуживание Стоимость Развертывание
Azure Monitor Требуется подключение кластера Kubernetes к Azure с помощью Azure Arc для Kubernetes. Полная поддержка и обслуживание от корпорации Майкрософт. Требуется регистрация в службе Azure Monitor. Используйте Azure Arc для мониторинга кластеров.
Локальный мониторинг и ведение журнала Подключение к Azure не требуется. Поддерживается в качестве программного обеспечения с открытым кодом корпорацией Майкрософт (без соглашения о поддержке или соглашений об уровне обслуживания), сообществом и (или) внешними поставщиками. Зависит от поставщика. Управляемая клиентом. См. раздел Мониторинг кластеров с помощью локального мониторинга.

Сведения об использовании Azure Monitor с кластерами Kubernetes см. в обзоре Azure Monitor.

Использование локального мониторинга

Очень важно отслеживать работоспособность, производительность и использование ресурсов узлами и рабочими нагрузками уровня управления в кластере при запуске приложений в рабочей среде. Рекомендуемое решение для мониторинга включает в себя следующие два средства:

  • Prometheus — это набор средств мониторинга и оповещений, который можно использовать для мониторинга контейнерных рабочих нагрузок. Prometheus работает с различными типами сборщиков и агентов для сбора метрик и их хранения в базе данных, где можно запрашивать данные и просматривать отчеты. AKS Arc упрощает развертывание Prometheus, как описано далее в этой статье.
  • Grafana — это инструмент, используемый для просмотра, запроса и визуализации метрик на панелях мониторинга Grafana. Вы также можете настроить Grafana для использования Prometheus в качестве источника данных. У вас должна быть собственная лицензированная копия Grafana с AKS Arc.

Обзор решения для мониторинга

В рамках решения Prometheus в AKS, включенном Arc, развертываются и автоматически настраиваются следующие компоненты:

Развертывание основано на общедоступной диаграмме Kube-Prometheus-stack Helm, которая расширена для поддержки экспортера Windows и защищает получение метрик между Prometheus и агентами. После развертывания решения Prometheus средство экспорта узлов запускается на каждом узле Linux, а средство экспорта Windows — на каждом узле Windows.

Примечание

Так как оператор Prometheus, Prometheus и компоненты метрик состояния Kube поддерживаются только в Linux, необходимо подготовить по крайней мере один узел Linux в кластере AKS для развертывания этого решения.

Объекты и конечные точки, создаваемые решением Prometheus, включают следующие элементы:

Чтобы просмотреть панели мониторинга Grafana, доступные в AKS Arc, см. статью Панели мониторинга Grafana, доступные в AKS Arc.

Развертывание решения для мониторинга с помощью PowerShell

В этом разделе описываются два варианта, которые можно использовать для развертывания мониторинга в кластере рабочей нагрузки.

Вариант 1. Развертывание решения для мониторинга при создании кластера рабочей нагрузки

Чтобы включить мониторинг, укажите -enableMonitoring параметр при использовании New-AksHciCluster для создания кластера рабочей нагрузки, как показано в следующем примере:

New-AksHciCluster -name mynewcluster -enableMonitoring

Мониторинг устанавливается со следующей конфигурацией по умолчанию:

  • Размер постоянного тома, подготовленного для хранения метрик (storageSizeGB), составляет 100 ГБ.
  • Срок хранения собранных метрик (retentionTimeHours) составляет 240 часов (или 10 дней).

Вариант 2. Развертывание решения для мониторинга в существующем кластере рабочей нагрузки

Выполните команду Install-AksHciMonitoring , чтобы развернуть решение для мониторинга в существующем кластере рабочей нагрузки следующим образом:

Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240

Параметр -storageSizeGB задает размер постоянного тома, подготовленного для хранения метрик, а -retentionTimeHours параметр задает время хранения собранных метрик.

Решение для мониторинга устанавливается в отдельном пространстве имен с именем monitoring и использует класс StorageClass с именем monitoring-sc. Prometheus предоставляется во внутренней конечной точке, доступной только в кластере по адресу http://akshci-monitoring-prometheus-svc.monitoring:9090.

Удаление решения для мониторинга с помощью PowerShell

Uninstall-AksHciMonitoring Выполните команду PowerShell, чтобы удалить решение мониторинга AKS Arc, как показано ниже.

Uninstall-AksHciMonitoring -Name <target cluster name>

В процессе удаления удаляется все, включая пространство имен, Класс хранения, а также фактические данные и метрики постоянного тома.

Развертывание Grafana и настройка для использования Prometheus

Вы можете следовать любым рекомендациям по развертыванию Grafana, который является общедоступным. Вы также можете просмотреть руководство майкрософт по развертыванию для использования Grafana, в котором подробно описано, как развернуть и настроить Grafana для подключения к экземпляру Prometheus AKS. На этой странице GitHub также описывается добавление панелей мониторинга Grafana, которые корпорация Майкрософт делает доступными для AKS с поддержкой Arc.

Локальное ведение журнала

Ведение журнала имеет решающее значение для устранения неполадок и диагностика. Решение ведения журнала в AKS Arc основано на Elasticsearch, Fluent Bit и Kibana (EFK). Все эти компоненты развертываются как контейнеры:

  • Fluent Bit — это обработчик журналов и сервер пересылки, который собирает данные и журналы из разных источников. Затем он форматирует, объединяет и сохраняет их в Elasticsearch.
  • Elasticsearch — это система распределенного поиска и аналитики, способная централизованно хранить журналы для быстрого поиска и анализа данных. 
  • Kibana предоставляет интерактивные визуализации на веб-панели мониторинга. Это средство позволяет просматривать и запрашивать журналы, хранящиеся в Elasticsearch, а затем визуализировать их с помощью графов и панелей мониторинга.

Чтобы настроить локальное решение для ведения журнала, ознакомьтесь с инструкциями по настройке ведения журнала для доступа к Kibana. В этой статье содержатся все компоненты, необходимые для сбора, агрегирования и запроса журналов контейнеров в кластере.

Дополнительные действия по настройке см. в разделе Ведение журнала Windows.

Дальнейшие действия