Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í podle nejlepších možností. 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:
Namí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. Najdete pokyny krok za krokem v tématu Povolení a správa protokolů Analýzy úložiště Azure (classic).
Protokoly Analýzy úložiště můžete povolit také programaticky prostřednictvím rozhraní REST API nebo klientské knihovny. Použijte operace Získání vlastností služby Blob Service, Získání vlastností služby Queue Service a Získání vlastností služby Table Service k povolení Analýza úložiště pro každou službu. Chcete-li vidět příklad povolení protokolů Analýzy úložiště pomocí .NET, podívejte se na Povolení protokolů.
Položky protokolu se vytvoří pouze v případě, že jsou vůči koncovému bodu služby vzneseny požadavky. Pokud má například účet úložiště aktivitu v koncovém bodu blobu, ale ne v koncových bodech tabulky nebo fronty, vytvoří se pouze protokoly týkající se služby blobu.
Poznámka:
Protokolování Analýzy úložiště je v současné době dostupné pouze pro služby Blob, Queue a Table. Protokolování analýzy úložiště je také k dispozici pro účty BlockBlobStorage s prémiovým výkonem. Není ale k dispozici pro účty pro obecné účely verze 2 s výkonem Premium.
Požadavky zaznamenané v protokolu
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ýzou úložiště sama o sobě, jako je vytvoření nebo odstranění protokolu, se neprotokolují. Úplný seznam protokolovaných dat je zdokumentován v Témata Protokolované operace a stavové zprávy analýzy úložiště a Formát protokolu analýzy úložiště.
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. To může zahrnovat požadavky, které představují sdílený přístupový podpis (SAS), ale které neprojdou ověřením (například neshoda podpisu SAS). V těchto případech služba nemůže spolehlivě identifikovat volajícího, takže požadavek je pro účely protokolování považován za anonymní. Vzhledem k tomu, že se data protokolu Analýzy úložiště zapsaná do
$logskontejneru účtují účtu úložiště, může protokolování každého neplatného nebo neověřeného požadavku umožnit scénáře zvýšení nákladů a zneužití (například škodlivý klient generující velké objemy neplatných požadavků za účelem zvýšení objemu protokolování).Úplný seznam protokolovaných dat je zdokumentován v Témata Protokolované operace a stavové zprávy analýzy úložiště a Formát protokolu analýzy úložiště.
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ýzy úložiště pro účet úložiště. Lze ho také vytvořit při aktualizaci určitých vlastností účtu úložiště, například nastavení CORS, statického webu, výchozí verze služby nebo obnovitelného odstranění. Kontejner $logs se nachází v blobovém oboru názvů úložného účtu, 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 Seznam objektů blob pro přístup k objektům blob v kontejneru $logs.
Když se protokolují požadavky, Analytika úložiště nahraje 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 kvůli frekvenci, s jakou služba úložiště provádí vyprazdňování zapisovačů 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 pro každou hodinu, můžete pomocí metadat blobu určit, která data protokol obsahuje, zkoumáním polí metadat blobu. 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 pro určení času a podle metadat k identifikaci pouze těch protokolů, 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 programově najdete v tématu Enumerování prostředků Blob a Nastavení a načítání vlastností a metadat pro prostředky 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, tablenebo queue |
YYYY |
Čtyřmístný rok záznamu. Příklad: 2011 |
MM |
Dvoumístný měsíc protokolu. Příklad: 07 |
DD |
Dvoučíselný formát dne v protokolu. Příklad: 31 |
hh |
Dvouciferná hodina, která označuje počáteční hodinu protokolů ve 24hodinovém formátu UTC. 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: writePříklad 2: read,writePří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=writeStartTime=2011-07-31T18:21:46ZEndTime=2011-07-31T18:22:09ZLogVersion=1.0
Záznamy 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 záznamu protokolu pro Blob Storage (povolený 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"