Поделиться через


Коллекция журналов высокого масштаба в Службе "Аналитика контейнеров" (предварительная версия)

Режим высокой шкалы — это функция в Службе аналитики контейнеров, которая позволяет собирать журналы консоли контейнеров (stdout и stderr) с высокой пропускной способностью с узлов кластера Служба Azure Kubernetes (AKS). Эта функция позволяет собирать до 50 000 журналов/с на узел.

Примечание.

Эта функция сейчас доступна в виде общедоступной предварительной версии. Дополнительные сведения см . в дополнительных условиях использования для предварительных версий Microsoft Azure.

Обзор

Если включен режим высокой шкалы, Служба Аналитики контейнеров выполняет несколько изменений конфигурации, что приводит к повышению общей пропускной способности. Это включает использование обновленного агента и конвейера данных Azure Monitor с улучшениями масштаба. Эти изменения вносятся в фоновом режиме Azure Monitor и не требуют ввода или настройки после включения функции.

Режим высокой шкалы влияет только на уровень сбора данных. Остальная часть интерфейса аналитики контейнеров остается той же, при этом журналы принимаются в ту же ContainerLogV2 таблицу. Существующие запросы и оповещения продолжают работать, так как собираются те же данные.

Чтобы обеспечить максимальную поддерживаемую пропускную способность журналов, следует использовать высокоуровневые номера SKU виртуальных машин с 16 ядрами ЦП или более для узлов кластера AKS. Использование номеров SKU виртуальных машин низкого уровня влияет на пропускную способность журналов.

Соответствует ли мой кластер?

Коллекция журналов высокого масштаба подходит для сред, отправляя более 2000 журналов в секунду (или 2 МБ/с) на узел в кластерах Kubernetes и был разработан и протестирован для отправки до 50 000 журналов/с на узел. Используйте следующие запросы журналов, чтобы определить, подходит ли кластер для сбора журналов высокого масштаба.

Журналы в секунду и на узел

ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>" 
| summarize count() by bin(TimeGenerated, 1s), Computer 
| render timechart 

Размер журнала (в МБ) в секунду на узел

 ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer 
| render timechart 

Необходимые компоненты

  • Azure CLI версии 2.63.0 или более поздней.
  • Версия расширения CLI ДЛЯ AKS-preview должна быть 7.0.0b4 или более поздней, если установлен расширение CLI aks-preview.
  • Схема кластера должна быть настроена для ContainerLogV2.
  • Если ограничения ресурсов по умолчанию (ЦП и память) в контейнере ama-logs set не соответствуют требованиям к масштабируемости журналов, обратитесь в канал поддержки Майкрософт, чтобы увеличить ограничения ресурсов контейнера ama-logs.

Требования к брандмауэры сети

Помимо требований к брандмауэру сети для мониторинга кластера Kubernetes дополнительные конфигурации в следующей таблице необходимы для включения режима высокого масштаба в зависимости от облака.

Облако Конечная точка Порт
Общедоступное облако Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Microsoft Azure, управляемый облаком 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Облако Azure для государственных организаций <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

Конечная точка — это конечная точка приема журналов из конечной точки сбора данных (DCE) для правила сбора данных (DCR), используемого кластером. Этот DCE создается при включении режима высокой шкалы для кластера и начинается с префикса MSCI-ingest.

Снимок экрана: конечная точка приема журналов для DCE.

Ограничения

В предварительной версии следующие сценарии не поддерживаются. Они будут устранены, когда эта функция станет общедоступной.

  • Кластеры AKS с узлами Arm64
  • Kubernetes с поддержкой Azure Arc
  • HTTP-прокси с доверенным сертификатом
  • Подключение через портал Azure, Политика Azure, Terraform и Bicep
  • Настройка с помощью параметров монитора на портале AKS Insights
  • Автоматическая миграция из существующей аналитики контейнеров

Включение сбора журналов с высоким масштабированием

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

Примечание.

Для приема в режиме высокого масштаба журнала требуется конечная точка сбора данных (DCE ). При подключении создается DCE приема с префиксом MSCI-ingest для каждого кластера. Если настроена область приватного канала Azure Monitor, то также будет создана конфигурация DCE с префиксом MSCI-config.

Обновление конфигурации

Первым шагом является обновление конфигурации кластера, чтобы указать модулям ama-logs deamonset pod аналитики контейнеров, которые будут выполняться в режиме высокой шкалы.

Выполните инструкции по настройке и развертыванию ConfigMap, чтобы скачать и обновить ConfigMap для кластера. Единственное изменение, которое необходимо внести для журналов высокого масштаба, — включить agent_settings.high_log_scale в agent-settings следующем разделе:

[agent_settings.high_log_scale] 
  enabled = true 

После применения этого configmap ama-logs-* модули pod будут перезапущены автоматически и настроить модули pod ama-logs для запуска в режиме высокой шкалы.

Включение режима высокой шкалы для надстройки мониторинга

Включите надстройку мониторинга с высоким масштабируемым режимом, используя следующие команды Azure CLI, чтобы включить режим высокомасштабируемых журналов для надстройки мониторинга в зависимости от конфигурации AKS.

Примечание.

Вместо интерфейса командной строки можно использовать шаблон ARM для включения режима высокой шкалы для надстройки мониторинга. Сведения о включении Аналитики контейнеров см. в статье "Включение аналитики контейнеров" с помощью шаблона ARM. Чтобы включить режим высокой шкалы, используйте Microsoft-ContainerLogV2-HighScale вместо Microsoft-ContainerLogV2 параметра, как описано в streams разделе "Настройка DCR с помощью шаблонов ARM".

Существующий кластер AKS

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --enable-high-log-scale-mode  

Существующий частный кластер AKS

az aks enable-addons -a monitoring -g  <resource-group-name> -n <cluster-name> --enable-high-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName> 

Новый кластер AKS

az aks create -g <cluster-name> -n <cluster-name> enable-addons -a monitoring --enable-high-log-scale-mode  

Новый частный кластер AKS

Дополнительные сведения о создании частного кластера СЛУЖБА AZURE KUBERNETES (AKS) см. в статье "Создание частного кластера AKS". Используйте дополнительные параметры и --ampls-resource-id настройте режим масштабирования больших журналов --enable-high-scale-mode с помощью идентификатора ресурса Приватный канал области Azure Monitor.

Миграция

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

  • Так как режим высокой шкалы использует другой конвейер данных, необходимо убедиться, что конечные точки конвейера не блокируются брандмауэром или другими сетевыми подключениями.
  • Для приема данных в режиме высокого масштаба требуется конечная точка сбора данных (DCE) в дополнение к стандартному DCR для сбора данных. Если вы создали все используемые контроллеры Microsoft.ContainerLogV2домена, необходимо заменить их или Microsoft.ContainerLogV2-HighScale данные будут дублироваться. Кроме того, необходимо создать DCE для приема и связать его с DCR, если DCR еще не используется. Дополнительные сведения о подключении Container Insights с помощью Azure Resource Manager см. в справочнике по зависимостям.

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

  • Поделитесь любыми отзывами или проблемами с режимом https://aka.ms/cihsfeedbackвысокой шкалы.