Accesso ai log di diagnostica per Azure Data Lake AnalyticsAccessing diagnostic logs for Azure Data Lake Analytics

La registrazione diagnostica consente di raccogliere audit trail di accesso ai dati.Diagnostic logging allows you to collect data access audit trails. Questi registri includono informazioni quali:These logs provide information such as:

  • Un elenco di utenti che hanno avuto accesso ai dati.A list of users that accessed the data.
  • La frequenza con cui si accede ai dati.How frequently the data is accessed.
  • La quantità di dati archiviati nell'account.How much data is stored in the account.

Abilitazione della registrazioneEnable logging

  1. Accedere al portale di Azure.Sign on to the Azure portal.

  2. Aprire l'account Data Lake Analytics e selezionare Log di diagnostica dalla sezione Monitoraggio.Open your Data Lake Analytics account and select Diagnostic logs from the Monitor section. Selezionare quindi Turn on diagnostics (Attiva diagnostica).Next, select Turn on diagnostics.

    Attivare la diagnostica per acquisire i log di controllo e i log delle richieste.

  3. Dalle Impostazioni di diagnostica immettere un Nome per la configurazione della registrazione e selezionare le opzioni di registrazione.From Diagnostics settings, enter a Name for this logging configuration and then select logging options.

    Attivare la diagnostica per acquisire i log di controllo e i log delle richiesteTurn on diagnostics to collect audit and request logs

    • È possibile scegliere di archiviare/elaborare i dati in tre modi diversi.You can choose to store/process the data in three different ways.

      • Selezionare Archive to a storage account (Archivia in un account di archiviazione) per archiviare i log in un account di archiviazione di Azure.Select Archive to a storage account to store logs in an Azure storage account. Usare questa opzione se si vogliono archiviare i dati.Use this option if you want to archive the data. Se si seleziona questa opzione è necessario fornire un account di archiviazione di Azure in cui salvare i log.If you select this option, you must provide an Azure storage account to save the logs to.

      • Selezionare Stream to an Event Hub (Esegui streaming in un Hub eventi) per trasmettere i dati di log a un Hub eventi di Azure.Select Stream to an Event Hub to stream log data to an Azure Event Hub. Usare questa opzione se si ha una pipeline di elaborazione downstream che analizza in tempo reale i log in ingresso.Use this option if you have a downstream processing pipeline that is analyzing incoming logs in real time. Se si seleziona questa opzione, è necessario fornire i dettagli dell'Hub eventi di Azure che si desidera utilizzare.If you select this option, you must provide the details for the Azure Event Hub you want to use.

      • Selezionare Send to Log Analytics (Invia a Log Analytics) per inviare i dati al servizio Log Analytics.Select Send to Log Analytics to send the data to the Log Analytics service. Usare questa opzione per raccogliere e analizzare i log con Log Analytics.Use this option if you want to use Log Analytics to gather and analyze logs.

    • Specificare se si desidera ottenere i log di controllo, i log delle richieste o entrambi.Specify whether you want to get audit logs or request logs or both. Un log delle richieste acquisisce tutte le richieste API.A request log captures every API request. Un log di controllo registra tutte le operazioni attivate dalla richiesta dell'API.An audit log records all operations that are triggered by that API request.

    • Per Archivia in un account di archiviazione specificare il numero di giorni per cui i dati verranno conservati.For Archive to a storage account, specify the number of days to retain the data.

    • Fare clic su Salva.Click Save.

      Nota

      È necessario selezionare una tra le opzioni Archivia in un account di archiviazione, Streaming in un hub eventi o Invia a Log Analytics prima di fare clic sul pulsante Salva.You must select either Archive to a storage account, Stream to an Event Hub or Send to Log Analytics before clicking the Save button.

Usare l'account di archiviazione di Azure contenente i dati di logUse the Azure Storage account that contains log data

  1. Per visualizzare i contenitori BLOB che contengono i dati della registrazione, aprire l'account di archiviazione di Azure associato a Data Lake Analytics per la registrazione e quindi fare clic su BLOB.To display the blob containers that hold logging data, open the Azure Storage account used for Data Lake Analytics for logging, and then click Blobs.

    • Il contenitore insights-logs-audit contiene i log di controllo.The container insights-logs-audit contains the audit logs.
    • Il contenitore insights-logs-requests contiene i log delle richieste.The container insights-logs-requests contains the request logs.
  2. All'interno dei contenitori i log vengono archiviati con la struttura file seguente:Within the containers, the logs are stored under the following file structure:

     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

    Il pannello ## nel percorso contengono l'anno, il mese, il giorno e l'ora in cui è stato creato il log.The ## entries in the path contain the year, month, day, and hour in which the log was created. Data Lake Analytics crea un file ogni ora, in modo m= contenga sempre un valore di 00.Data Lake Analytics creates one file every hour, so m= always contains a value of 00.

    Ad esempio, il percorso completo a un log di controllo potrebbe essere:As an example, the complete path to an audit log could be:

     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 a un log della richiesta potrebbe essere:Similarly, the complete path to a request log could be:

     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
    

Struttura di logLog structure

I log di controllo e delle richieste sono in formato JSON strutturato.The audit and request logs are in a structured JSON format.

Request LogsRequest logs

Di seguito viene riportata una voce di esempio nel log delle richieste in formato JSON.Here's a sample entry in the JSON-formatted request log. Ogni BLOB ha un oggetto radice denominato record che contiene una matrice di oggetti di log.Each blob has one root object called records that contains an array of log objects.

{
"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 richiesteRequest log schema

NomeName TipoType DescrizioneDescription
timetime StringString Il timestamp del log (fusorario UTC)The timestamp (in UTC) of the log
resourceIdresourceId StringString Identificatore della risorsa interessata dall'operazioneThe identifier of the resource that operation took place on
categorycategory StringString La categoria di log.The log category. Ad esempio, Richieste.For example, Requests.
operationNameoperationName StringString Il nome dell'operazione registrata.Name of the operation that is logged. Ad esempio, GetAggregatedJobHistory.For example, GetAggregatedJobHistory.
resultTyperesultType StringString Lo stato dell'operazione, ad esempio 200.The status of the operation, For example, 200.
callerIpAddresscallerIpAddress StringString L’indirizzo IP del client che esegue la richiestaThe IP address of the client making the request
correlationIdcorrelationId StringString Identificatore del log.The identifier of the log. Questo valore può essere usato per raggruppare un set di voci di log correlate.This value can be used to group a set of related log entries.
identityidentity OggettoObject L'identità che ha generato il logThe identity that generated the log
propertiesproperties JSONJSON Per informazioni dettagliate, vedere la sezione successiva (Schema delle proprietà del log di richiesta)See the next section (Request log properties schema) for details

Schema delle proprietà del log di richiestaRequest log properties schema

NomeName TipoType DescrizioneDescription
HttpMethodHttpMethod StringString Il metodo HTTP utilizzato per l'operazione.The HTTP Method used for the operation. Esempio: GET.For example, GET.
PathPath StringString Il percorso coinvolto nell'operazioneThe path the operation was performed on
RequestContentLengthRequestContentLength intint La lunghezza del contenuto della richiesta HTTPThe content length of the HTTP request
ClientRequestIdClientRequestId StringString Identificatore che identifica in modo univoco la richiestaThe identifier that uniquely identifies this request
StartTimeStartTime StringString L'ora in cui il server ha ricevuto la richiestaThe time at which the server received the request
EndTimeEndTime StringString L'ora in cui il server ha inviato una rispostaThe time at which the server sent a response

Log di controlloAudit logs

Di seguito viene riportata una voce di esempio nel log di controllo in formato JSON.Here's a sample entry in the JSON-formatted audit log. Ogni BLOB ha un oggetto radice denominato record che contiene una matrice di oggetti di log.Each blob has one root object called records that contains an array of log objects.

{
"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 controlloAudit log schema

NomeName TipoType DescrizioneDescription
timetime StringString Il timestamp del log (fusorario UTC)The timestamp (in UTC) of the log
resourceIdresourceId StringString Identificatore della risorsa interessata dall'operazioneThe identifier of the resource that operation took place on
categorycategory StringString La categoria di log.The log category. Ad esempio, Audit.For example, Audit.
operationNameoperationName StringString Il nome dell'operazione registrata.Name of the operation that is logged. Ad esempio, JobSubmitted.For example, JobSubmitted.
resultTyperesultType StringString Stato secondario per lo stato del processo (operationName).A substatus for the job status (operationName).
resultSignatureresultSignature StringString Informazioni aggiuntive sullo stato di processo (operationName).Additional details on the job status (operationName).
identityidentity StringString L'utente che ha richiesto l'operazione.The user that requested the operation. Ad esempio, susan@contoso.com.For example, susan@contoso.com.
propertiesproperties JSONJSON Per informazioni dettagliate, vedere la sezione successiva (Schema delle proprietà del log di controllo)See the next section (Audit log properties schema) for details

Nota

resultType e resultSignature offrono informazioni sul risultato di un'operazione e contengono un valore solo se un'operazione è stata completata.resultType and resultSignature provide information on the result of an operation, and only contain a value if an operation has completed. Ad esempio, contengono un valore solo quando operationName contiene un valore JobStarted o JobEnded.For example, they only contain a value when operationName contains a value of JobStarted or JobEnded.

Schema delle proprietà del log di controlloAudit log properties schema

NomeName TipoType DescrizioneDescription
JobIdJobId StringString L'ID assegnato al processoThe ID assigned to the job
JobNameJobName StringString Il nome fornito per il processoThe name that was provided for the job
JobRunTimeJobRunTime StringString Il runtime usato per l'elaborazione del processoThe runtime used to process the job
SubmitTimeSubmitTime StringString Ora (UTC) in cui è stato inviato il processoThe time (in UTC) that the job was submitted
StartTimeStartTime StringString Ora di avvio dell'esecuzione del processo dopo l'invio (in UTC)The time the job started running after submission (in UTC)
EndTimeEndTime StringString Ora di fine del processoThe time the job ended
ParallelismoParallelism StringString Numero di unità di Data Lake Analytics richieste per questo processo durante l'invioThe number of Data Lake Analytics units requested for this job during submission

Nota

SubmitTime, StartTime, EndTime e Parallelism forniscono informazioni su un'operazione.SubmitTime, StartTime, EndTime, and Parallelism provide information on an operation. Queste voci contengono un valore solo se l'operazione è stata avviata o completata.These entries only contain a value if that operation has started or completed. Ad esempio, SubmitTime contiene un valore solo dopo che operationName ha il valore JobSubmitted.For example, SubmitTime only contains a value after operationName has the value JobSubmitted.

Elaborare i dati di logProcess the log data

Azure Data Lake Analytics fornisce un esempio su come elaborare e analizzare i dati di log.Azure Data Lake Analytics provides a sample on how to process and analyze the log data. È possibile trovare l'esempio all'indirizzo https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.You can find the sample at https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.

Passaggi successiviNext steps