Condividi tramite


Accesso ai log di diagnostica per Azure Data Lake Analytics

Importante

Azure Data Lake Analytics è stato ritirato il 29 febbraio 2024. Per altre informazioni, vedere questo annuncio.

Per l'analisi dei dati, l'organizzazione può usare Azure Synapse Analytics o Microsoft Fabric.

La registrazione diagnostica consente di raccogliere i audit trail di accesso ai dati. Questi log forniscono informazioni come:

  • Elenco di utenti che hanno eseguito l'accesso ai dati.
  • Frequenza di accesso ai dati.
  • Quantità di dati archiviati nell'account.

Abilitare la registrazione

  1. Accedere al portale di Azure.

  2. Aprire l'account Data Lake Analytics e selezionare Impostazioni di diagnostica nella sezione Monitoraggio . Quindi, seleziona + Aggiungi impostazione di diagnostica.

    Screenshot che mostra l'azione

  3. Nell'impostazione Diagnostica immettere un nome per questa configurazione di registrazione e quindi selezionare le opzioni di registrazione.

    Screenshot che mostra le impostazioni per attivare la diagnostica per raccogliere i log di controllo e richiesta

    • È possibile scegliere di archiviare/elaborare i dati in quattro modi diversi.

      • Selezionare Archivia in un account di archiviazione per archiviare i log in un account di archiviazione di Azure. Usare questa opzione se si desidera archiviare i dati. Se si seleziona questa opzione, è necessario fornire un account di archiviazione di Azure in cui salvare i log.

      • Selezionare Stream to an event hub (Stream to an event hub) per trasmettere i dati di log a un hub eventi di Azure. Usare questa opzione se si dispone di una pipeline di elaborazione downstream che analizza i log in ingresso in tempo reale. Se si seleziona questa opzione, è necessario specificare i dettagli per Hub eventi di Azure che si vuole usare.

      • Selezionare Invia all'area di lavoro Log Analytics per inviare i dati al servizio Monitoraggio di Azure. Usare questa opzione se si vogliono usare i log di Monitoraggio di Azure per raccogliere e analizzare i log.

      • Selezionare Invia alla soluzione partner se si vuole usare l'integrazione dei partner. Per altre informazioni, è possibile seguire questo collegamento.

    • Specificare se si desidera ottenere i log di controllo, i log delle richieste, o entrambi. Un log delle richieste acquisisce ogni richiesta API. Un log di controllo registra tutte le operazioni attivate da tale richiesta API.

    • Per Archivia in un account di archiviazione, specificare il numero di giorni per conservare i dati.

    • Seleziona Salva.

      Nota

      È necessario selezionare Archivia in un account di archiviazione, Trasmettere a un hub eventi, Inviare all'area di lavoro Log Analytics o Inviare alla soluzione partner prima di selezionare il pulsante Salva .

Usare l'account di archiviazione di Azure che contiene i dati di log

  1. Per visualizzare i contenitori BLOB che contengono i dati di registrazione, aprire l'account di archiviazione di Azure usato per Data Lake Analytics per la registrazione e quindi selezionare Contenitori.

    • Il contenitore insights-logs-audit contiene i log di controllo.
    • Il contenitore insights-logs-requests contiene i log delle richieste.
  2. All'interno dei contenitori, i log vengono archiviati nella struttura di file seguente:

    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

    Le voci ## del percorso contengono l'anno, il mese, il giorno e l'ora in cui è stato creato il log. Data Lake Analytics crea un file ogni ora, quindi m= contiene sempre un valore di 00.

    Ad esempio, il percorso completo di un log di controllo può essere:

    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

    Analogamente, il percorso completo di un log delle richieste potrebbe essere:

    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

Elaborare i dati di log

Azure Data Lake Analytics offre un esempio su come elaborare e analizzare i dati di log. È possibile trovare l'esempio in https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.

Struttura di log

I log di controllo e richiesta sono in formato JSON strutturato.

Log delle richieste

Ecco una voce di esempio nel log delle richieste in formato JSON. Ogni BLOB ha un oggetto radice denominato record che contiene un array di oggetti di log.

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

Schema del log delle richieste

Nome TIPO Descrizione
tempo Stringa La marca temporale (in formato UTC) del log
ID della risorsa Stringa Identificatore della risorsa in cui è stata eseguita l'operazione
categoria Stringa Categoria di log. Ad esempio, Richieste.
operationName Stringa Il nome dell'operazione registrata. Ad esempio, GetAggregatedJobHistory.
tipoRisultato Stringa Stato dell'operazione, ad esempio 200.
indirizzoIPChiamante Stringa Indirizzo IP del client che effettua la richiesta
correlationId Stringa Identificatore del log. Questo valore può essere usato per raggruppare un set di voci di log correlate.
identità Oggetto L'identità che ha generato il log
proprietà JSON (JavaScript Object Notation) Per informazioni dettagliate, vedere la sezione successiva (Schema delle proprietà del log delle richieste)

Schema delle proprietà del log delle richieste

Nome TIPO Descrizione
HttpMethod Stringa Metodo HTTP utilizzato per l'operazione. Ad esempio, GET.
Percorso Stringa Percorso in cui è stata eseguita l'operazione
LunghezzaContenutoRichiesta Int Lunghezza del contenuto della richiesta HTTP
ClientRequestId Stringa Identificatore che identifica in modo univoco questa richiesta
Ora di Inizio Stringa Ora in cui il server ha ricevuto la richiesta
Ora di Fine Stringa Ora in cui il server ha inviato una risposta

Registri di audit

Ecco una voce di esempio nel log di controllo in formato JSON. Ogni BLOB ha un oggetto radice denominato record che contiene un array di oggetti di log.

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

Schema del log di controllo

Nome TIPO Descrizione
tempo Stringa La marca temporale (in formato UTC) del log
ID della risorsa Stringa Identificatore della risorsa in cui è stata eseguita l'operazione
categoria Stringa Categoria del log. Ad esempio, Audit.
operationName Stringa Il nome dell'operazione registrata. Ad esempio, JobSubmitted.
tipoRisultato Stringa Stato secondario per lo stato del lavoro (operationName).
FirmaRisultato Stringa Dettagli aggiuntivi sullo stato del lavoro (operationName).
identità Stringa Utente che ha richiesto l'operazione. Ad esempio: susan@contoso.com.
proprietà JSON (JavaScript Object Notation) Per informazioni dettagliate, vedere la sezione successiva (schema delle proprietà del log di controllo)

Nota

resultType e resultSignature forniscono informazioni sul risultato di un'operazione e contengono un valore solo se un'operazione è stata completata. Ad esempio, contengono solo un valore quando operationName contiene un valore JobStarted o JobEnded.

Schema delle proprietà del log di controllo

Nome TIPO Descrizione
JobId Stringa ID assegnato all'attività
NomeLavoro Stringa Nome specificato per il lavoro
TempoEsecuzioneLavoro Stringa Il runtime usato per elaborare il lavoro
Orario di invio Stringa L'ora (in formato UTC) in cui è stata inviata l'attività
Ora di Inizio Stringa Ora in cui il processo è stato avviato dopo l'invio (in formato UTC)
Ora di Fine Stringa Ora di fine del lavoro
Parallelismo Stringa Numero di unità di Data Lake Analytics richieste per questo lavoro all'invio

Nota

SubmitTime, StartTime, EndTime e Parallelism forniscono informazioni su un'operazione. Queste voci contengono solo un valore se l'operazione è stata avviata o completata. Ad esempio, SubmitTime contiene un valore solo dopo che operationName ha il valore JobSubmitted.

Passaggi successivi