Registrazione di Analisi archiviazione di Azure

Analisi archiviazione registra informazioni dettagliate sulle richieste riuscite e non a un servizio di archiviazione. Queste informazioni possono essere utilizzate per monitorare le singole richieste e per diagnosticare problemi relativi a un servizio di archiviazione. Le richieste vengono registrate in base al massimo sforzo. Ciò significa che la maggior parte delle richieste comporterà un record di log, ma la completezza e la tempestività dei log Analisi archiviazione non sono garantiti.

Nota

È consigliabile usare i log di Archiviazione di Azure in Monitoraggio di Azure anziché Analisi archiviazione log. Per altre informazioni, vedere uno degli articoli seguenti:

La registrazione di Analisi archiviazione non è abilitata per impostazione predefinita per l'account di archiviazione. È possibile abilitarlo nella portale di Azure o tramite PowerShell o l'interfaccia della riga di comando di Azure. Per istruzioni dettagliate, vedere Abilitare e gestire i log di Azure Analisi archiviazione (versione classica).

È anche possibile abilitare i log Analisi archiviazione a livello di codice tramite l'API REST o la libreria client. Usare le operazioni Recupera proprietà del servizio BLOB, Recupera proprietà del servizio di accodamento, Recupera proprietà del servizio tabelle per abilitare Analisi archiviazione per ciascun servizio. Per visualizzare un esempio che abilita i log di Analisi archiviazione tramite .NET, vedere Abilitare i log

Le voci di registro vengono create solo se esistono richieste effettuate per l'endpoint di servizio. Se, ad esempio, un account di archiviazione presenta un'attività nell'endpoint BLOB ma non negli endpoint tabella o coda, saranno creati solo log relativi al servizio BLOB.

Nota

La registrazione dell'analisi archiviazione è attualmente disponibile solo per servizi BLOB, code e tabelle. La registrazione Analisi archiviazione è disponibile anche per gli account BlockBlobStorage ad alte prestazioni. Tuttavia, non è disponibile per gli account per utilizzo generico v2 ad alte prestazioni.

Registrazione di richieste registrate

Registrazione delle richieste autenticate

Vengono registrati i seguenti tipi di richieste autenticate:

  • Richieste riuscite

  • Richieste non riuscite, tra cui errori di timeout, limitazione, rete, autorizzazione e di altro tipo

  • Richieste che usano una firma di accesso condiviso o OAuth, incluse le richieste riuscite e non riuscite

  • Richieste ai dati di analisi

    Le richieste eseguite dalla stessa Analisi archiviazione, ad esempio, la creazione oppure l'eliminazione di log, non vengono registrate. Un elenco completo dei dati registrati è documentato negli argomenti Operazioni registrate in Analisi archiviazione e messaggi di stato e Formato log Analisi archiviazione.

Registrazione di richieste anonime

Vengono registrati i seguenti tipi di richieste anonime:

Nota

Analisi archiviazione registra tutte le chiamate interne al piano dati. Le chiamate dal provider di risorse di archiviazione di Azure vengono registrate anche. Per identificare queste richieste, cercare la stringa <sk=system-1> di query nell'URL della richiesta.

Come vengono archiviati i log

Tutti i log vengono archiviati in Blob in blocchi in un contenitore denominato $logs, che viene creato automaticamente quando si abilita Analisi archiviazione per un account di archiviazione. Il contenitore $logs si trova nello spazio dei nomi Blob dell'account di archiviazione, ad esempio: http://<accountname>.blob.core.windows.net/$logs. Questo contenitore non può essere eliminato una volta abilitata Analisi di archiviazione, sebbene sia possibile eliminarne il contenuto. Se si usa lo strumento di esplorazione dell'archiviazione per passare direttamente al contenitore, vengono visualizzati tutti i BLOB contenenti i dati di registrazione.

Nota

Il contenitore $logs non viene visualizzato quando viene eseguita un'operazione di inclusione nell'elenco del contenitore, ad esempio, l'operazione ListContainers. È necessario effettuare l'accesso diretto. Ad esempio, è possibile usare l'operazione ListBlobs per accedere ai BLOB nel contenitore $logs.

Nel momento in cui vengono registrate le richieste, Analisi archiviazione carica i risultati intermedi come blocchi. Analisi archiviazione invierà periodicamente questi blocchi e li renderà disponibili come BLOB. A causa della frequenza con cui il servizio di archiviazione scarica i writer dei log, la visualizzazione dei dati dei BLOB presenti nel contenitore $logs può richiedere fino a un'ora. Per i log creati nella stessa ora possono esistere record duplicati. È possibile determinare se un record è un duplicato controllandone il numero RequestId e Operation.

Se ogni ora vengono registrati ingenti volumi di dati memorizzati in diversi file, è possibile usare i metadati dei BLOB per determinare i dati contenuti nel log esaminando i campi dei metadati. Questa procedura può rivelarsi utile perché in alcune occasioni i dati vengono scritti nei file di log con un ritardo: i metadati dei BLOB forniscono un'indicazione più accurata del contenuto del BLOB rispetto al nome di quest'ultimo.

La maggior parte degli strumenti di esplorazione delle informazioni archiviate consente di visualizzare i metadati dei BLOB. È possibile anche leggere queste informazioni a livello di codice o usando PowerShell. Il seguente frammento di codice PowerShell è un esempio di filtro dell'elenco di BLOB di log in base al nome per specificare un'ora e in base ai metadati per identificare soltanto i log contenenti operazioni di scrittura.

Get-AzStorageBlob -Container '$logs' |  
Where-Object {  
    $_.Name -match 'blob/2014/05/21/05' -and   
    $_.ICloudBlob.Metadata.LogType -match 'write'  
} |  
ForEach-Object {  
    "{0}  {1}  {2}  {3}" -f $_.Name,   
    $_.ICloudBlob.Metadata.StartTime,   
    $_.ICloudBlob.Metadata.EndTime,   
    $_.ICloudBlob.Metadata.LogType  
}  

Per informazioni sulla creazione di elenchi di BLOB a livello di codice, vedere Enumerazione di risorse BLOB e Impostazione e recupero di proprietà e metadati per le risorse BLOB.

Convenzioni di denominazione dei log

Ciascun log verrà scritto nel seguente formato:

<service-name>/YYYY/MM/DD/hhmm/<counter>.log

Nella tabella seguente vengono descritti i singoli attributi del nome del log:

Attributo Descrizione
<service-name> Nome del servizio di archiviazione. Ad esempio: blob, table o queue
YYYY Anno a quattro cifre per il log. Ad esempio: 2011
MM Mese a due cifre per il log. Ad esempio: 07
DD Giorno a due cifre per il log. Ad esempio: 31
hh Ora a due cifre che indica l'ora di inizio per i log, nel formato UTC 24 ore. Ad esempio: 18
mm Numero a due cifre che indica il minuto di inizio per i log. Nota: Questo valore non è supportato nella versione corrente di Analisi archiviazione e il relativo valore sarà 00sempre .
<counter> Contatore base zero con sei cifre che indica il numero di BLOB di log generati per il servizio di archiviazione in un'ora. Questo contatore parte da 000000. Ad esempio: 000001

Di seguito è riportato un nome di log completo di esempio che combina gli esempi precedenti:

blob/2011/07/31/1800/000001.log

Di seguito è riportato un URI di esempio che può essere utilizzato per accedere al log precedente:

https://<accountname>.blob.core.windows.net/$logs/blob/2011/07/31/1800/000001.log

Quando viene registrata una richiesta di archiviazione, il nome log risultante è correlato all'ora in cui è stata completata l'operazione richiesta. Ad esempio, se una richiesta GetBlob è stata completata alle 6:30 PM del 7/31/2011, il log viene scritto con il prefisso seguente: blob/2011/07/31/1800/

Metadati dei log

Tutti i BLOB dei log vengono archiviati con i metadati che possono essere utilizzati per identificare i dati di registrazione contenuti nei BLOB. Nella tabella seguente sono descritti i singoli attributi dei metadati:

Attributo Descrizione
LogType Descrive se il log contiene informazioni relative alle operazioni di lettura, scrittura o eliminazione. Questo valore può includere un solo tipo o una combinazione di tutti e tre, separati da virgola.

Esempio 1: write

Esempio 2: read,write

Esempio 3: read,write,delete
StartTime L'ora meno recente di una voce del log, sotto forma di YYYY-MM-DDThh:mm:ssZ. Ad esempio: 2011-07-31T18:21:46Z
EndTime L'ora più recente di una voce del log, sotto forma di YYYY-MM-DDThh:mm:ssZ. Ad esempio: 2011-07-31T18:22:09Z
LogVersion Versione del formato del log.

Nell'elenco seguente vengono visualizzati metadati di esempio completi utilizzando i precedenti esempi:

  • LogType=write
  • StartTime=2011-07-31T18:21:46Z
  • EndTime=2011-07-31T18:22:09Z
  • LogVersion=1.0

Voci di log

Le sezioni seguenti mostrano una voce di log di esempio per ogni servizio di archiviazione di Azure supportato.

Voce di log di esempio per l'archiviazione BLOB

2.0;2022-01-03T20:34:54.4617505Z;PutBlob;SASSuccess;201;7;7;sas;;logsamples;blob;https://logsamples.blob.core.windows.net/container1/1.txt?se=2022-02-02T20:34:54Z&amp;sig=XXXXX&amp;sp=rwl&amp;sr=c&amp;sv=2020-04-08&amp;timeout=901;"/logsamples/container1/1.txt";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53371;2019-12-12;654;13;337;0;13;"xxxxxxxxxxxxxxxxxxxxx==";"xxxxxxxxxxxxxxxxxxxxx==";"&quot;0x8D9CEF88004E296&quot;";Monday, 03-Jan-22 20:34:54 GMT;;"Microsoft Azure Storage Explorer, 1.20.1, win32, azcopy-node, 2.0.0, win32, AzCopy/10.11.0 Azure-Storage/0.13 (go1.15; Windows_NT)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Voce di log di esempio per l'archiviazione BLOB (Data Lake Storage Gen2 abilitata)

2.0;2022-01-04T22:50:56.0000775Z;RenamePathFile;Success;201;49;49;authenticated;logsamples;logsamples;blob;"https://logsamples.dfs.core.windows.net/my-container/myfileorig.png?mode=legacy";"/logsamples/my-container/myfilerenamed.png";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;73.157.16.8;2020-04-08;591;0;224;0;0;;;;Friday, 11-Jun-21 17:58:15 GMT;;"Microsoft Azure Storage Explorer, 1.19.1, win32 azsdk-js-storagedatalake/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Voce di log di esempio per l'archiviazione code

2.0;2022-01-03T20:35:04.6097590Z;PeekMessages;Success;200;5;5;authenticated;logsamples;logsamples;queue;https://logsamples.queue.core.windows.net/queue1/messages?numofmessages=32&amp;peekonly=true&amp;timeout=30;"/logsamples/queue1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53385;2020-04-08;536;0;232;62;0;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32 azsdk-js-storagequeue/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Voce di log di esempio per Archiviazione tabelle

1.0;2022-01-03T20:35:13.0719766Z;CreateTable;Success;204;30;30;authenticated;logsamples;logsamples;table;https://logsamples.table.core.windows.net/Tables;"/logsamples/Table1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53389;2018-03-28;601;22;339;0;22;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32, Azure-Storage/2.10.3 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"

Passaggi successivi