Прием данных из концентратора событий в Azure Data Explorer

Обозреватель данных Azure — это быстрая и высокомасштабируемая служба для изучения данных журналов и телеметрии. Azure Data Explorer позволяет принимать (загружать) данные из Центров событий, Центра Интернета вещей и больших двоичных объектов, записанных в контейнеры больших двоичных объектов.

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

Общие сведения о приеме данных из концентратора событий в Azure Data Explorer см. в статье Подключение к концентратору событий.

Предварительные требования

Вход на портал Azure

Войдите на портал Azure.

Создание концентратора событий

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

  1. Нажмите следующую кнопку, чтобы начать развертывание и создание концентратора событий. Чтобы закончить выполнение инструкций из этой статьи, щелкните правой кнопкой мыши и выберите ссылку Открыть в новом окне.

    Кнопка развертывания в Azure.

    Кнопка Развернуть в Azure выполняет переход на портал Azure для заполнения формы развертывания.

    Форма создания концентратора событий.

  2. Выберите подписку, в которой нужно создать концентратор событий, и создайте группу ресурсов с именем test-hub-rg.

    Создайте группу ресурсов.

  3. Заполните форму, указав следующую информацию.

    Форма развертывания.

    Используйте значения по умолчанию для всех параметров, отсутствующих в следующей таблице.

    Параметр Рекомендуемое значение Описание поля
    Подписка Ваша подписка Выберите подписку Azure, которую нужно использовать для своего концентратора событий.
    Группа ресурсов test-hub-rg Создайте новую группу ресурсов.
    Расположение западная часть США Для работы над этой статьей выберите Западная часть США. Для производственной системы выберите регион, лучше всего соответствующий вашим потребностям. Создайте пространство имен концентратора событий в одном расположении с кластером Kusto, чтобы обеспечить оптимальную производительность (крайне важно для пространств имен концентраторов событий с высокой пропускной способностью).
    Имя пространства имен Уникальное имя пространства имен Выберите уникальное имя, идентифицирующее пространство имен. Например, mytestnamespace. К введенному имени добавляется имя домена servicebus.windows.net. Имя может содержать только буквы, цифры и дефисы. Имя должно начинаться с буквы или цифры и заканчиваться буквой или цифрой. Длина значения в символах должна быть от 6 до 50.
    Имя концентратора событий test-hub Концентратор событий находится в пространстве имен, предоставляющем уникальный контейнер области. Имя концентратора событий должно быть уникальным в пределах пространства имен.
    Имя группы потребителей test-group Группы получателей событий позволяют каждому из нескольких получающих события приложений иметь отдельное представление потока событий.
  4. Выберите Купить, что подтверждает создание ресурсов в вашей подписке.

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

    Значок уведомлений.

Создание целевой таблицы в обозревателе данных Azure

Теперь создадим таблицу в обозревателе данных Azure, в которые концентраторы событий будут отправлять данные. Таблица создается в кластере и базе данных, представленных в разделе Необходимые компоненты.

  1. Войдите на портал Azure, перейдите в свой кластер и выберите Запрос.

    Ссылка на запрос.

  2. Скопируйте следующую команду в окно и выберите Выполнить, чтобы создать таблицу (TestTable), которая будет принимать входящие данные.

    .create table TestTable (TimeStamp: datetime, Name: string, Metric: int, Source:string)
    

    Выполнение запроса на создание.

  3. Скопируйте следующую команду в окно и выберите Выполнить для сопоставления входящих данных JSON с именами столбцов и типами данных таблицы (TestTable).

    .create table TestTable ingestion json mapping 'TestMapping' '[{"column":"TimeStamp", "Properties": {"Path": "$.timeStamp"}},{"column":"Name", "Properties": {"Path":"$.name"}} ,{"column":"Metric", "Properties": {"Path":"$.metric"}}, {"column":"Source", "Properties": {"Path":"$.source"}}]'
    

Подключение к концентратору событий

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

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

  2. В созданном кластере выберите Базы данных, затем TestDatabase.

    Выбор тестовой базы данных.

  3. Выберите Прием данных и Добавить подключение к данным.

    Выбор приема данных и добавления подключения к данным в концентраторе событий в Azure Data Explorer.

Создание подключения к данным

  1. Заполните форму, указав следующую информацию.

    Область подключения к данным в концентраторе событий в Azure Data Explorer.

    Параметр Рекомендуемое значение Описание поля
    Имя подключения к данным test-hub-connection Имя создаваемого подключения к обозревателю данных Azure.
    Подписка Идентификатор подписки, в которой размещается ресурс концентратора событий.
    пространство имен концентратора событий; Уникальное имя пространства имен Имя, выбранное ранее и определяющее пространство имен.
    Концентратор событий test-hub Созданный концентратор событий.
    Группа потребителей test-group Группа потребителей, определенная в созданном концентраторе событий.
    Свойства системы событий Выбор необходимых свойств Системные свойства концентратора событий. При добавлении системных свойств выполните создание или обновление схемы таблицы, а также сопоставление, чтобы добавить выбранные свойства. Дополнительные сведения об ограничениях системных свойств см. в разделе Сопоставление свойств системы событий.
    Сжатие Нет Тип сжатия полезных данных сообщений концентратора событий. Поддерживаемые типы сжатия: нет, GZip.

Целевая таблица

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

  1. Заполните следующие параметры маршрутизации:

    Параметры маршрутизации по умолчанию для приема данных в концентраторе событий в Azure Data Explorer.

    Параметр Рекомендуемое значение Описание поля
    Имя таблицы TestTable Таблица, созданная в базе данных TestDatabase.
    Формат данных JSON Поддерживаются форматы: Avro, CSV, JSON, MULTILINE JSON, ORC, PARQUET, PSV, SCSV, SOHSV, TSV, TXT, TSVE, APACHEAVRO и W3CLOG.
    Сопоставление TestMapping Сопоставление, созданное в таблице TestDatabase, которое сопоставляет входящие данные с именами столбцов и типами данных TestTable. Является обязательным для JSON, MULTILINE JSON и AVRO и необязательным для других форматов.

    Примечание

    • Вы не обязаны указывать все значения для параметров маршрутизации по умолчанию. Принимаются также частично заполненные параметры.
    • Принимаются только события, поставленные в очередь после создания подключения к данным.
  2. Нажмите кнопку создания.

Сопоставление свойств системы событий

Примечание

  • Системные свойства поддерживаются для json и табличных форматов (csv, tsv и т. д.) и не поддерживаются для сжатых данных. При использовании неподдерживаемого формата данные по-прежнему будут приняты, но свойства будут игнорироваться.
  • Для табличных данных системные свойства поддерживаются только для сообщений о событиях с одной записью.
  • Для данных JSON системные свойства также поддерживаются для сообщений о событиях с несколькими записями. В таких случаях системные свойства добавляются только к первой записи сообщения о событии.
  • При сопоставлении в формате csv свойства добавляются в начало записи в порядке, определенном в таблице Системные свойства.
  • При сопоставлении в формате json свойства добавляются в соответствии с именами свойств, указанных в таблице Системные свойства.

Если вы выбрали в разделе Источник данных таблицы пункт Свойства системы событий, необходимо добавить системные свойства в схему и сопоставление таблицы.

Копирование строки подключения

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

  1. В созданном пространстве имен концентратора событий выберите Политики общего доступа, затем RootManageSharedAccessKey.

    Политики общего доступа.

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

    Строка подключения.

Создание примера данных

Используйте пример приложения, загруженный для создания данных.

  1. Откройте решение для примера приложения в Visual Studio.

  2. В файле program.cs замените константу eventHubName именем вашего концентратора событий, а константу connectionString — строкой подключения, скопированной из пространства имен концентратора событий.

    const string eventHubName = "test-hub";
    // Copy the connection string ("Connection string-primary key") from your Event Hub namespace.
    const string connectionString = @"<YourConnectionString>";
    
  3. Выполните сборку и запуск приложения. Приложение отправляет сообщения в концентратор событий, и он печатает состояние каждые десять секунд.

  4. После отправки приложением нескольких сообщений перейдите к следующему шагу: просмотрите поток данных, поступающий в концентратор событий центра и тестовую таблицу.

Просмотр потока данных

Теперь, когда приложение создает данные, вы можете просмотреть поток данных, поступающих из концентратора событий в таблицу в кластере.

  1. На портале Azure, в разделе своего концентратора событий, во время работы приложения появится пик активности.

    График концентратора событий.

  2. Чтобы проверить, сколько сообщений поступило в базу данных к этому моменту, выполните следующий запрос в тестовой базе данных.

    TestTable
    | count
    
  3. Чтобы увидеть содержимое сообщений, выполните следующий запрос:

    TestTable
    

    Результат должен выглядеть примерно так:

    Результирующий набор сообщений.

    Примечание

    • В Azure Data Explorer настроена политика агрегирования (пакетной обработки) для приема данных, предназначенных для оптимизации процесса. Политика пакетной обработки по умолчанию настроена на запечатывание пакета при выполнении одного из следующих условий: превышено максимальное время задержки в 5 минут, превышен общий размер в 1 ГБ или превышено количество в 1000 больших двоичных объектов. В связи с этим может возникнуть задержка. Дополнительные сведения см. на странице о политике пакетной обработки.
    • Прием данных концентратора событий содержит время отклика концентратора событий, равное 10 секундам или 1 МБ.
    • Настройте таблицу таким образом, чтобы она поддерживала потоковую передачу и устраняла задержку во времени отклика. См. статью Политика потоковой передачи.

Очистка ресурсов

Если не планируется повторно использовать концентратор событий, очистите test-hub-rg, чтобы избежать взимания оплаты.

  1. На портале Azure выберите Группа ресурсов слева, а затем выберите созданную группу ресурсов.

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

    Выбор удаляемой группы ресурсов.

  2. В разделе test-resource-group выберите Удалить группу ресурсов.

  3. В новом окне введите имя удаляемой группы ресурсов (test-hub-rg) и нажмите кнопку Удалить.

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