Мониторинг и ведение журнала данных
Область применения: 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, развертываются и автоматически настраиваются следующие компоненты:
- Оператор Prometheus
- Prometheus
- Метрики состояния Kube
- Средство экспорта узлов
- Средство экспорта Windows
Развертывание основано на общедоступной диаграмме Kube-Prometheus-stack Helm, которая расширена для поддержки экспортера Windows и защищает получение метрик между Prometheus и агентами. После развертывания решения Prometheus средство экспорта узлов запускается на каждом узле Linux, а средство экспорта Windows — на каждом узле Windows.
Примечание
Так как оператор Prometheus, Prometheus и компоненты метрик состояния Kube поддерживаются только в Linux, необходимо подготовить по крайней мере один узел Linux в кластере AKS для развертывания этого решения.
Объекты и конечные точки, создаваемые решением Prometheus, включают следующие элементы:
- Метрики состояния Kube для сбора различных метрик, предоставляемых Kubernetes
- Сервер API Kubernetes
- Kubelet
- Экспорт узлов для сбора метрик для узлов Linux
- Средство экспорта Windows для сбора метрик для узлов Windows
Чтобы просмотреть панели мониторинга 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.