Accesso ai log di diagnostica per Azure Data Lake Analytics
Importante
Azure Data Lake Analytics ritirato il 29 febbraio 2024. Altre informazioni con questo annuncio.
Per l'analisi dei dati, l'organizzazione può usare Azure Synapse Analytics o Microsoft Fabric.
La registrazione diagnostica consente di raccogliere audit trail di accesso ai dati. Questi log includono informazioni quali:
- Un elenco di utenti che hanno avuto accesso ai dati.
- La frequenza con cui si accede ai dati.
- La quantità di dati archiviati nell'account.
Abilitazione della registrazione
Accedere al portale di Azure.
Aprire l'account Data Lake Analytics e selezionare Impostazioni di diagnostica nella sezione Monitoraggio. Selezionare quindi + Aggiungi impostazione di diagnostica.
Dall'impostazione Diagnostica immettere un nome per questa configurazione di registrazione e quindi selezionare opzioni di registrazione.
È possibile scegliere di archiviare/elaborare i dati in quattro modi diversi.
Selezionare Archive to a storage account (Archivia in un account di archiviazione) per archiviare i log in un account di archiviazione di Azure. Usare questa opzione se si vogliono archiviare i dati. Se si seleziona questa opzione è necessario fornire un account di archiviazione di Azure in cui salvare i log.
Selezionare Stream in un hub eventi per trasmettere i dati di log a un Hub eventi di Azure. Usare questa opzione se si ha una pipeline di elaborazione downstream che analizza in tempo reale i log in ingresso. Se si seleziona questa opzione, è necessario specificare i dettagli per il 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 desidera 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 tutte le richieste API. Un log di controllo registra tutte le operazioni attivate dalla richiesta dell'API.
Per Archivia in un account di archiviazione specificare il numero di giorni per cui i dati verranno conservati.
Selezionare Salva.
Nota
È necessario selezionare Archivio in un account di archiviazione, Stream in un hub eventi, inviare all'area di lavoro Log Analytics o inviare allasoluzione partner prima di selezionare il pulsante Salva.
Usare l'account di archiviazione di Azure contenente i dati di log
Per visualizzare i contenitori BLOB che contengono 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.
All'interno dei contenitori i log vengono archiviati con la struttura 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
Il pannello
##
nel 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, in modom=
contenga sempre un valore di00
.Ad esempio, il percorso completo a un log di controllo potrebbe 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 a un log della richiesta 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 fornisce un esempio su come elaborare e analizzare i dati di log. È possibile trovare l'esempio all'indirizzo https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.
Struttura di log
I log di controllo e delle richieste sono in formato JSON strutturato.
Request Logs
Di seguito viene riportata una voce di esempio nel log delle richieste in formato JSON. Ogni BLOB ha un oggetto radice denominato record che contiene una matrice 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 |
---|---|---|
time | string | Il timestamp del log (fusorario UTC) |
resourceId | string | Identificatore della risorsa interessata dall'operazione |
category | string | La categoria di log. Ad esempio, Richieste. |
operationName | string | Il nome dell'operazione registrata. Ad esempio, GetAggregatedJobHistory. |
resultType | string | Lo stato dell'operazione, ad esempio 200. |
callerIpAddress | string | L’indirizzo IP del client che esegue la richiesta |
correlationId | string | Identificatore del log. Questo valore può essere usato per raggruppare un set di voci di log correlate. |
identity | Oggetto | L'identità che ha generato il log |
properties | JSON | Per informazioni dettagliate, vedere la sezione successiva (Schema delle proprietà del log di richiesta) |
Schema delle proprietà del log di richiesta
Nome | Tipo | Descrizione |
---|---|---|
HttpMethod | string | Il metodo HTTP utilizzato per l'operazione. Esempio: GET. |
Percorso | string | Il percorso coinvolto nell'operazione |
RequestContentLength | INT | La lunghezza del contenuto della richiesta HTTP |
ClientRequestId | string | Identificatore che identifica in modo univoco la richiesta |
StartTime | string | Ora in cui il server ha ricevuto la richiesta |
EndTime | string | Ora in cui il server ha inviato una risposta |
Log di controllo
Di seguito viene riportata una voce di esempio nel log di controllo in formato JSON. Ogni BLOB ha un oggetto radice denominato record che contiene una matrice 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 |
---|---|---|
time | string | Il timestamp del log (fusorario UTC) |
resourceId | string | Identificatore della risorsa interessata dall'operazione |
category | string | La categoria di log. Ad esempio, Audit. |
operationName | string | Il nome dell'operazione registrata. Ad esempio, JobSubmitted. |
resultType | string | Stato secondario per lo stato del processo (operationName). |
resultSignature | string | Dettagli aggiuntivi sullo stato del processo (operationName). |
identity | string | L'utente che ha richiesto l'operazione. Ad esempio: susan@contoso.com. |
properties | JSON | Per informazioni dettagliate, vedere la sezione successiva (Schema delle proprietà del log di controllo) |
Nota
resultType e resultSignature offrono informazioni sul risultato di un'operazione e contengono un valore solo se un'operazione è stata completata. Ad esempio, contengono un valore solo quando operationName contiene un valore JobStarted o JobEnded.
Schema delle proprietà del log di controllo
Nome | Tipo | Descrizione |
---|---|---|
JobId | string | L'ID assegnato al processo |
JobName | string | Il nome fornito per il processo |
JobRunTime | string | Il runtime usato per l'elaborazione del processo |
SubmitTime | string | Ora (UTC) in cui è stato inviato il processo |
StartTime | string | Ora di avvio dell'esecuzione del processo dopo l'invio (in UTC) |
EndTime | string | Ora di fine del processo |
Parallelismo | string | Numero di unità di Data Lake Analytics richieste per questo processo durante l'invio |
Nota
SubmitTime, StartTime, EndTime e Parallelism forniscono informazioni su un'operazione. Queste voci contengono un valore solo se l'operazione è stata avviata o completata. Ad esempio, SubmitTime contiene un valore solo dopo che operationName ha il valore JobSubmitted.