Accessing diagnostics logs for Azure Data Lake Analytics (Aceder aos registos de diagnóstico do Azure Data Lake Analytics)

Importante

O Azure Data Lake Analytics descontinuado a 29 de fevereiro de 2024. Saiba mais com este anúncio.

Para análise de dados, a sua organização pode utilizar o Azure Synapse Analytics ou o Microsoft Fabric.

O registo de diagnósticos permite-lhe recolher registos de auditoria de acesso a dados. Estes registos fornecem informações como:

  • Uma lista de utilizadores que acederam aos dados.
  • A frequência com que os dados são acedidos.
  • Quantos dados são armazenados na conta.

Ativar registo

  1. Inicie sessão no portal do Azure.

  2. Abra a sua conta Data Lake Analytics e selecione Definições de diagnóstico na secção Monitorização. Em seguida, selecione + Adicionar definição de diagnóstico.

    Captura de ecrã que mostra a ação

  3. Na definição Diagnóstico, introduza um nome para esta configuração de registo e, em seguida, selecione opções de registo.

    Captura de ecrã a mostrar as definições para ativar os diagnósticos para recolher registos de auditoria e pedidos

    • Pode optar por armazenar/processar os dados de quatro formas diferentes.

      • Selecione Arquivar numa conta de armazenamento para armazenar registos numa conta de armazenamento do Azure. Utilize esta opção se quiser arquivar os dados. Se selecionar esta opção, tem de fornecer uma conta de armazenamento do Azure para guardar os registos.

      • Selecione Stream para um hub de eventos para transmitir dados de registo para um Hubs de Eventos do Azure. Utilize esta opção se tiver um pipeline de processamento a jusante que esteja a analisar os registos recebidos em tempo real. Se selecionar esta opção, tem de fornecer os detalhes do Hubs de Eventos do Azure que pretende utilizar.

      • Selecione Enviar para a área de trabalho do Log Analytics para enviar os dados para o serviço Azure Monitor. Utilize esta opção se quiser utilizar os registos do Azure Monitor para recolher e analisar registos.

      • Selecione enviar para a solução de parceiro se quiser utilizar a nossa integração de parceiros. Para obter mais informações, pode seguir esta ligação.

    • Especifique se pretende obter registos de auditoria ou registos de pedidos ou ambos. Um registo de pedidos captura todos os pedidos de API. Um registo de auditoria regista todas as operações que são acionadas por esse pedido de API.

    • Para Arquivar numa conta de armazenamento, especifique o número de dias para reter os dados.

    • Selecione Guardar.

      Nota

      Tem de selecionar Arquivar para uma conta de armazenamento, Stream para um Hub de Eventos, Enviar para a área de trabalho do Log Analytics ou Enviar para a solução de parceiro antes de selecionar o botão Guardar.

Utilizar a conta de Armazenamento do Azure que contém dados de registo

  1. Para apresentar os contentores de blobs que contêm dados de registo, abra a conta de Armazenamento do Azure utilizada para Data Lake Analytics para registo e, em seguida, selecione Contentores.

    • O container insights-logs-audit contém os registos de auditoria.
    • Os pedidos container insights-logs-requests contêm os registos de pedidos.
  2. Nos contentores, os registos são armazenados na seguinte estrutura de ficheiros:

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

    Nota

    As ## entradas no caminho contêm o ano, mês, dia e hora em que o registo foi criado. Data Lake Analytics cria um ficheiro a cada hora, pelo m= que contém sempre um valor de 00.

    Por exemplo, o caminho completo para um registo de auditoria pode ser:

    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

    Da mesma forma, o caminho completo para um registo de pedidos pode ser:

    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

Processar os dados de registo

O Azure Data Lake Analytics fornece um exemplo sobre como processar e analisar os dados de registo. Pode encontrar o exemplo em https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.

Estrutura de registos

Os registos de auditoria e pedido estão num formato JSON estruturado.

Registos de pedidos

Eis uma entrada de exemplo no registo de pedidos com formato JSON. Cada blob tem um objeto de raiz chamado registos que contém uma matriz de objetos de registo.

{
"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"
             }
    }
    ,
    . . . .
  ]
}

Esquema de registo de pedidos

Nome Tipo Description
hora String O carimbo de data/hora (em UTC) do registo
resourceId String O identificador do recurso em que a operação ocorreu
categoria String A categoria de registo. Por exemplo, Pedidos.
operationName String Nome da operação registada. Por exemplo, GetAggregatedJobHistory.
resultType String O estado da operação, por exemplo, 200.
callerIpAddress String O endereço IP do cliente que efetua o pedido
correlationId String O identificador do registo. Este valor pode ser utilizado para agrupar um conjunto de entradas de registo relacionadas.
identidade Objeto A identidade que gerou o registo
propriedades JSON Veja a secção seguinte (Esquema de propriedades do registo de pedidos) para obter detalhes

Esquema de propriedades do registo de pedidos

Nome Tipo Description
HttpMethod String O Método HTTP utilizado para a operação. Por exemplo, GET.
Caminho String O caminho no qual a operação foi executada
RequestContentLength int A duração do conteúdo do pedido HTTP
ClientRequestId String O identificador que identifica exclusivamente este pedido
StartTime String A hora em que o servidor recebeu o pedido
EndTime String A hora em que o servidor enviou uma resposta

Registos de auditoria

Eis uma entrada de exemplo no registo de auditoria formatado em JSON. Cada blob tem um objeto de raiz chamado registos que contém uma matriz de objetos de registo.

{
"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"
             }
    }
  ]
}

Esquema de registo de auditoria

Nome Tipo Description
hora String O carimbo de data/hora (em UTC) do registo
resourceId String O identificador do recurso em que a operação ocorreu
categoria String A categoria de registo. Por exemplo, Auditoria.
operationName String Nome da operação registada. Por exemplo, JobSubmitted.
resultType String Um subestado para o estado da tarefa (operationName).
resultSignature String Detalhes adicionais sobre o estado da tarefa (operationName).
identidade String O utilizador que pediu a operação. Por exemplo, susan@contoso.com.
propriedades JSON Veja a secção seguinte (Esquema de propriedades do registo de auditoria) para obter detalhes

Nota

resultType e resultSignature fornecem informações sobre o resultado de uma operação e contêm apenas um valor se uma operação tiver sido concluída. Por exemplo, só contêm um valor quando operationName contém um valor de JobStarted ou JobEnded.

Esquema de propriedades do registo de auditoria

Nome Tipo Description
JobId String O ID atribuído à tarefa
JobName String O nome que foi fornecido para a tarefa
JobRunTime String O runtime utilizado para processar a tarefa
SubmitTime String A hora (em UTC) em que a tarefa foi submetida
StartTime String A hora em que a tarefa começou a ser executada após a submissão (em UTC)
EndTime String A hora em que a tarefa terminou
Paralelismo String O número de unidades de Data Lake Analytics pedidas para esta tarefa durante a submissão

Nota

SubmitTime, StartTime, EndTime e Paralelismo fornecem informações sobre uma operação. Estas entradas só contêm um valor se essa operação tiver sido iniciada ou concluída. Por exemplo, SubmitTime contém apenas um valor após operationName ter o valor JobSubmitted.

Passos seguintes