Storage Analytics Protokollformat

Storage Analytics Protokollierung zeichnet Details zu erfolgreichen und fehlgeschlagenen Anforderungen für Ihr Speicherkonto auf. Storage Analytics Protokollen können Sie Details zu Lese-, Schreib- und Löschvorgängen für Ihre Azure-Tabellen, Warteschlangen und Blobs überprüfen. Sie ermöglichen es Ihnen auch, die Gründe für fehlerhafte Anforderungen wie Timeouts, Drosselung und Autorisierungsfehler zu untersuchen.

Jeder Protokolleintrag entspricht einem Standardprotokollformat, das von der Version der Storage Analytics verwendeten Protokollierung bestimmt wird. Version 1.0 enthält alle felder, die im Protokolleintragsformat 1.0 beschrieben sind. Version 2.0 fügt Felder zum Protokollieren von Informationen zu Anforderungen an die Blob- und Warteschlangendienste hinzu, die mit einem OAuth 2.0-Token autorisiert sind. Diese zusätzlichen Felder werden im Protokolleintragsformat 2.0 beschrieben.

Das erste Feld eines Protokolleintrags gibt immer die Versionsnummer an. Consumer von Protokollierungsdaten können von diesem Feld sowie von folgenden Aspekten eines Protokolleintrags abhängig sein:

  • Alle aufgefüllten oder leeren Felder werden durch ein Semikolon ";" getrennt.

  • Jeder Protokolleintrag wird durch ein Zeilenumbruchzeichen "\n" getrennt.

  • Das letzte Feld im Eintrag endet nicht mit einem Semikolon ";"

Überprüfen Sie immer die Version, bevor Sie einen Protokolleintrag verarbeiten.

Hinweis

Jedes Feld, das ein Anführungszeichen ("), ein Semikolon (;) oder einen Zeilenumbruch (\n) enthalten kann, ist HTML-codiert und in Anführungszeichen gesetzt.

Festlegen der Protokollierungsversion

Um die Protokollierungsversion festzulegen, rufen Sie den entsprechenden Vorgang für den Dienst auf:

Protokolleintragsformat 1.0

Jeder Protokolleintrag der Version 1.0 entspricht dem folgenden Format:

<version-number>;<request-start-time>;<operation-type>;<request-status>;<http-status-code>;<end-to-end-latency-in-ms>;<server-latency-in-ms>;<authentication-type>;<requester-account-name>;<owner-account-name>;<service-type>;<request-url>;<requested-object-key>;<request-id-header>;<operation-count>;<requester-ip-address>;<request-version-header>;<request-header-size>;<request-packet-size>;<response-header-size>;<response-packet-size>;<request-content-length>;<request-md5>;<server-md5>;<etag-identifier>;<last-modified-time>;<conditions-used>;<user-agent-header>;<referrer-header>;<client-request-id>

Protokolleintragsfelder für Version 1.0

In der folgenden Tabelle sind die Felder in einem Protokolleintrag der Version 1.0 aufgeführt und definiert.

Feldname Feldtyp Definition Beispiel
<version-number> Zeichenfolge Die Version von Storage Analytics Protokollierung, die zum Aufzeichnen des Eintrags verwendet wird. 1.0
<request-start-time> timestamp Die Zeit in UTC, zu der die Anforderung von der Speicheranalyse empfangen wurde. 2011-08-09T21:44:36.2481552Z
<operation-type> Zeichenfolge Der Typ des ausgeführten REST-Vorgangs. Eine Liste der möglichen Vorgänge finden Sie im Thema Storage Analytics Protokollierte Vorgänge und Statusmeldungen. GetBlob
<request-status> Zeichenfolge Hierbei handelt es sich um den Status des angeforderten Vorgangs. Eine Liste möglicher status Nachrichten finden Sie im Thema Storage Analytics Protokollierte Vorgänge und Statusmeldungen. In Version 2017-04-17 und höher ClientOtherError wird nicht verwendet. Stattdessen enthält dieses Feld den Fehlercode. Success
<http-status-code> Zeichenfolge Hierbei handelt es sich um den HTTP-Statuscode für die Anforderung. Wenn die Anforderung unterbrochen wurde, kann dieser Wert auf Unknown festgelegt werden. 200
<end-to-end-latency-in-ms> duration Die Gesamtzeit in Millisekunden, um den angeforderten Vorgang auszuführen, einschließlich der Zeit zum Lesen der eingehenden Anforderung und Senden der Antwort an den Anforderer. 39
<server-latency-in-ms> duration Die Gesamtzeit in Millisekunden, um den angeforderten Vorgang auszuführen. Dieser Wert umfasst nicht die Netzwerklatenzzeit (die Zeit, um die eingehende Anforderung zu lesen und die Antwort an den Anforderer zu senden). 22
<authentication-type> Zeichenfolge Gibt an, ob die Anforderung autorisiert, anonym oder Shared Access Signature (SAS) verwendet wurde. authenticated
<requester-account-name> Zeichenfolge Identisch mit dem Speicherkontonamen, wenn die Anforderung autorisiert ist. Dieses Feld ist bei anonymen und SAS-Anforderungen leer. myaccount
<owner-account-name> Zeichenfolge Der Kontoname für den Dienstinhaber. myaccount
<service-type> Zeichenfolge Der angeforderte Speicherdienst: BLOB, Tabelle oder Warteschlange. blob
<request-url> Zeichenfolge Die vollständige URL der Anforderung, in Anführungszeichen. "https://myaccount.blob.core.windows.net/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034?timeout=30000"
<requested-object-key> Zeichenfolge Der Schlüssel des angeforderten Objekts, in Anführungszeichen. In diesem Feld wird immer der Kontoname verwendet, selbst wenn ein benutzerdefinierter Domänenname konfiguriert wurde. "/myaccount/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034"
<request-id-header> guid Die vom Speicherdienst zugewiesene Anforderungs-ID. Dies entspricht dem Wert des x-ms-request-id-Headers. 668a4744-7eb3-4e8f-b8d3-fbfd3829715b
<operation-count> INT Die Nummer jedes protokollierten Vorgangs für eine Anforderung, unter Verwendung des Indexes 0. Manche Anforderungen erfordern mehrere Vorgänge, z. B. Copy Blob, die meisten jedoch nur einen. 0
<requester-ip-address> Zeichenfolge Hierbei handelt es sich um die IP-Adresse des Anforderers einschließlich der Portnummer. 192.100.0.102:4362
<request-version-header> Zeichenfolge Die Speicherdienstversion, die beim Erstellen der Anforderung angegeben wurde. Dies entspricht dem Wert des x-ms-version-Headers. 2009-09-19
<request-header-size> long Die Größe des Anforderungsheaders in Bytes. Wenn bei einer Anforderung ein Fehler aufgetreten ist, kann dieser Wert leer sein. 280
<request-packet-size> long Die Größe der vom Speicherdienst gelesenen Anforderungspakete in Bytes. Wenn bei einer Anforderung ein Fehler aufgetreten ist, kann dieser Wert leer sein. 0
<response-header-size> long Die Größe des Antwortheaders in Bytes. Wenn bei einer Anforderung ein Fehler aufgetreten ist, kann dieser Wert leer sein. 216
<response-packet-size> long Hierbei handelt es sich um die Größe der vom Speicherdienst geschriebenen Antwortpakete in Byte. Wenn bei einer Anforderung ein Fehler aufgetreten ist, kann dieser Wert leer sein. 0
<request-content-length> long Der Wert des Content-Length-Headers für die an den Speicherdienst gesendete Anforderung. Wenn die Anforderung erfolgreich war, ist dieser Wert gleich <request-packet-size>. Wenn bei einer Anforderung ein Fehler aufgetreten ist, darf dieser Wert nicht gleich <request-packet-size> sein, oder er kann leer sein. 0
<request-md5> Zeichenfolge Der Wert des Content-MD5-Headers oder des x-ms-content-md5-Headers in der Anforderung, in Anführungszeichen. Der MD5-Hashwert, der in diesem Feld angegeben ist, stellt den Inhalt der Anforderung dar. Dieses Feld kann leer sein. "788815fd0198be0d275ad329cafd1830"
<server-md5> Zeichenfolge Der Wert des vom Speicherdienst berechneten MD5-Hashs, in Anführungszeichen. Dieses Feld kann leer sein. "3228b3cf1069a5489b298446321f8521"
<etag-identifier> Zeichenfolge Hierbei handelt es sich um den ETag-Bezeichner für das zurückgegebene Objekt in Anführungszeichen. "0x8D101F7E4B662C4"
<last-modified-time> datetime Die Uhrzeit der letzten Änderung (LMT) für das zurückgegebene Objekt, in Anführungszeichen. Dieses Feld ist für Vorgänge leer, die mehrere Objekte zurückgeben können. Tuesday, 09-Aug-11 21:13:26 GMT
<conditions-used> Zeichenfolge Eine durch Semikolons getrennte Liste in Form von ConditionName=value, in Anführungszeichen. ConditionName kann eine der folgenden Bedingungen sein:

- If-Modified-Since
- If-Unmodified-Since
- If-Match
- If-None-Match
"If-Modified-Since=Friday, 05-Aug-11 19:11:54 GMT"
<user-agent-header> Zeichenfolge Der Wert des User-Agent-Headers, in Anführungszeichen. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
<referrer-header> Zeichenfolge Der Wert des Referer-Headers, in Anführungszeichen. "http://contoso.com/about.html"
<client-request-id> Zeichenfolge Der Wert des in der Anforderung enthaltenen x-ms-client-request-id Headers, in Anführungszeichen. "8/9/2011 9:44:36 PM 45ef1c0f-8c71-4153-bc88-38589f63fbfc"

Beispielprotokolleinträge für Version 1.0

Get Blob

Der folgende Beispielprotokolleintrag gilt für eine anonyme GetBlob-Anforderung :

1.0;2014-06-19T22:59:23.1967767Z;GetBlob;AnonymousSuccess;200;17;16;anonymous;;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container1/00001.txt";"/storagesample/sample-container1/00001.txt";61d2e3f6-bcb7-4cd1-a81e-4f8f497f0da2;0;192.100.0.102:4362;2014-02-14;283;0;354;23;0;;;""0x8D15A2913C934DE"";Thursday, 19-Jun-14 22:58:10 GMT;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"44dfd78e-7288-4898-8f70-c3478983d3b6"

Put Blob

Der folgende Beispielprotokolleintrag gilt für eine autorisierte PutBlob-Anforderung :

1.0;2014-06-19T01:33:54.0926521Z;PutBlob;Success;201;197;54;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container1/00001.txt";"/storagesample/sample-container1/00001.txt";a200be85-1c98-4dd9-918e-f13d8c0538e0;0;192.100.0.102:4362;2014-02-14;460;23;225;0;23;"DrPO6z1f00SCsomhaf+J/A==";"DrPO6z1f00SCsomhaf+J/A==";""0x8D15975AA456EA4"";Thursday, 19-Jun-14 01:33:53 GMT;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"1fe6814a-e4cb-4195-a3cf-837dc7120f68"

Kopieren von Blobs

Die folgenden Beispielprotokolleinträge gelten für eine autorisierte CopyBlob-Anforderung . Der Kopierblobvorgang protokolliert 3 Vorgänge: CopyBlob, CopyBlobSource und CopyBlobDestination. Die Anforderungs-ID-Eigenschaft ist für alle drei Vorgänge identisch, aber die Vorgangs-ID wird bei jedem Vorgang um eins erhöht.

Dienstversion 2012-02-12 und höher

In der Version 2012-02-12 und höher ist <requested-object-key> eine URL, die das in den Versionen vor 2012-02-12 verwendete Format /accountname/containername/blobname ersetzt.

Die Anforderungs-ID und die Vorgangs-ID sind unten für jeden Protokolleintrag fett dargestellt:

1.0;2014-06-19T23:31:36.5780954Z;CopyBlob;Success;202;13;13;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container/Copy-sample-blob.txt";"/storagesample/sample-container/Copy-sample-blob.txt";505fc366-688f-4622-bbb1-20e8fc26cffd;0;192.100.0.102:4362;2014-02-14;538;0;261;0;0;;;""0x8D15A2DBF11553E"";Thursday, 19-Jun-14 23:31:36 GMT;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"dc00da87-5483-4524-b0dc-d1df025a6a9a"

1.0;2014-06-19T23:31:36.5780954Z;CopyBlobSource;Success;202;13;13;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container/Copy-sample-blob.txt";"https://storagesample.blob.core.windows.net/sample-container/sample-blob.txt";505fc366-688f-4622-bbb1-20e8fc26cffd;1;192.100.0.102:4362;2014-02-14;538;0;261;0;0;;;;;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"dc00da87-5483-4524-b0dc-d1df025a6a9a"

1.0;2014-06-19T23:31:36.5780954Z;CopyBlobDestination;Success;202;13;13;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container/Copy-sample-blob.txt";"/storagesample/sample-container/Copy-sample-blob.txt";505fc366-688f-4622-bbb1-20e8fc26cffd;2;192.100.0.102:4362;2014-02-14;538;0;261;0;0;;;;;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"dc00da87-5483-4524-b0dc-d1df025a6a9a"

Dienstversionen vor 2012-02-12

Die Anforderungs-ID und die Vorgangs-ID sind unten für jeden Protokolleintrag fett dargestellt:

1.0;2011-08-09T18:02:40.6526789Z;CopyBlob;Success;201;28;28;authenticated;account8ce1b67a9e80b35;myaccount;blob;"https://myaccount.blob.core.windows.net/thumbnails/lake.jpg?timeout=30000";"/myaccount/thumbnails/lakebck.jpg";85ba10a5-b7e2-495e-8033-588e08628c5d;0;268.20.203.21:4362;2009-09-19;505;0;188;0;0;;;"0x8CE1B67AD473BC5";Friday, 09-Aug-11 18:02:40 GMT;;;;"8/9/2011 6:02:40 PM 683803d3-538f-4ba8-bc7c-24c83aca5b1a"

1.0;2011-08-09T18:02:40.6526789Z;CopyBlobSource;Success;201;28;28;authenticated;myaccount;myaccount;blob;"https://myaccount.blob.core.windows.net/thumbnails/lake.jpg?timeout=30000";"/myaccount/thumbnails/lake.jpg";85ba10a5-b7e2-495e-8033-588e08628c5d;1;268.20.203.21:4362;2009-09-19;505;0;188;0;0;;;;;;;;"8/9/2011 6:02:40 PM 683803d3-538f-4ba8-bc7c-24c83aca5b1a"

1.0;2011-08-09T18:02:40.6526789Z;CopyBlobDestination;Success;201;28;28;authenticated;myaccount;myaccount;blob;"https://myaccount.blob.core.windows.net/thumbnails/lake.jpg?timeout=30000";"/myaccount/thumbnails/lakebck.jpg";85ba10a5-b7e2-495e-8033-588e08628c5d;2;268.20.203.21:4362;2009-09-19;505;0;188;0;0;;;;;;;;"8/9/2011 6:02:40 PM 683803d3-538f-4ba8-bc7c-24c83aca5b1a"

Protokolleintragsformat 2.0

Storage Analytics Protokollformatversion 2.0 fügt Felder hinzu, um Protokollierungsinformationen zu Anforderungen zu unterstützen, die mit einem von Microsoft Entra ID bereitgestellten OAuth 2.0-Token autorisiert wurden. Weitere Informationen finden Sie unter Authentifizieren mit Microsoft Entra ID.

Jeder Protokolleintrag der Version 2.0 entspricht dem folgenden Format:

<version-number>;<request-start-time>;<operation-type>;<request-status>;<http-status-code>;<end-to-end-latency-in-ms>;<server-latency-in-ms>;<authentication-type>;<requester-account-name>;<owner-account-name>;<service-type>;<request-url>;<requested-object-key>;<request-id-header>;<operation-count>;<requester-ip-address>;<request-version-header>;<request-header-size>;<request-packet-size>;<response-header-size>;<response-packet-size>;<request-content-length>;<request-md5>;<server-md5>;<etag-identifier>;<last-modified-time>;<conditions-used>;<user-agent-header>;<referrer-header>;<client-request-id>;<user-object-id>;<tenant-id>;<application-id>;<audience>;<issuer>;<user-principal-name>;<reserved-field>;<authorization-detail>

Protokolleintragsfelder für Version 2.0

In der folgenden Tabelle werden die zusätzlichen Felder aufgelistet und definiert, die in einen Protokolleintrag der Version 2.0 geschrieben wurden. Alle Felder der Version 1.0 sind in Protokolleinträgen der Version 2.0 enthalten.

Feldname Feldtyp Definition Beispiel
UserObjectId Zeichenfolge Die für die Authentifizierung verwendete Objekt-ID. Kann ein beliebiger Sicherheitsprinzipal sein, einschließlich eines Benutzers, einer verwalteten Identität oder eines Dienstprinzipals. 03124200-da00-4aa6-aa09-be77923d7870
TenantId Zeichenfolge Mandanten-ID, die in der Bearerautorisierung verwendet wird. 72f988bf-86f1-41af-91ab-2d7cd011db47
ApplicationId Zeichenfolge Bei der Bearerautorisierung verwendete Anwendungs-ID 2cd20493-fe97-42ef-9ace-ab95b63d82c4
Ressourcen-ID Zeichenfolge Ressourcen-ID, die in der Bearerautorisierung verwendet wird. https://storage.azure.com

https://storagesamples.blob.core.windows.net
Issuer (Aussteller) Zeichenfolge Aussteller, der in der Bearerautorisierung verwendet wird. https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/
UserPrincipalName Zeichenfolge Benutzerprinzipalname, der in der Bearerautorisierung verwendet wird. testuser@azure.onmicrosoft.com
Reserviert Zeichenfolge Für die zukünftige Verwendung reserviert. Value ist eine leere Zeichenfolge.
AuthorizationDetail Zeichenfolge Detaillierte Richtlinieninformationen, die zum Autorisieren der Anforderung verwendet werden. [{"action":"Microsoft.Storage/storageAccounts/blobServices/containers/read", "roleAssignmentId":"/subscriptions/5451a164-d870-4626-a64c-c38d62da20da/providers/Microsoft.Authorization/roleAssignments/6632a082-9b6a-486c-b296-f9d785d32800", "roleDefinitionId":"/subscriptions/5451a164-d870-4626-a64c-c38d62da20da/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe", "principalId":"03124200-da00-4aa6-aa09-be77923d7870", "principalType":"ServicePrincipal"}]

Beispielprotokolleinträge für Version 2.0

List Blobs

2.0;2019-02-25T20:06:55.9794046Z;ListBlobs;OAuthSuccess;200;250;46;bearer;storagesamples;storagesamples;blob;"https://storagesamples.blob.core.windows.net/sample-container?restype=container&amp;comp=list&amp;prefix=&amp;delimiter=/&amp;marker=&amp;maxresults=30&amp;include=metadata&amp;_=1551125215793";"/storagesamples/sample-container";470b9e55-201e-0137-5c45-cdd293000000;0;200.59.21.176:52659;2018-03-28;2682;0;295;5184;0;;;;;;"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763";"blob:https://ms.portal.azure.com/cf576432-66ab-4ae6-9cb3-4852b1137a21";;"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7";"72f988bf-86f1-41af-91ab-2d7cd011db47";"691458b9-1327-4635-9f55-ed83a7f1b41c";"https://storage.azure.com/";"https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/";;;"[{"action":"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read", "roleAssignmentId":"ca8af92a-6708-4cdf-a678-bb55d0ff7b80", "roleDefinitionId":"ba92f5b4-2d11-453d-a403-e96b0029c9fe", "principalId":"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7", "principalType":"User"}]"

Put Block

2.0;2019-02-25T20:06:55.9089848Z;PutBlock;OAuthSuccess;201;95;95;bearer;storagesamples;storagesamples;blob;"https://storagesamples.blob.core.windows.net/sample-container/blob1.txt?comp=block&amp;blockid=YmxvY2stMDAwMDAwMDA=";"/storagesamples/sample-container/blob1.txt";5569fa10-e01e-00c0-2745-cdb22d000000;0;200.59.21.176:52665;2017-11-09;2581;9;365;0;9;;"tdzGO9AaJte/e2HJZLtXig==";;;;"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763";"https://ms.portal.azure.com/";"c808142e-0393-4942-9001-af4833061026";"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7";"72f988bf-86f1-41af-91ab-2d7cd011db47";"691458b9-1327-4635-9f55-ed83a7f1b41c";"https://storage.azure.com/";"https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/";;;"[{"action":"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write", "roleAssignmentId":"ca8af92a-6708-4cdf-a678-bb55d0ff7b80", "roleDefinitionId":"ba92f5b4-2d11-453d-a403-e96b0029c9fe", "principalId":"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7", "principalType":"User"}]"

Weitere Informationen

Informationen zur Protokollierung durch die Speicheranalyse
Protokollierte Speicheranalysevorgänge und Statusmeldungen