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 garantite.
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 abilitarla nel portale di Azure o usando PowerShell o l'interfaccia della riga di comando di Azure. Per indicazioni dettagliate, vedere Abilitare e gestire i log di Archiviazione di Azure Analytics (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 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 tipi di richieste autenticate seguenti:
Richieste riuscite
Richieste non riuscite, tra cui errori di timeout, limitazione, rete, autorizzazione e di altro tipo
Richieste tramite 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:
Richieste riuscite
Errori del server
Errori di timeout per client e server
Richieste GET non riuscite con codice di errore 304 (Non modificato)
Tutte le altre richieste anonime non riuscite 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.
Nota
Analisi archiviazione registra tutte le chiamate interne al piano dati. Vengono registrate anche le chiamate dal provider di risorse Archiviazione di Azure. 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à 00 sempre . |
<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 illustrano 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&sig=XXXXX&sp=rwl&sr=c&sv=2020-04-08&timeout=901;"/logsamples/container1/1.txt";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;172.16.0.0:53371;2019-12-12;654;13;337;0;13;"xxxxxxxxxxxxxxxxxxxxx==";"xxxxxxxxxxxxxxxxxxxxx==";""0x8D9CEF88004E296"";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 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;172.16.0.0;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&peekonly=true&timeout=30;"/logsamples/queue1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;172.16.0.0: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 l'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;172.16.0.0: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"