Protokolování Analýzy úložiště Azure
Analýza úložiště protokoluje podrobné informace o úspěšných a neúspěšných požadavcích na službu úložiště. Tyto informace je možné použít k monitorování jednotlivých požadavků a diagnostice problémů se službou úložiště. Požadavky se protokolují na základě maximálního úsilí. To znamená, že většina požadavků způsobí záznam protokolu, ale úplnost a aktuálnost protokolů Analýza úložiště nejsou zaručeny.
Poznámka:
Místo protokolů Analýza úložiště doporučujeme používat protokoly Azure Storage ve službě Azure Monitor. Další informace najdete v některém z následujících článků:
Protokolování Analýzy úložiště ve výchozím nastavení není pro váš účet úložiště povolené. Můžete ho povolit na webu Azure Portal nebo pomocí PowerShellu nebo Azure CLI. Podrobné pokyny najdete v tématu Povolení a správa protokolů Analýza úložiště Azure (Classic).
Protokoly Analýza úložiště můžete povolit také programově prostřednictvím rozhraní REST API nebo klientské knihovny. K povolení Analýza úložiště pro každou službu použijte operace Získat vlastnosti služby Blob Service, Získání vlastností služby Queue a Získání vlastností služby Table Service. Příklad, který umožňuje Analýza úložiště protokoly pomocí .NET, najdete v tématu Povolení protokolů.
Položky protokolu se vytvoří pouze v případě, že se pro koncový bod služby provádějí požadavky. Pokud má například účet úložiště aktivitu v koncovém bodu objektu blob, ale ne v koncových bodech tabulky nebo fronty, vytvoří se pouze protokoly týkající se služby Blob Service.
Poznámka:
Protokolování Analýzy úložiště je v současné době dostupné pouze pro služby Blob a Table service a Službu front. protokolování Analýza úložiště je také k dispozici pro výkon úrovně Premium.Účty BlockBlobStorage Není ale k dispozici pro účty pro obecné účely verze 2 s výkonem Premium.
Protokolované požadavky
Protokolování ověřených požadavků
Protokolují se následující typy ověřovaných požadavků:
Úspěšné požadavky
Neúspěšné požadavky, včetně vypršení časového limitu, omezování, chyb sítě, selhání autorizace a dalších chyb
Požadavky používající SAS (Shared Access Signature) nebo OAuth (Open Authorization), včetně neúspěšných i úspěšných požadavků
Žádosti o analytická data
Požadavky provedené Analýza úložiště samy o sobě, jako je vytvoření nebo odstranění protokolu, se nezaprotokolují. Úplný seznam protokolovaných dat je zdokumentovaný v tématech Analýza úložiště Protokolované operace a stavové zprávy a Analýza úložiště formát protokolu.
Protokolování anonymních požadavků
Protokolují se následující typy anonymních požadavků:
Úspěšné požadavky
Chyby serveru
Chyby časového limitu pro klienta i server
Neúspěšné požadavky GET s kódem chyby 304 (Nezměněno)
Všechny ostatní neúspěšné anonymní požadavky nejsou protokolovány. Úplný seznam protokolovaných dat je zdokumentovaný v tématech Analýza úložiště Protokolované operace a stavové zprávy a Analýza úložiště formát protokolu.
Poznámka:
Analýza úložiště protokoluje všechna interní volání do roviny dat. Zaprotokolují se také volání z poskytovatele prostředků azure Storage. Pokud chcete tyto požadavky identifikovat, vyhledejte řetězec <sk=system-1>
dotazu v adrese URL požadavku.
Jak se ukládají protokoly
Všechny protokoly se ukládají v objektech blob bloku v kontejneru s názvem $logs
, který se automaticky vytvoří při povolení Analýza úložiště pro účet úložiště. Kontejner $logs
se nachází v oboru názvů objektů blob účtu úložiště, například: http://<accountname>.blob.core.windows.net/$logs
. Po povolení Analýza úložiště nelze tento kontejner odstranit, i když je možné jeho obsah odstranit. Pokud pomocí nástroje pro procházení úložiště přejdete přímo do kontejneru, zobrazí se všechny objekty blob, které obsahují vaše data protokolování.
Poznámka:
Kontejner $logs
se nezobrazí při provedení operace výpisu kontejneru, jako je například operace Výpis kontejnerů. Musí být přístupný přímo. Můžete například použít operaci Výpis objektů blob pro přístup k objektům blob v kontejneru $logs
.
Když se protokolují požadavky, Analýza úložiště nahrají přechodné výsledky jako bloky. Pravidelně Analýza úložiště tyto bloky potvrdí a zpřístupní je jako objekt blob. Zobrazení dat protokolu v objektech blob v kontejneru $logs může trvat až hodinu, protože frekvence, s jakou služba úložiště vyprázdní zapisovače protokolů. Duplicitní záznamy mohou existovat pro protokoly vytvořené ve stejné hodině. Pokud je záznam duplicitní, můžete určit tak, že zkontrolujete ID požadavku a číslo operace .
Pokud máte velký objem dat protokolu s více soubory za každou hodinu, můžete pomocí metadat objektů blob určit, která data protokol obsahuje, prozkoumáním polí metadat objektů blob. To je také užitečné, protože při zápisu dat do souborů protokolu může dojít ke zpoždění: metadata objektu blob poskytují přesnější označení obsahu objektu blob než název objektu blob.
Většina nástrojů pro procházení úložiště umožňuje zobrazit metadata objektů blob; Tyto informace si můžete přečíst také pomocí PowerShellu nebo programově. Následující fragment kódu PowerShellu je příkladem filtrování seznamu objektů blob protokolu podle názvu, aby bylo možné určit čas a metadata, aby se identifikovaly pouze protokoly, které obsahují operace zápisu .
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
}
Informace o výpisu objektů blob prostřednictvím kódu programu najdete v tématu Vytvoření výčtu prostředků objektů blob a nastavení a načítání vlastností a metadat pro prostředky objektů blob.
Zásady vytváření názvů protokolů
Každý protokol bude zapsán v následujícím formátu:
<service-name>/YYYY/MM/DD/hhmm/<counter>.log
Následující tabulka popisuje jednotlivé atributy v názvu protokolu:
Atribut | Popis |
---|---|
<service-name> |
Název služby úložiště. Například: blob , table nebo queue |
YYYY |
Čtyřmístný rok protokolu. Příklad: 2011 |
MM |
Dvoumístný měsíc protokolu. Příklad: 07 |
DD |
Dvoumístný den protokolu. Příklad: 31 |
hh |
Dvouciferná hodina označující počáteční hodinu protokolů ve formátu UTC 24 hodin. Příklad: 18 |
mm |
Dvouciferné číslo, které označuje počáteční minutu pro protokoly. Poznámka: Tato hodnota není v aktuální verzi Analýza úložiště podporována a její hodnota bude vždy 00 . |
<counter> |
Čítač založený na nule se šesti číslicemi, který označuje počet objektů blob protokolu vygenerovaných pro službu úložiště za hodinu. Tento čítač začíná na 000000 . Příklad: 000001 |
Následuje úplný název ukázkového protokolu, který kombinuje výše uvedené příklady:
blob/2011/07/31/1800/000001.log
Následuje ukázkový identifikátor URI, který se dá použít pro přístup k výše uvedenému protokolu:
https://<accountname>.blob.core.windows.net/$logs/blob/2011/07/31/1800/000001.log
Když se zaprotokoluje požadavek na úložiště, výsledný název protokolu koreluje s hodinou po dokončení požadované operace. Pokud se například žádost GetBlob dokončila v 17:30 19. 7. 2011, zapíše se protokol s následující předponou: blob/2011/07/31/1800/
Metadata protokolu
Všechny objekty blob protokolu se ukládají s metadaty, která lze použít k identifikaci dat protokolování, která objekt blob obsahuje. Následující tabulka popisuje každý atribut metadat:
Atribut | Popis |
---|---|
LogType |
Popisuje, jestli protokol obsahuje informace týkající se operací čtení, zápisu nebo odstranění. Tato hodnota může obsahovat jeden typ nebo kombinaci všech tří oddělených čárkami. Příklad 1: write Příklad 2: read,write Příklad 3: read,write,delete |
StartTime |
Nejstarší čas položky v protokolu ve formě YYYY-MM-DDThh:mm:ssZ . Příklad: 2011-07-31T18:21:46Z |
EndTime |
Poslední čas záznamu v protokolu ve formě YYYY-MM-DDThh:mm:ssZ . Příklad: 2011-07-31T18:22:09Z |
LogVersion |
Verze formátu protokolu. |
Následující seznam zobrazuje úplná ukázková metadata pomocí výše uvedených příkladů:
LogType=write
StartTime=2011-07-31T18:21:46Z
EndTime=2011-07-31T18:22:09Z
LogVersion=1.0
Položky protokolu
Následující části ukazují příklad položky protokolu pro každou podporovanou službu Azure Storage.
Příklad položky protokolu pro 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&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";;;;;;;;
Příklad položky protokolu pro Službu Blob Storage (povolená služba Data Lake Storage)
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";;;;;;;;
Příklad položky protokolu pro 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&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";;;;;;;;
Příklad položky protokolu pro 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;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"