Мониторинг приема данных, команд, запросов и таблиц Azure Data Explorer с помощью журналов диагностики

Azure Data Explorer — это быстрая и полностью управляемая служба для аналитики большого объема потоковых данных в реальном времени, поступающих из приложений, а также с веб-сайтов, устройств Интернета вещей и т. д. Журналы диагностики Azure Monitor предоставляют данные о работе ресурсов Azure. Azure Data Explorer использует журналы диагностики для анализа приема данных, команд, запросов и таблиц. Можно экспортировать журналы операций в Хранилище Azure, Концентратор событий или Log Analytics для мониторинга состояния приема данных, команд и запросов. Журналы из Хранилища Azure и Концентратора событий Azure можно направить в таблицу в кластере Azure Data Explorer для дальнейшего анализа.

Важно!

Данные журнала диагностики могут содержать конфиденциальные данные. Ограничьте разрешения мест назначения журналов в соответствии с вашими требованиями для выполнения мониторинга.

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

Настройка журналов диагностики для кластера Azure Data Explorer

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

Примечание

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

Журналы приема данных не поддерживаются для потоковой передачи, прямого приема в обработчик, приема из запроса или команд set-or-append.

Примечание

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

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

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

Включение журналов диагностики

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

  1. На портале Azure выберите ресурс кластера Azure Data Explorer, для которого требуется выполнить мониторинг.

  2. В разделе Мониторинг выберите Параметры диагностики.

    Добавьте журналы диагностики.

  3. Выберите Добавить параметр диагностики.

  4. В окне Параметры диагностики выполните следующее.

    Настройте параметры диагностики.

    1. Укажите Имя параметра диагностики.
    2. Выберите одну или несколько целей: рабочую область Log Analytics, учетную запись для хранения или Концентратор событий.
    3. Выберите журналы для сбора: SucceededIngestion, FailedIngestion, IngestionBatching, Command или Query, TableUsageStatistics или TableDetails.
    4. Выберите метрики для сбора (необязательно).
    5. Нажмите кнопку Сохранить, чтобы сохранить новые параметры журналов диагностики и метрик.

Новые параметры вступят в силу через несколько минут. Затем журналы отобразятся в настроенном целевом объекте архивации (учетная запись для хранения, Концентратор событий или Log Analytics).

Примечание

Если вы отправляете журналы в Log Analytics, журналы SucceededIngestion, FailedIngestion, IngestionBatching, Command, Query, TableUsageStatistics и TableDetails будут сохранены в таблицах Log Analytics с именами SucceededIngestion, FailedIngestion, ADXIngestionBatching, ADXCommand, ADXQuery, ADXTableUsageStatistics и ADXTableDetails соответственно.

Схема журналов диагностики

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

Схема журналов приема данных

Строки журнала JSON включают в себя элементы, перечисленные в следующей таблице.

Имя Описание
time Время отчета
resourceId Идентификатор ресурса Azure Resource Manager
operationName Имя операции: 'MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION'
operationVersion Версия схемы: '1.0'
категория Категория операции. SucceededIngestion, FailedIngestion или IngestionBatching. Свойства различаются для успешной операции, неудачной операции или операции пакетной обработки.
properties Подробные сведения об операции.

Журнал успешных операций приема данных

Пример.

{
    "time": "2019-05-27 07:55:05.3693628",
    "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
    "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION",
    "operationVersion": "1.0",
    "category": "SucceededIngestion",
    "properties":
    {
        "SucceededOn": "2019-05-27 07:55:05.3693628",
        "OperationId": "b446c48f-6e2f-4884-b723-92eb6dc99cc9",
        "Database": "Samples",
        "Table": "StormEvents",
        "IngestionSourceId": "66a2959e-80de-4952-975d-b65072fc571d",
        "IngestionSourcePath": "https://kustoingestionlogs.blob.core.windows.net/sampledata/events8347293.json",
        "RootActivityId": "d0bd5dd3-c564-4647-953e-05670e22a81d"
    }
}

Свойства журнала диагностики успешных операций

Имя Описание
SucceededOn Время завершения приема данных
OperationId Идентификатор операции приема данных в Azure Data Explorer
База данных Имя целевой базы данных
Таблица Имя целевой таблицы
IngestionSourceId Идентификатор источника данных для приема
IngestionSourcePath Путь источника данных для приема или универсальный код ресурса большого двоичного объекта
RootActivityId Идентификатор действия

Журнал неудачных операций приема данных

Пример.

{
    "time": "2019-05-27 08:57:05.4273524",
    "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
    "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGEST/ACTION",
    "operationVersion": "1.0",
    "category": "FailedIngestion",
    "properties":
    {
        "failedOn": "2019-05-27 08:57:05.4273524",
        "operationId": "5956515d-9a48-4544-a514-cf4656fe7f95",
        "database": "Samples",
        "table": "StormEvents",
        "ingestionSourceId": "eee56f8c-2211-4ea4-93a6-be556e853e5f",
        "ingestionSourcePath": "https://kustoingestionlogs.blob.core.windows.net/sampledata/events5725592.json",
        "rootActivityId": "52134905-947a-4231-afaf-13d9b7b184d5",
        "details": "Permanent failure downloading blob. URI: ..., permanentReason: Download_SourceNotFound, DownloadFailedException: 'Could not find file ...'",
        "errorCode": "Download_SourceNotFound",
        "failureStatus": "Permanent",
        "originatesFromUpdatePolicy": false,
        "shouldRetry": false
    }
}

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

Название Описание
FailedOn Время завершения приема данных
OperationId Идентификатор операции приема данных в Azure Data Explorer
База данных Имя целевой базы данных
Таблица Имя целевой таблицы
IngestionSourceId Идентификатор источника данных для приема
IngestionSourcePath Путь источника данных для приема или универсальный код ресурса большого двоичного объекта
RootActivityId Идентификатор действия
Сведения Подробное описание ошибки и сообщения об ошибке
ErrorCode Код ошибки приема данных
FailureStatus Permanent или RetryAttemptsExceeded указывает на то, что количество попыток выполнения операции превысило предел попыток повторения или ограничение TimeSpan после повторяющейся временной ошибки.
OriginatesFromUpdatePolicy Значение true, если ошибка возникает как результат применения политики обновления
ShouldRetry Значение true, если повторная попытка может быть выполнена успешно

Журнал операций пакетного приема данных

Пример.

{
  "resourceId": "/SUBSCRIPTIONS/12534000-8109-4D84-83AD-576C0D5E1AAA/RESOURCEGROUPS/myResourceGroup/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/mycluster",
  "time": "2021-04-18T19:19:57.0211782Z",
  "operationVersion": "1.0",
  "operationName": "MICROSOFT.KUSTO/CLUSTERS/INGESTIONBATCHING/ACTION",
  "category": "IngestionBatching",
  "correlationId": "2bb51038-c7dc-4ebd-9d7f-b34ece4cb735",
  "properties": {
    "Timestamp": "2021-04-18T19:19:57.0211782Z",
    "Database": "Samples",
    "Table": "StormEvents",
    "BatchingType": "Time",
    "SourceCreationTime": "2021-04-18T19:14:53.9543732Z",
    "BatchTimeSeconds": 302.1449075,
    "BatchSizeBytes": 3988,
    "DataSourcesInBatch": 2,
    "RootActivityId": "2bb51038-c7dc-4ebd-9d7f-b34ece4cb735"
  }
}

Свойства журнала диагностики операций пакетного приема данных

Название Описание
Отметка времени Время создания отчета о пакетной обработке
База данных Имя базы данных, в которой содержится целевая таблица
Таблица Имя целевой таблицы, в которую принимаются данные
BatchingType Триггер для запечатывания пакета. Полный список типов пакетной обработки см. в разделе Типы пакетной обработки.
SourceCreationTime Минимальное время (в формате UTC) создания больших двоичных объектов в этом пакете
BatchTimeSeconds Общее время пакетной обработки этого пакета (в секундах)
BatchSizeBytes Общий размер несжатых данных в этом пакете (в байтах)
DataSourcesInBatch Количество источников данных в этом пакете
RootActivityId Идентификатор действия операции

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