Доступ к журналам диагностики для Azure Data Lake Analytics

Важно!

Поддержка Azure Data Lake Analytics прекращена 29 февраля 2024 г. Дополнительные сведения см. в этом объявлении.

Для аналитики данных ваша организация может использовать Azure Synapse Analytics или Microsoft Fabric.

Журнал ведения диагностики позволяет собирать аудиторские следы, связанные с доступом к данным. Эти журналы содержат такие сведения:

  • список пользователей, которые получали доступ к данным;
  • частота доступа к данным;
  • объем данных, хранящихся в учетной записи.

Включение ведения журналов

  1. Выполните вход на портал Azure.

  2. Откройте учетную запись Data Lake Analytics и выберите Параметры диагностики в разделе Мониторинг. Затем выберите + Добавить параметр диагностики.

    Снимок экрана: выбранное действие

  3. В разделе Параметры диагностики введите имя для этой конфигурации ведения журнала, а затем выберите параметры ведения журнала.

    Снимок экрана: параметры для включения диагностика для сбора журналов аудита и запросов

    • Вы можете хранить и обрабатывать данные четырьмя разными способами.

      • Выберите Archive to a storage account (Архивация в учетную запись хранения), чтобы сохранять журналы в учетную запись хранения Azure. Этот параметр следует использовать, если вы хотите архивировать данные. Если выбран этот параметр, то необходимо указать учетную запись хранения Azure для сохранения журналов.

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

      • Выберите Отправить в рабочую область Log Analytics , чтобы отправить данные в службу Azure Monitor. Используйте этот вариант, если вы хотите использовать журналы Azure Monitor для сбора и анализа журналов.

      • Выберите отправить в партнерское решение , если вы хотите использовать интеграцию с нашим партнером. Дополнительные сведения см. по этой ссылке.

    • Укажите, что вы хотите получать: журналы аудита, журналы запросов либо и те, и другие журналы. В журнал запросов записываются все запросы API, а в журнал аудита — все операции, активируемые запросами API.

    • Для параметра Архивировать в учетной записи хранения укажите срок хранения данных в днях.

    • Щелкните Сохранить.

      Примечание

      Перед нажатием кнопки Сохранить необходимо выбрать Архивировать в учетную запись хранения, Stream в концентратор событий, Отправить в рабочую область Log Analytics или Отправить в партнерское решение.

Использование учетной записи службы хранилища Azure, в которой хранятся данные

  1. Чтобы отобразить контейнеры BLOB-объектов, которые содержат данные ведения журнала, откройте учетную запись хранения Azure, используемую для Data Lake Analytics для ведения журнала, а затем выберите Контейнеры.

    • В контейнере insights-logs-audit содержатся журналы аудита.
    • В контейнере insights-logs-requests содержатся журналы запросов.
  2. Журналы в контейнерах хранятся в такой структуре файлов:

    resourceId=/
      SUBSCRIPTIONS/
        <<SUBSCRIPTION_ID>>/
          RESOURCEGROUPS/
            <<RESOURCE_GRP_NAME>>/
              PROVIDERS/
                MICROSOFT.DATALAKEANALYTICS/
                  ACCOUNTS/
                    <DATA_LAKE_ANALYTICS_NAME>>/
                      y=####/
                        m=##/
                          d=##/
                            h=##/
                              m=00/
                                PT1H.json
    

    Примечание

    В колонке ## в пути обозначают год, месяц, день и час создания журнала. Служба Data Lake Analytics создает один файл каждый час, поэтому параметр m= всегда содержит значение 00.

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

    https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=04/m=00/PT1H.json

    Аналогично, полный путь к журналу запросов может выглядеть так:

    https://adllogs.blob.core.windows.net/insights-logs-requests/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=14/m=00/PT1H.json

Обработка данных журнала

В Azure Data Lake Analytics есть пример обработки и анализа данных журнала. Этот пример можно найти по адресу https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.

Структура журнала

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

Журналы запросов

Ниже приведен пример записи журнала запросов в формате JSON. Каждый большой двоичный объект имеет один корневой объект под названием records , который содержит массив объектов журнала.

{
"records":
  [
    . . . .
    ,
    {
         "time": "2016-07-07T21:02:53.456Z",
         "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_analytics_account_name>",
         "category": "Requests",
         "operationName": "GetAggregatedJobHistory",
         "resultType": "200",
         "callerIpAddress": "::ffff:1.1.1.1",
         "correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
         "identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
         "properties": {
             "HttpMethod":"POST",
             "Path":"/JobAggregatedHistory",
             "RequestContentLength":122,
             "ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8",
             "StartTime":"2016-07-07T21:02:52.472Z",
             "EndTime":"2016-07-07T21:02:53.456Z"
             }
    }
    ,
    . . . .
  ]
}

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

Имя Тип Описание
time Строка Метка времени журнала (в формате UTC).
resourceId Строка Идентификатор ресурса, с которым была выполнена операция
категория Строка Категория журнала. Например, Requests.
operationName Строка Имя операции, добавленной в журнал. Например, GetAggregatedJobHistory.
resultType Строка Состояние операции. Например, 200.
callerIpAddress Строка IP-адрес клиента, отправившего запрос.
correlationId Строка Идентификатор журнала. С помощью этого значения можно группировать связанные записи журнала.
удостоверение Объект Идентификатор, для которого был создан журнал.
properties JSON Дополнительные сведения см. в следующем разделе ("Схема свойств журнала запросов").

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

Имя Тип Описание
HttpMethod Строка Метод HTTP, использованный для операции. Например, GET.
Путь Строка Путь выполнения операции.
RequestContentLength INT Длина содержимого HTTP-запроса.
ClientRequestId Строка Идентификатор, однозначно определяющий данный запрос.
StartTime Строка Время, когда сервер получил запрос.
EndTime Строка Время отправки ответа сервером

Журналы аудита

Ниже приведен пример записи журнала аудита в формате JSON. Каждый большой двоичный объект имеет один корневой объект под названием records , который содержит массив объектов журнала.

{
"records":
  [
    {
         "time": "2016-07-28T19:15:16.245Z",
         "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_ANALYTICS_account_name>",
         "category": "Audit",
         "operationName": "JobSubmitted",
         "identity": "user@somewhere.com",
         "properties": {
             "JobId":"D74B928F-5194-4E6C-971F-C27026C290E6",
             "JobName": "New Job",
             "JobRuntimeName": "default",
             "SubmitTime": "7/28/2016 7:14:57 PM"
             }
    }
  ]
}

Схема журнала аудита

Имя Тип Описание
time Строка Метка времени журнала (в формате UTC).
resourceId Строка Идентификатор ресурса, с которым была выполнена операция
категория Строка Категория журнала. Например, Audit.
operationName Строка Имя операции, добавленной в журнал. Например, JobSubmitted.
resultType Строка Подсостояние состояния задания (operationName).
resultSignature Строка Дополнительные сведения о состоянии задания (operationName).
удостоверение Строка Пользователь, который запросил операцию. Например, susan@contoso.com.
properties JSON Дополнительные сведения см. в следующем разделе ("Схема свойств журнала аудита").

Примечание

Свойства resultType и resultSignature содержат сведения о результате операции. У них есть значение, только если операция завершена. К примеру, у них есть значение, только если у свойства operationName есть значение JobStarted или JobEnded.

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

Имя Тип Описание
JobId Строка Идентификатор, присвоенный заданию.
JobName Строка Имя, указанное для задания.
JobRunTime Строка Среда выполнения, используемая для обработки задания.
SubmitTime Строка Время отправки задания (в формате UTC).
StartTime Строка Время начала выполнения задания после отправки (в формате UTC).
EndTime Строка Время завершения задания.
Parallelism Строка Количество единиц Data Lake Analytics, запрошенных для этого задания во время отправки.

Примечание

SubmitTime, StartTime, EndTime и Parallelism предоставляют сведения об операции. У этих записей есть значение только в том случае, если операция уже началась или завершилась. Например, у свойства SubmitTime значение появляется только после того, как свойство operationName получает значение JobSubmitted.

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