Устранение неполадок в Azure Stream Analytics с помощью журналов ресурсов

В некоторых случаях обработка задания Azure Stream Analytics неожиданно прекращается. Очень важно иметь возможность устранения подобных проблем. Сбои могут случиться из-за непредвиденного результата запроса, подключения к устройствам или неожиданного сбоя службы. Журналы ресурсов в Stream Analytics могут помочь определить причину проблемы и ускорить восстановление.

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

Типы журналов

Stream Analytics предоставляет журналы двух типов:

  • журналы действий (всегда включены), содержащие ценные сведения об операциях, выполняемых в заданиях;

  • журналы ресурсов (настраиваемые) с подробными сведениями обо всех событиях в задании. Журналы ресурсов начинают регистрировать данные при создании задания и прекращают при его удалении. Они фиксируют события при обновлении и выполнении задания.

Примечание.

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

Примечание.

Сведения из данной статьи были недавно обновлены. Теперь вместо термина "Log Analytics" используется термин "журналы Azure Monitor". Данные журнала по-прежнему хранятся в рабочей области Log Analytics, собираются и анализируются той же службой Log Analytics. Целью обновления терминологии является лучшее отражение роли журналов в Azure Monitor. Дополнительные сведения см. в статье Изменения фирменной символики Azure Monitor.

Отладка с помощью журналов действий

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

  1. Войдите на портал Azure в разделе Обзор и выберите Журнал действий.

    Журнал действий Stream Analytics

  2. Отобразится список выполненных операций. Рядом с любой операцией, которая вызвала сбой вашего задания, есть красный информационный пузырек.

  3. Выберите операцию, чтобы просмотреть его сводное представление. Информация здесь часто ограничена. Чтобы узнать больше об операции, выберите JSON.

    Сводка операции журнала действий Stream Analytics

  4. Прокрутите вниз до раздела Свойства в JSON, который предоставляет сведения об ошибке, вызвавшей неудавшуюся операцию. В этом примере ошибка произошла из-за ошибки времени выполнения и превышения значений широты. Несоответствие данных, обрабатываемых заданием Stream Analytics, приводит к ошибке данных. Вы можете узнать о различных ошибках входных и выходных данных и о причинах их возникновения.

    Сведения об ошибке JSON

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

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

Отправка диагностических сведений в журналы Azure Monitor

Настоятельно рекомендуется включить журналы ресурсов и настроить их отправку в журналы Azure Monitor. Они отключены по умолчанию. Чтобы их включить, выполните следующие действия.

  1. Создайте рабочую область Log Analytics, если она еще не создана. Рекомендуется использовать рабочую область Log Analytics в том же регионе, что и задание Stream Analytics.

  2. Войдите на портал Azure и перейдите к заданию Stream Analytics. В разделе Мониторингвыберите Журналы диагностики. Затем выберите Turn on diagnostics (Включить диагностику).

    Переход к группе ресурсов по колонке

  3. Укажите имя в поле Имя параметров диагностики и установите флажки Выполнение и Разработка в разделе журналов, а также флажок Все показатели в разделе метрик. Затем выберите Отправить в Log Analytics и укажите рабочую область. Выберите Сохранить.

    Параметры для журналов ресурсов

  4. При запуске задания Stream Analytics журналы ресурсов направляются в рабочую область Log Analytics. Чтобы просмотреть журналы ресурсов для задания, выберите Журналы в разделе Мониторинг.

    На снимке экрана показано меню “Общие” с выбранным пунктом “Журналы”.

  5. Stream Analytics предоставляет предопределенные запросы, которые позволяют легко искать нужные журналы. Вы можете выбрать все предопределенные запросы на левой панели, а затем нажать кнопку "Выполнить". Результаты запроса отображаются на нижней панели.

    На снимке экрана показаны журналы для задания Stream Analytics.

Категории журналов ресурсов

Azure Stream Analytics захватывает две категории журналов ресурсов:

  • Разработка — записывает в журналы события, связанные с операциями разработки заданий, такими как создание задания, добавление и удаление входных и выходных данных, добавление и обновление запроса, запуск и остановка задания.

  • Выполнение — записывает в журнал события, происходящие во время выполнения задания:

    • Ошибки подключения.
    • Ошибки обработки данных, в том числе:
      • события, которые не соответствуют определению запроса (несовпадение типов полей и значений, отсутствие полей и т. п.);
      • ошибки оценки выражений.
    • Другие события и ошибки.

Схема журналов ресурсов

Все журналы хранятся в формате JSON. Каждая запись содержит следующие общие строковые поля.

Имя Описание
Время Метка времени журнала (в формате UTC).
resourceId Идентификатор ресурса (прописными буквами), с которым была выполнена операция. Содержит идентификатор подписки, группу ресурсов и имя задания. Например, /SUBSCRIPTIONS/6503D296-DAC1-4449-9B03-609A1F4A1C87/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.STREAMANALYTICS/STREAMINGJOBS/MYSTREAMINGJOB.
Категория Категория журнала, Выполнение или Разработка.
operationName Имя операции, добавленной в журнал. Например, Send Events: SQL Output write failure to mysqloutput (События отправки: ошибка записи выходных данных SQL в mysqloutput).
статус Состояние операции. Например, Сбой или Успешно выполнено.
level Уровень ведения журнала. Например, Ошибка, Предупреждение или Информация.
свойства Сведения о записи журнала, сериализованные в строку JSON. Дополнительные сведения приведены в следующем разделе этой статьи.

Схема свойств журнала выполнения

Журналы выполнения содержат сведения о событиях, произошедших при выполнении задания Stream Analytics. Схема свойств зависит от того, является ли событие ошибкой данных или универсальным событием.

Ошибки данных

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

Имя Описание
Исходный код Имя входных или выходных данных задания, в которых произошла ошибка.
Сообщение Сообщение, связанное с ошибкой.
Тип Тип ошибки. Например DataConversionError, CsvParserError или ServiceBusPropertyColumnMissingError.
Data Содержит данные, полезные для точного поиска источника ошибки. Значение может быть усечено в зависимости от размера.

В зависимости от значения operationName ошибки данных имеют следующую схему:

  • Сериализация событий: эти ошибки возникают во время операций чтения события. Они возникают, когда данные во входных данных не удовлетворяют схеме запроса по одной из следующих причин:

    • Несоответствие типов во время сериализации или десериализации событий: определяет поле, вызывающее ошибку.

    • Не удается прочитать событие, недопустимую сериализацию: выводит сведения о расположении в входных данных, в которых произошла ошибка. (имя входного большого двоичного объекта, смещение и примеры данных).

  • Отправка событий: эти ошибки возникают при выполнении операций записи. Они определяют событие потоковой передачи, вызвавшее ошибку.

Универсальные события

Остальные типы ошибок считаются универсальными событиями.

Имя Описание
Ошибка (Необязательно.) Сведения об ошибке. Как правило, это сведения об исключении, если они доступны.
Сообщение Сообщение журнала.
Тип Тип сообщения. Сопоставляется с внутренней классификацией ошибок. Например JobValidationError или BlobOutputAdapterInitializationFailure.
Идентификатор корреляции Идентификатор GUID, однозначно определяющий выполнение задания. Все записи журнала, зафиксированные с начала до завершения задания, имеют одинаковое значение идентификатора корреляции.

Дополнительные сведения см. в списке всех типов категорий журналов ресурсов, поддерживаемых в Azure Monitor или всех типах категорий журналов ресурсов, собранных для Azure Stream Analytics.

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