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

Преобразования приема позволяют фильтровать или изменять входящие данные, прежде чем они хранятся в рабочей области Log Analytics. В этой статье объясняется, как написать запрос KQL, который преобразует данные текстового журнала и добавляет преобразование в правило сбора данных.

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

  1. Напишите запрос KQL для преобразования приема данных.
  2. Измените схему целевой таблицы.
  3. Добавьте преобразование в правило сбора данных.
  4. Убедитесь, что преобразование работает правильно.

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

Чтобы выполнить эту процедуру, вам потребуется:

  • Рабочая область Log Analytics, в которой у вас есть как минимум права участника.
  • Правило сбора данных, конечная точка сбора данных и настраиваемая таблица, как описано в разделе "Сбор текстовых журналов с помощью агента Azure Monitor".
  • Виртуальная машина, масштабируемый набор виртуальных машин или локальный сервер с поддержкой Arc, который записывает журналы в текстовый файл. Требования к текстовым файлам:
    • Храните на локальном диске компьютера, на котором запущен агент Azure Monitor.
    • Очертить конец строки.
    • Используйте кодировку ASCII или UTF-8. Другие форматы, например, UTF-16, не поддерживаются.
    • Не разрешайте циклическое ведение журнала, поворот журнала, в котором файл перезаписан новыми записями, или переименование, в котором перемещается файл, и открывается новый файл с тем же именем.

Создание запроса KQL для преобразования приема данных

  1. Просмотрите данные в целевой пользовательской таблице в Log Analytics:

    1. В портал Azure выберите рабочие области Log Analytics в журналах рабочей области >>Log Analytics.
    2. Выполните базовый запрос к пользовательской таблице журналов для просмотра данных таблицы.
  2. Используйте окно запроса для записи и тестирования запроса, который преобразует необработанные данные в таблице.

    Сведения о операторах KQL, которые поддерживают преобразования, см. в разделе "Структура преобразования" в Azure Monitor.

    Примечание.

    Единственными столбцами, доступными для применения преобразований, являются TimeGenerated и RawData. Другие столбцы добавляются в таблицу автоматически после преобразования и недоступны во время преобразования. Столбец _ResourceId нельзя использовать в преобразовании.

    Пример

    В примере используются базовые операторы KQL для анализа данных в столбце RawData с тремя новыми столбцами, называемыми Time Ingested, RecordNumberи RandomContent:

    • Оператор extend добавляет новые столбцы.
    • Оператор project форматирует выходные данные для сопоставления столбцов целевой схемы таблицы:
    MyTable_CL
    | extend d=todynamic(RawData)  
    | project TimeGenerated,TimeIngested=tostring(d.Time), 
    RecordNumber=tostring(d.RecordNumber), 
    RandomContent=tostring(d.RandomContent), 
    RawData 
    

    Примечание.

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

  3. Отформатируйте запрос в одну строку и замените имя таблицы в первой строке запроса словом source.

    Например:

    source | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time),RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData 
    
  4. Скопируйте форматированный запрос, чтобы вставить его в конфигурацию правила сбора данных.

Измените настраиваемую таблицу, чтобы включить новые столбцы

Добавьте или удалите столбцы в настраиваемой таблице на основе запроса преобразования.

Приведенный выше пример запроса преобразования добавляет три новых столбца типа string:

  • TimeIngested
  • RecordNumber
  • RandomContent

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

Снимок экрана: область редактора схемы с определенными столбцами TimeIngested, RecordNumber и RandomContent.

Применение преобразования к правилу сбора данных

  1. В меню "Монитор" выберите "Правила сбора данных"> правило сбора данных.

  2. Выберите источники> данных в источнике данных.

  3. Вставьте форматированный запрос преобразования в поле "Преобразование" на вкладке "Источник данных" экрана "Добавить источник данных".

  4. Выберите Сохранить.

    Снимок экрана: панель

Убедитесь, что преобразование работает

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

  1. В портал Azure выберите рабочие области Log Analytics в журналах рабочей области >>Log Analytics.
  2. Выполните базовый запрос к пользовательской таблице журналов для просмотра данных таблицы.

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

См. также: