Condividi tramite


Accesso ai log di diagnostica per Azure Data Lake Storage Gen1

Informazioni su come abilitare la registrazione diagnostica per l'account Azure Data Lake Storage Gen1 e come visualizzare i log raccolti per l'account.

Le organizzazioni possono abilitare la registrazione diagnostica per l'account Azure Data Lake Storage Gen1 per raccogliere gli audit trail di accesso ai dati che forniscono informazioni come l'elenco di utenti che accedono ai dati, la frequenza di accesso ai dati, la quantità di dati archiviati nell'account e così via. Se abilitata, la diagnostica e/o le richieste vengono registrate in modo ottimale. Entrambe le richieste e le voci del log di diagnostica vengono create solo se sono presenti richieste eseguite sull'endpoint del servizio.

Prerequisiti

Abilitare la registrazione diagnostica per l'account Data Lake Storage Gen1

  1. Accedi al nuovo portale di Azure .

  2. Aprire l'account Data Lake Storage Gen1 e nel pannello dell'account Data Lake Storage Gen1 fare clic su Impostazioni di diagnostica.

  3. Nel pannello Impostazioni di diagnostica fare clic su Attiva diagnostica.

    Screenshot dell'account Data Lake Storage Gen 1 con l'opzione Impostazione diagnostica e l'opzione diagnostica attivata.

  4. Nel pannello Impostazioni di diagnostica apportare le modifiche seguenti per configurare la registrazione diagnostica.

    Screenshot della sezione delle impostazioni di diagnostica con la casella di testo Nome e l'opzione Salva evidenziata.

    • In Nome immettere un valore per la configurazione del log di diagnostica.

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

      • Selezionare l'opzione 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 che verranno elaborati in batch in un secondo momento. Se si seleziona questa opzione, è necessario specificare un account di archiviazione di Azure in cui salvare i log.

      • Selezionare l'opzione Stream to an event hub to stream log data to an Azure Event Hub (Trasmettere dati di log a un hub eventi di Azure). Molto probabilmente si userà questa opzione se si dispone di una pipeline di elaborazione downstream per analizzare i log in ingresso in tempo reale. Se si seleziona questa opzione, è necessario specificare i dettagli per l'hub eventi di Azure che si vuole usare.

      • Selezionare l'opzione Invia a Log Analytics per usare il servizio Monitoraggio di Azure per analizzare i dati di log generati. Se si seleziona questa opzione, è necessario specificare i dettagli per l'area di lavoro Log Analytics da usare per eseguire l'analisi dei log. Per informazioni dettagliate sull'uso dei log di Monitoraggio di Azure, vedere Visualizzare o analizzare i dati raccolti con i log di Monitoraggio di Azure .

    • Specificare se si desidera ottenere i log di controllo, i log delle richieste, o entrambi.

    • Specificare il numero di giorni per cui devono essere conservati i dati. La conservazione è applicabile solo se si usa l'account di archiviazione di Azure per archiviare i dati di log.

    • Fare clic su Salva.

Dopo aver abilitato le impostazioni di diagnostica, è possibile controllare i log nella scheda Log di diagnostica .

Visualizzare i log di diagnostica per l'account Data Lake Storage Gen1

Esistono due modi per visualizzare i dati di log per l'account Data Lake Storage Gen1.

  • Dalla visualizzazione delle impostazioni dell'account Data Lake Storage Gen1
  • Dall'account di archiviazione di Azure in cui sono archiviati i dati

Uso della vista Impostazioni di Data Lake Storage Gen1

  1. Nel pannello Impostazioni account Data Lake Storage Gen1 fare clic su Log di diagnostica.

    Visualizzare i log di diagnostica

  2. Nel pannello Log di diagnostica verranno visualizzati i log classificati in base ai log di controllo e ai log delle richieste.

    • I log delle richieste acquisiscono ogni richiesta API effettuata nell'account Data Lake Storage Gen1.
    • I log di controllo sono simili ai log delle richieste, ma forniscono una suddivisione molto più dettagliata delle operazioni eseguite nell'account Data Lake Storage Gen1. Ad esempio, una singola chiamata API di caricamento nei log delle richieste potrebbe comportare più operazioni di aggiunta nei log di controllo.
  3. Per scaricare i log, fare clic sul collegamento Download per ogni registro.

Dall'account di archiviazione di Azure che contiene i dati di log

  1. Aprire il pannello Account di archiviazione di Azure associato a Data Lake Storage Gen1 per la registrazione e quindi fare clic su BLOB. Il pannello Servizio BLOB elenca due contenitori.

    Screenshot del pannello Data Lake Storage Gen 1 dell'opzione BLOB selezionata e del pannello Servizio blog con i nomi dei due servizi BLOB evidenziati.

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

    Screenshot della struttura dei log memorizzata nel contenitore.

    Ad esempio, il percorso completo di un log di controllo potrebbe essere https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/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.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=14/m=00/PT1H.json

Comprendere la struttura dei dati di log

I log di controllo e richiesta sono in formato JSON. In questa sezione viene esaminata la struttura di JSON per i log di richiesta e controllo.

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.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
        "category": "Requests",
        "operationName": "GETCustomerIngressEgress",
        "resultType": "200",
        "callerIpAddress": "::ffff:1.1.1.1",
        "correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
        "identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
        "properties": {"HttpMethod":"GET","Path":"/webhdfs/v1/Samples/Outputs/Drivers.csv","RequestContentLength":0,"StoreIngressSize":0 ,"StoreEgressSize":4096,"ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8","StartTime":"2016-07-07T21:02:52.472Z","EndTime":"2016-07-07T21:02:53.456Z","QueryParameters":"api-version=<version>&op=<operationName>"}
    }
    ,
    . . . .
  ]
}

Schema del log delle richieste

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

Schema delle proprietà del log delle richieste

Nome TIPO Descrizione
Metodo HTTP 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 ID 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
StoreIngressSize Lungo Dimensioni in byte immessi in Data Lake Store
StoreEgressSize Lungo Dimensioni in byte in uscita da Data Lake Store
QueryParameters Stringa Descrizione: questi sono i parametri di query HTTP. Esempio 1: api-version=2014-01-01&op=getfilestatus Esempio 2: op=APPEND&append=true&syncFlag=DATA&filesessionid=bee3355a-4925-4435-bb4d-ceea52811aeb&leaseid=bee3355a-4925-4435-bb4d-ceea52811aeb&offset=28313319&api-version=2017-08-01

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 una matrice di oggetti di log

{
"records": 
  [        
    . . . .
    ,
    {
        "time": "2016-07-08T19:08:59.359Z",
        "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
        "category": "Audit",
        "operationName": "SeOpenStream",
        "resultType": "0",
        "resultSignature": "0",
        "correlationId": "381110fc03534e1cb99ec52376ceebdf;Append_BrEKAmg;25.66.9.145",
        "identity": "A9DAFFAF-FFEE-4BB5-A4A0-1B6CBBF24355",
        "properties": {"StreamName":"adl://<data_lake_storage_gen1_account_name>.azuredatalakestore.net/logs.csv"}
    }
    ,
    . . . .
  ]
}

Schema del log di controllo

Nome TIPO Descrizione
tempo Stringa La marca temporale (in formato UTC) del log
ID della risorsa Stringa ID della risorsa su cui è stata eseguita l'operazione
categoria Stringa Categoria di log. Ad esempio, Audit.
NomeOperazione Stringa Il nome dell'operazione registrata. Ad esempio, getfilestatus.
tipoRisultato Stringa Stato dell'operazione, ad esempio 200.
FirmaRisultato Stringa Dettagli aggiuntivi sull'operazione.
correlationId Stringa ID del log che può essere usato per raggruppare un insieme di voci di log correlate
identità Oggetto L'identità che ha generato il log
proprietà JSON (JavaScript Object Notation) Per informazioni dettagliate, vedere di seguito

Schema delle proprietà del log di controllo

Nome TIPO Descrizione
StreamName Stringa Percorso in cui è stata eseguita l'operazione

Esempi per elaborare i dati del registro

Quando si inviano log da Azure Data Lake Storage Gen1 ai log di Monitoraggio di Azure (vedere Visualizzare o analizzare i dati raccolti con i log di Monitoraggio di Azure per informazioni dettagliate sull'uso dei log di Monitoraggio di Azure), la query seguente restituirà una tabella contenente un elenco di nomi visualizzati utente, l'ora degli eventi e il conteggio degli eventi per l'ora dell'evento insieme a un grafico visivo. Può essere facilmente modificato per visualizzare il GUID utente o altri attributi:

search *
| where ( Type == "AzureDiagnostics" )
| summarize count(TimeGenerated) by identity_s, TimeGenerated

Azure Data Lake Storage Gen1 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.

Vedere anche