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


Настройка конвейера Azure Monitor на периферии

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

Обзор

Конвейер Azure Monitor на периферии — это контейнерное решение, развернутое в кластере Kubernetes с поддержкой Arc и использующее коллектор OpenTelemetry в качестве основы. На следующей схеме показаны компоненты конвейера у края. Один или несколько потоков данных прослушивают входящие данные от клиентов, а расширение конвейера пересылает данные в облако, используя локальный кэш при необходимости.

Файл конфигурации конвейера определяет потоки данных и свойства кэша для конвейера на границе. DCR определяет схему данных, отправляемых в облачный конвейер, преобразование для фильтрации или изменения данных и назначения, в котором должны отправляться данные. Каждое определение потока данных для конфигурации конвейера указывает DCR и поток в этом DCR, который будет обрабатывать эти данные в облачном конвейере.

Обзор схемы потока данных для конвейера Azure Monitor на периферии.

Замечание

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

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

Компонент Описание
Расширение контроллера периферийного потока данных Добавлено расширение в ваш кластер Kubernetes с поддержкой Arc для обеспечения функциональности конвейера — microsoft.monitor.pipelinecontroller.
Экземпляр контроллера граничного трубопровода Экземпляр периферийного конвейера, работающего на вашем кластере Kubernetes с поддержкой Arc.
Поток данных Сочетание получателей и экспортеров, работающих на контроллере конвейера. Получатели принимают данные от клиентов и экспортеров для доставки данных в Azure Monitor.
Конфигурация конвейера Файл конфигурации, определяющий потоки данных для экземпляра конвейера. Каждый поток данных включает приемника и экспортера. Получатель прослушивает входящие данные, а экспортер отправляет данные в место назначения.
Конечная точка сбора данных (DCE) Конечная точка, в которой данные отправляются в конвейер Azure Monitor. Конфигурация конвейера содержит свойство для URL-адреса DCE, чтобы экземпляр конвейера знал, куда отправлять данные.
Конфигурация Описание
Правило сбора данных (DCR) Файл конфигурации, определяющий способ получения данных в облачном конвейере и место его отправки. DCR также может включать преобразование для фильтрации или изменения данных перед отправкой в место назначения.
Конфигурация конвейера Конфигурация, определяющая потоки данных для экземпляра конвейера, включая потоки данных и кэш.

Поддерживаемые конфигурации

Поддерживаемые дистрибутивы

Конвейер Azure Monitor на периферии поддерживается в следующих дистрибутивах Kubernetes:

  • Канонический
  • Поставщик API кластеров для Azure
  • K3
  • Подсистема Rancher Kubernetes
  • Сетка VMware Tanzu Kubernetes

Поддерживаемые локации

Конвейер Azure Monitor на периферии поддерживается в следующих регионах Azure:

  • Центральная Канада
  • Восток США2
  • Италия Север
  • Западная часть США2
  • Западная Европа

Дополнительные сведения см. в разделе "Доступность продуктов по регионам"

Предпосылки

Рабочий процесс

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

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

Этап Действие Поддержка конфигурации
1. Клиент отправляет данные в приемник периферийного конвейера. Клиент настраивается с IP-адресом и портом приемного устройства на краю сети и отправляет данные в требуемом формате для данного типа приемника.
2. Получатель перенаправит данные экспортеру. Получатель и экспортер настроены в одном конвейере.
3 Экспортер пытается отправить данные в облачный конвейер. Экспортер в конфигурации конвейера содержит URL-адрес DCE, уникальный идентификатор DCR и поток в DCR, определяющий способ обработки данных.
3a. Экспортер сохраняет данные в локальном кэше, если он не может подключиться к DCE. Постоянный том для кэша и конфигурации локального кэша включен в настройках конвейера.

Подробная схема шагов и компонентов для сбора данных с использованием конвейера Azure Monitor на периферии.

Этап Действие Поддержка конфигурации
4 Облачный конвейер принимает входящие данные. DCR содержит определение схемы для входящего потока, которая должна соответствовать схеме данных, поступающих из конвейерной системы на краю сети.
5 Облачный конвейер применяет преобразование к данным. DCR включает преобразование, которое фильтрует или изменяет данные перед отправкой в место назначения. Преобразование может фильтровать данные, удалять или добавлять столбцы или полностью изменять ее схему. Выходные данные преобразования должны соответствовать схеме целевой таблицы.
6. Облачный конвейер отправляет данные в место назначения. DCR включает назначение, указывающее рабочую область Log Analytics и таблицу, в которой будут храниться данные.

Подробная схема шагов и компонентов для сбора данных с помощью облачного конвейера Azure Monitor.

Сегментированная сеть

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

Схема многоуровневой сети для конвейера Azure Monitor на периферии.

Чтобы использовать конвейер Azure Monitor в многоуровневой конфигурации сети, необходимо добавить следующие записи в список разрешений для кластера Kubernetes с поддержкой Arc. См. статью "Настройка предварительной версии управления сетями с уровнем Интернета вещей Azure" на уровне 4 кластера.

- destinationUrl: "*.ingest.monitor.azure.com"
  destinationType: external
- destinationUrl: "login.windows.net"
  destinationType: external

Создание таблицы в рабочей области Log Analytics

Перед настройкой процесса сбора данных для конвейера на границе необходимо создать таблицу в рабочей области Log Analytics для получения данных. Это должна быть настраиваемая таблица, так как встроенные таблицы в настоящее время не поддерживаются. Схема таблицы должна соответствовать получаемым данным, но в процессе сбора существует несколько шагов, в которых можно изменить входящие данные, поэтому схема таблицы не должна совпадать с исходными данными, которые вы собираете. Единственным требованием для таблицы в рабочей области Log Analytics является наличие столбца TimeGenerated .

См. Добавление или удаление таблиц и столбцов в журналах Azure Monitor для получения подробной информации о различных методах создания таблицы. Например, используйте приведенную ниже команду CLI, чтобы создать таблицу с тремя столбцами, называемыми Body, TimeGeneratedи SeverityText.

az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string

Включение кэша

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

  • Пространство имен метаданных должно совпадать с указанным экземпляром конвейера Azure Monitor.
  • Режим доступа должен поддерживать ReadWriteMany.

После создания тома в соответствующем пространстве имен настройте его с помощью параметров в файле конфигурации конвейера ниже.

Осторожность

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

Данные извлекаются из кэша по принципу первым поступил — первым вышел (FIFO). Все данные старше 48 часов будут удалены.

Включение и настройка конвейера

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

Настройка конвейера с помощью портал Azure

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

Выполните одно из следующих действий в портале Azure, чтобы запустить процесс установки конвейера Azure Monitor:

  • В меню конвейеров Azure Monitor (предварительная версия) нажмите кнопку "Создать".
  • В меню для кластера Kubernetes с поддержкой Arc выберите расширения и добавьте расширение конвейера Azure Monitor (предварительная версия).

Во вкладке "Базовый" будет запрошена следующая информация для развертывания экземпляров расширения и конвейера в вашем кластере.

Снимок экрана: экран создания конвейера Azure Monitor.

Параметры на этой вкладке описаны в следующей таблице.

Недвижимость Описание
Имя экземпляра Имя экземпляра конвейера Azure Monitor. Должен быть уникальным для подписки.
Подписка Подписка Azure для создания экземпляра конвейера.
Группа ресурсов Группа ресурсов для создания экземпляра конвейера.
Имя кластера Выберите кластер Kubernetes с поддержкой Arc, на котором будет установлен конвейер.
Настраиваемое местоположение Настраиваемое местоположение для вашего кластера Kubernetes с поддержкой Arc. Это будет автоматически заполнено именем настраиваемого расположения, которое будет создано для кластера или вы можете выбрать другое пользовательское расположение в кластере.

Вкладка "Поток данных" позволяет создавать и изменять потоки данных для экземпляра конвейера. Каждый поток данных содержит следующие сведения:

Снимок экрана: создание экрана добавления потока данных.

Параметры на этой вкладке описаны в следующей таблице.

Недвижимость Описание
Имя Имя потока данных. Должен быть уникальным для этого конвейера.
Тип источника Тип собираемых данных. В настоящее время поддерживаются следующие типы источников:
— Системный журнал
— OTLP
Порт Порт, который конвейер прослушивает входящие данные. Если два потока данных используют один и тот же порт, они получают и обрабатывают данные.
Рабочая область Log Analytics Рабочая область Log Analytics, в которую отправляются данные.
Имя таблицы Имя таблицы в рабочей области Log Analytics для отправки данных.

Проверка конфигурации

Проверьте выполнение компонентов конвейера в кластере

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

  • <имя конвейера> — внешняя служба
  • <Служба имен> конвейера

Снимок экрана компонентов кластера, поддерживающих конвейер Azure Monitor на периферии.

Щелкните запись о <pipeline> имени external-service и запишите IP-адрес и порт в столбце Endpoints. Это внешний IP-адрес и порт, в который клиенты будут отправлять данные. Сведения о получении этого адреса от клиента см. в статье "Получение конечной точки входящего трафика".

Проверка пульса

Каждый конвейер, настроенный в вашем экземпляре конвейера, будет отправлять запись сигнала активности в таблицу Heartbeat в рабочей области Log Analytics каждую минуту. Содержимое столбца OSMajorVersion должно соответствовать имени экземпляра конвейера. Если в экземпляре конвейера есть несколько рабочих областей, будет использоваться первая настроенная.

Извлеките записи пульса с помощью запроса журнала, как показано в следующем примере:

Снимок экрана: запрос журнала, возвращающий записи пульса для конвейера Azure Monitor на границе.

Конфигурация клиента

После того, как периферийное расширение и экземпляр конвейера установлены, следует настроить клиенты для отправки данных в конвейер.

Получение конечной точки входа

Для каждого клиента требуется внешний IP-адрес службы конвейера Azure Monitor. Используйте следующую команду, чтобы получить этот IP-адрес:

kubectl get services -n <namespace where azure monitor pipeline was installed>
  • Если приложение, создающее журналы, является внешним для кластера, скопируйте значение external-ip для службы < или > с типом балансировщика нагрузки.
  • Если приложение находится в pod в кластере, скопируйте cluster-ip.

Замечание

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

Клиент Описание
Системный журнал Обновите клиенты Syslog, чтобы они отправляли данные в конечную точку канала и порт передачи данных Syslog.
OTLP Граничный конвейер Azure Monitor предоставляет конечную точку OTLP на основе gRPC через порт 4317. Настройка вашей инструментальной платформы для отправки данных в эту конечную точку OTLP будет зависеть от используемой библиотеки инструментирования. Смотрите документацию по конечной точке OTLP или сборщику для OpenTelemetry. Метод переменной среды задокументирован в конфигурации экспортера OTLP.

Проверка данных

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

Снимок экрана: запрос журнала, возвращающий коллекцию Syslog.

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