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

Узнайте, как включить ведение журнала диагностики для учетной записи Azure Data Lake Storage 1-го поколения и просмотреть журналы, собранные для вашей учетной записи.

Организации могут включить ведение журнала диагностики для аккаунта Azure Data Lake Storage Первого Поколения, чтобы собирать журналы аудита доступа к данным, предоставляющие такие сведения, как список пользователей, получивших доступ к данным, частота доступа, объем данных, хранящихся в аккаунте, и т. д. После включения диагностические данные и/или запросы регистрируются на основе наилучших усилий. Запросы и диагностика записываются в журнал только в том случае, если выполняются запросы к конечной точке службы.

Предпосылки

Включение ведения журнала диагностики для учетной записи Data Lake Storage 1-го поколения

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

  2. Откройте учетную запись Data Lake Storage Gen1 и на панели учетной записи Data Lake Storage Gen1 щелкните Параметры диагностики.

  3. В колонке параметров диагностики нажмите кнопку "Включить диагностику".

    Снимок экрана учетной записи Data Lake Storage Gen 1 с выделенными параметром настройки диагностики и параметром

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

    Снимок экрана: раздел

    • В поле "Имя" введите значение конфигурации журнала диагностики.

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

      • Выберите параметр "Архивировать в учетную запись хранения ", чтобы сохранить журналы в учетной записи хранения Azure. Этот параметр используется, если вы хотите архивировать данные, которые будут обработаны пакетной обработкой на более позднюю дату. Если этот параметр выбран, необходимо предоставить учетную запись хранения Azure, чтобы сохранить журналы.

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

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

    • Укажите, хотите ли вы получать журналы аудита или запрашивать журналы или оба.

    • Укажите количество дней, для которых должны храниться данные. Хранение применяется только в том случае, если вы используете учетную запись хранения Azure для архивирования данных журнала.

    • Нажмите кнопку Сохранить.

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

Просмотр журналов диагностики для учетной записи Data Lake Storage 1-го поколения

Существует два способа просмотра данных журнала для учетной записи Data Lake Storage 1-го поколения.

  • В представлении параметров учетной записи Data Lake Storage Gen1
  • Из учетной записи хранения Azure, в которой хранятся данные

Использование вида настроек Data Lake Storage первого поколения

  1. В области настроек учетной записи Data Lake Storage первого поколения щелкните журналы диагностики.

    Просмотр журналов диагностики

  2. В колонке журналов диагностики вы увидите журналы, классифицируемые по журналам аудита и журналам запросов.

    • Журналы запросов фиксируют каждый запрос API, сделанный в учетной записи Data Lake Storage 1-го поколения.
    • Журналы аудита похожи на журналы запросов, но предоставляют гораздо более подробную разбивку операций, выполняемых в учетной записи Data Lake Storage 1-го поколения. Например, один вызов API в логах запросов может привести к нескольким операциям "Append" в журналах аудита.
  3. Чтобы скачать журналы, щелкните ссылку "Скачать " для каждой записи журнала.

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

  1. Откройте панель учетной записи хранения Azure, связанную с Data Lake Storage Gen1, и затем щелкните Blobs. В панели службы Blob перечислены два контейнера.

    Снимок экрана: в разделе Data Lake Storage Gen 1 выбрана опция «Blobs» и показан раздел службы Blob с названиями двух BLOB-служб.

    • Контейнер insights-logs-audit содержит журналы аудита.
    • Контейнер insights-logs-requests содержит журналы запросов.
  2. В этих контейнерах журналы событий хранятся в следующей структуре.

    Снимок экрана: структура журнала, сохраненная в контейнере.

    Например, полный путь к журналу аудита может быть https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/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.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=14/m=00/PT1H.json

Поймите структуру данных журнала

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

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

Ниже приведен пример записи в журнале запросов в формате JSON. Каждый BLOB имеет один корневой объект, называемый записями, содержащий массив объектов журнала.

{
"records": 
  [        
    . . . .
    ,
    {
        "time": "2016-07-07T21:02:53.456Z",
        "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
        "category": "Requests",
        "operationName": "GETCustomerIngressEgress",
        "resultType": "200",
        "callerIpAddress": "::ffff:1.1.1.1",
        "correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
        "identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
        "properties": {"HttpMethod":"GET","Path":"/webhdfs/v1/Samples/Outputs/Drivers.csv","RequestContentLength":0,"StoreIngressSize":0 ,"StoreEgressSize":4096,"ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8","StartTime":"2016-07-07T21:02:52.472Z","EndTime":"2016-07-07T21:02:53.456Z","QueryParameters":"api-version=<version>&op=<operationName>"}
    }
    ,
    . . . .
  ]
}

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

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

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

Имя Тип Описание
Метод HTTP Струна Метод HTTP, используемый для операции. Например, GET.
Путь Струна Путь, по которому была выполнена операция
ДлинаСодержимогоЗапроса инт Длина содержимого HTTP-запроса
ClientRequestId Струна Идентификатор, который однозначно идентифицирует этот запрос
Время начала Струна Время, в течение которого сервер получил запрос
Время окончания Струна Время отправки ответа сервером
StoreIngressSize Длинный Размер в байтах загружаемых в Data Lake Store
StoreEgressSize Длинный Размер в байтах, исходящих из Data Lake Store
ПараметрыЗапроса Струна Описание. Это параметры http-запроса. Пример 1: API-version=2014-01-01&op=getfilestatus Пример 2: op=APPEND&append=true&syncFlag=DATA&filesessionid=bee3355a-4925-4435-bb4d-ceea52811aeb&leaseid=bee3355a-4925-4435-bb4d-ceea52811aeb&offset=28313319&api-version=2017-08-01

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

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

{
"records": 
  [        
    . . . .
    ,
    {
        "time": "2016-07-08T19:08:59.359Z",
        "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
        "category": "Audit",
        "operationName": "SeOpenStream",
        "resultType": "0",
        "resultSignature": "0",
        "correlationId": "381110fc03534e1cb99ec52376ceebdf;Append_BrEKAmg;25.66.9.145",
        "identity": "A9DAFFAF-FFEE-4BB5-A4A0-1B6CBBF24355",
        "properties": {"StreamName":"adl://<data_lake_storage_gen1_account_name>.azuredatalakestore.net/logs.csv"}
    }
    ,
    . . . .
  ]
}

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

Имя Тип Описание
Время Струна Метка времени (в формате UTC) журнала
идентификатор ресурса Струна Идентификатор ресурса, на который была выполнена операция
категория Струна Категория логов. Например, аудит.
ИмяОперации Струна Имя операции, добавленной в журнал. Например, getfilestatus.
тип результата Струна Состояние операции, например 200.
результатПодпись Струна Дополнительные сведения об операции.
correlationId Струна Идентификатор журнала, который может использоваться для группировки набора связанных записей журнала.
идентичность Объект Личность, сгенерировавшая журнал
свойства JSON (формат обмена данными) Дополнительные сведения см. ниже

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

Имя Тип Описание
StreamName Струна Путь, по которому была выполнена операция

Примеры обработки данных журнала

При отправке журналов из Azure Data Lake Storage Gen1 в журналы Azure Monitor (см. Просмотр или анализ данных с помощью поиска по журналам Azure Monitor для получения подробной информации об использовании журналов Azure Monitor), следующий запрос вернет таблицу, содержащую список отображаемых имен пользователей, время событий и количество событий для каждого времени события с визуальной диаграммой. Его можно легко изменить, чтобы отобразить GUID пользователя или другие атрибуты.

search *
| where ( Type == "AzureDiagnostics" )
| summarize count(TimeGenerated) by identity_s, TimeGenerated

Azure Data Lake Storage 1-го поколения содержит пример обработки и анализа данных журнала. Пример можно найти по https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSampleадресу.

См. также