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
Accedere al portale di Azure.
Aprire l'account Data Lake Analytics e selezionare Impostazioni di diagnostica nella sezione Monitoraggio . Quindi, seleziona + Aggiungi impostazione di diagnostica.
Nell'impostazione Diagnostica immettere un nome per questa configurazione di registrazione e quindi selezionare le opzioni di registrazione.
È 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
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.
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, quindim=
contiene sempre un valore di00
.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.