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 Lagringsanalys loggar garanteras inte.

Anteckning

Vi rekommenderar att du använder Azure Storage loggar i Azure Monitor i stället för Lagringsanalys 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 Lagringsanalys 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 Lagringsanalys för varje tjänst. Ett exempel som aktiverar Lagringsanalys 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. Lagringsanalys 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 Lagringsanalys, till exempel skapande eller borttagning av loggar, loggas inte. En fullständig lista över loggade data finns dokumenterad i avsnitten Lagringsanalys Loggade åtgärder och statusmeddelanden och Lagringsanalys loggformat.

Logga anonyma begäranden

Följande typer av anonyma begäranden loggas:

Anteckning

Lagringsanalys 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 Lagringsanalys 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 Lagringsanalys 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 Lagringsanalys upp mellanliggande resultat som block. Med jämna mellanrum checkar Lagringsanalys 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 Lagringsanalys och dess värde är 00alltid .
<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

I följande avsnitt visas en exempelloggpost för varje Azure Storage tjänst som stöds.

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

Exempelloggpost för Kö 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";;;;;;;;

Exempelloggpost 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