Analysloggning i Azure Storage

Lagringsanalys loggar detaljerad information om lyckade och misslyckade begäranden till en lagringstjänst. Den här informationen kan användas för att övervaka enskilda begäranden och för att diagnostisera problem med en lagringstjänst. Begäranden loggas efter bästa förmåga. Det innebär att de flesta begäranden resulterar i en loggpost, men fullständigheten och aktualiteten för Storage Analytics loggar garanteras inte.

Anteckning

Vi rekommenderar att du använder Azure Storage-loggar i Azure Monitor i stället för Storage Analytics loggar. Mer information finns i någon av följande artiklar:

Lagringsanalysloggning är inte aktiverat som standard för ditt lagringskonto. Du kan aktivera det i Azure-Portal eller med hjälp av PowerShell eller Azure CLI. Stegvisa anvisningar finns i Aktivera och hantera Azure Storage Analytics loggar (klassisk).

Du kan också aktivera Storage Analytics loggar programmatiskt via REST-API:et eller klientbiblioteket. Använd åtgärderna Get Blob Service Properties (Hämta egenskaper för blobtjänsten), Get Queue Service Properties (Hämta kötjänstegenskaper) och Get Table Service Properties (Hämta egenskaper för tabelltjänst) för att aktivera Storage Analytics för varje tjänst. Ett exempel som aktiverar Storage Analytics loggar med hjälp av .NET finns i Aktivera loggar

Loggposter skapas bara om det görs begäranden mot tjänstslutpunkten. Om ett lagringskonto till exempel har aktivitet i blobslutpunkten, men inte i dess tabell- eller köslutpunkter, skapas endast loggar som rör Blob-tjänsten.

Anteckning

Lagringsanalysloggning är för närvarande endast tillgängligt för blob-, kö- och tabelltjänsterna. Storage Analytics loggning är också tillgängligt för BlockBlobStorage-konton med premiumprestanda. Den är dock inte tillgänglig för allmänna v2-konton med premiumprestanda.

Begäranden som loggats i loggning

Logga autentiserade begäranden

Följande typer av autentiserade begäranden loggas:

  • Lyckade begäranden

  • Misslyckade begäranden, inklusive timeout, begränsning, nätverk, auktorisering och andra fel

  • Begäranden med en signatur för delad åtkomst (SAS), inklusive misslyckade och lyckade begäranden

  • Begäranden om analysdata

    Begäranden som görs av själva Storage Analytics, till exempel skapande eller borttagning av loggar, loggas inte. En fullständig lista över loggade data finns dokumenterad i avsnitten Storage Analytics Loggade åtgärder och statusmeddelanden och Storage Analytics loggformat.

Logga anonyma begäranden

Följande typer av anonyma begäranden loggas:

Anteckning

Storage Analytics loggar alla interna anrop till dataplanet. Anrop från Azure Storage-resursprovidern loggas också. Om du vill identifiera dessa begäranden letar du efter frågesträngen <sk=system-1> i begärande-URL:en.

Så här lagras loggar

Alla loggar lagras i blockblobar i en container med namnet $logs, som skapas automatiskt när Storage Analytics aktiveras för ett lagringskonto. Containern $logs finns i blobnamnområdet för lagringskontot, till exempel: http://<accountname>.blob.core.windows.net/$logs. Det går inte att ta bort den här containern när Storage Analytics har aktiverats, men innehållet kan tas bort. Om du använder lagringsbläddringsverktyget för att navigera till containern direkt visas alla blobar som innehåller dina loggningsdata.

Anteckning

Containern $logs visas inte när en containerlistningsåtgärd utförs, till exempel åtgärden Listcontainrar. Den måste nås direkt. Du kan till exempel använda åtgärden Listblobar för att komma åt blobarna i containern $logs .

När begäranden loggas laddar Storage Analytics upp mellanliggande resultat som block. Med jämna mellanrum checkar Storage Analytics in dessa block och gör dem tillgängliga som en blob. Det kan ta upp till en timme innan loggdata visas i blobarna i den $logs containern eftersom lagringstjänstens frekvens rensar loggskrivarna. Dubblettposter kan finnas för loggar som skapats under samma timme. Du kan avgöra om en post är en dubblett genom att kontrollera RequestId och Åtgärdsnummer .

Om du har en stor mängd loggdata med flera filer för varje timme kan du använda blobmetadata för att avgöra vilka data loggen innehåller genom att undersöka blobmetadatafälten. Detta är också användbart eftersom det ibland kan uppstå en fördröjning när data skrivs till loggfilerna: blobmetadata ger en mer exakt indikation på blobinnehållet än blobnamnet.

De flesta lagringsbläddringsverktyg gör att du kan visa metadata för blobar. Du kan också läsa den här informationen med PowerShell eller programmatiskt. Följande PowerShell-kodfragment är ett exempel på filtrering av listan över loggblobar efter namn för att ange en tid och efter metadata för att identifiera bara de loggar som innehåller skrivåtgärder .

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  
}  

Information om hur du visar blobar programmatiskt finns i Räkna upp blobresurser och ange och hämta egenskaper och metadata för blobresurser.

Namngivningskonventioner för loggar

Varje logg skrivs i följande format:

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

I följande tabell beskrivs varje attribut i loggnamnet:

Attribut Beskrivning
<service-name> Namnet på lagringstjänsten. Till exempel: blob, table, eller queue
YYYY Det fyrsiffriga året för loggen. Exempelvis: 2011
MM Den tvåsiffriga månaden för loggen. Exempelvis: 07
DD Den tvåsiffriga dagen för loggen. Exempelvis: 31
hh Den tvåsiffriga timmen som anger starttimvan för loggarna, i utc-format på 24 timmar. Exempelvis: 18
mm Det tvåsiffriga talet som anger startminuten för loggarna. Observera: Det här värdet stöds inte i den aktuella versionen av Storage Analytics och dess värde kommer alltid att vara 00.
<counter> En nollbaserad räknare med sex siffror som anger antalet loggblobar som genererats för lagringstjänsten under en timme. Den här räknaren börjar vid 000000. Exempelvis: 000001

Följande är ett fullständigt exempelloggnamn som kombinerar exemplen ovan:

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

Följande är en exempel-URI som kan användas för att komma åt loggen ovan:

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

När en lagringsbegäran loggas korrelerar det resulterande loggnamnet med den timme då den begärda åtgärden slutfördes. Om till exempel en GetBlob-begäran slutfördes kl. 18:30 2011-07-31 skulle loggen skrivas med följande prefix: blob/2011/07/31/1800/

Loggmetadata

Alla loggblobar lagras med metadata som kan användas för att identifiera vilka loggningsdata bloben innehåller. I följande tabell beskrivs varje metadataattribut:

Attribut Beskrivning
LogType Beskriver om loggen innehåller information om läs-, skriv- eller borttagningsåtgärder. Det här värdet kan innehålla en typ eller en kombination av alla tre, avgränsade med kommatecken.

Exempel 1: write

Exempel 2: read,write

Exempel 3: read,write,delete
StartTime Den tidigaste tiden för en post i loggen, i form av YYYY-MM-DDThh:mm:ssZ. Exempelvis: 2011-07-31T18:21:46Z
EndTime Den senaste tiden för en post i loggen, i form av YYYY-MM-DDThh:mm:ssZ. Exempelvis: 2011-07-31T18:22:09Z
LogVersion Loggformatets version.

I följande lista visas fullständiga exempelmetadata med hjälp av exemplen ovan:

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

Loggposter

Följande avsnitt visar en exempelloggpost för varje Azure Storage-tjänst som stöds.

Exempel på loggpost för Blob Storage

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";;;;;;;;

Exempel på loggpost för Blob Storage (Data Lake Storage Gen2 aktiverad)

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";;;;;;;;

Exempel på loggpost för Queue Storage

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";;;;;;;;

Exempel på loggpost för Table Storage

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"

Nästa steg