Format dziennika analityki magazynu

analityka magazynu rejestrowania rejestruje szczegółowe informacje dotyczące żądań zakończonych powodzeniem i niepowodzeniem dla konta magazynu. dzienniki analityka magazynu umożliwiają przeglądanie szczegółów operacji odczytu, zapisu i usuwania względem tabel, kolejek i obiektów blob platformy Azure. Umożliwiają one również badanie przyczyn niepomyślnie zgłaszanych żądań, takich jak przekroczenia limitu czasu, ograniczanie przepustowości i błędy autoryzacji.

Każdy wpis dziennika jest zgodny ze standardowym formatem dziennika zarządzanym przez wersję analityka magazynu używanego logowania. Wersja 1.0 zawiera wszystkie pola opisane w formacie wpisu dziennika 1.0. Wersja 2.0 dodaje pola do rejestrowania informacji o żądaniach do usług obiektów blob i kolejek, które są autoryzowane przy użyciu tokenu OAuth 2.0. Te dodatkowe pola są opisane w formacie wprowadzania dziennika 2.0. Uwierzytelnianie za pomocą Azure AD dla usług Blob i Queue jest obecnie dostępne w wersji zapoznawczej.

Pierwsze pole we wpisie dziennika zawsze określa numer wersji. Użytkownicy danych rejestrowania mogą mieć zależność od tego pola, a także następujące aspekty wpisu dziennika:

  • Wszystkie pola, wypełnione lub puste, będą oddzielone średnikiem ";"

  • Każdy wpis dziennika jest oddzielony znakiem nowego wiersza "\n"

  • Ostatnie pole we wpisie nie zakończy się średnikiem ";"

Zawsze sprawdzaj wersję przed przetworzeniem wpisu dziennika.

Uwaga

Każde pole, które może zawierać cudzysłów ("), średnik (;) lub nowy wiersz (\n) jest kodowany i cytowany w formacie HTML.

Ustawianie wersji rejestrowania

Aby ustawić wersję rejestrowania, wywołaj odpowiednią operację dla usługi:

Format wpisu dziennika 1.0

Każdy wpis dziennika w wersji 1.0 jest zgodny z następującym formatem:

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

Pola wpisu dziennika dla wersji 1.0

W poniższej tabeli wymieniono i zdefiniowano pola we wpisie dziennika w wersji 1.0.

Nazwa pola Typ pola Definicja Przykład
<version-number> ciąg Wersja rejestrowania analityka magazynu używana do rejestrowania wpisu. 1.0
<request-start-time> sygnatura czasowa Godzina w formacie UTC odebrania żądania przez analityka magazynu. 2011-08-09T21:44:36.2481552Z
<operation-type> ciąg Typ wykonanej operacji REST. Aby uzyskać listę możliwych operacji, zobacz temat analityka magazynu Zarejestrowane operacje i komunikaty o stanie. GetBlob
<request-status> ciąg Stan żądanej operacji. Listę możliwych komunikatów o stanie można znaleźć w temacie analityka magazynu Zarejestrowane operacje i komunikaty o stanie. W wersji 2017-04-17 lub nowszej ClientOtherError nie jest używana. Zamiast tego to pole zawiera kod błędu. Success
<http-status-code> ciąg Kod stanu HTTP dla żądania. Jeśli żądanie zostanie przerwane, ta wartość może być ustawiona na Unknownwartość . 200
<end-to-end-latency-in-ms> czas trwania Łączny czas w milisekundach do wykonania żądanej operacji, w tym czas odczytywania żądania przychodzącego i wysyłania odpowiedzi do elementu żądającego. 39
<server-latency-in-ms> czas trwania Łączny czas w milisekundach do wykonania żądanej operacji. Ta wartość nie obejmuje opóźnienia sieci (czas odczytywania żądania przychodzącego i wysyłania odpowiedzi do elementu żądającego). 22
<authentication-type> ciąg Wskazuje, czy żądanie było autoryzowane, anonimowe, czy używane sygnatury dostępu współdzielonego (SAS). authenticated
<requester-account-name> ciąg Tak samo jak nazwa konta magazynu, jeśli żądanie jest autoryzowane. To pole będzie puste w przypadku żądań anonimowych i sas. myaccount
<owner-account-name> ciąg Nazwa konta właściciela usługi. myaccount
<service-type> ciąg Żądana usługa magazynu: obiekt blob, tabela lub kolejka. blob
<request-url> ciąg Pełny adres URL żądania w cudzysłowie. "https://myaccount.blob.core.windows.net/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034?timeout=30000"
<requested-object-key> ciąg Klucz żądanego obiektu w cudzysłowie. To pole zawsze będzie używać nazwy konta, nawet jeśli skonfigurowano niestandardową nazwę domeny. "/myaccount/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034"
<request-id-header> guid Identyfikator żądania przypisany przez usługę magazynu. Jest to odpowiednik wartości nagłówka x-ms-request-id . 668a4744-7eb3-4e8f-b8d3-fbfd3829715b
<operation-count> int Liczba każdej zarejestrowanej operacji dla żądania przy użyciu indeksu zera. Niektóre żądania wymagają więcej niż jednej operacji, takiej jak kopiowanie obiektu blob, choć większość wykonuje tylko jedną operację. 0
<requester-ip-address> ciąg Adres IP obiektu żądającego, w tym numer portu. 192.100.0.102:4362
<request-version-header> ciąg Wersja usługi magazynu określona podczas wykonywania żądania. Jest to odpowiednik wartości nagłówka x-ms-version . 2009-09-19
<request-header-size> długi Rozmiar nagłówka żądania w bajtach. Jeśli żądanie nie powiedzie się, ta wartość może być pusta. 280
<request-packet-size> długi Rozmiar pakietów żądań odczytanych przez usługę magazynu w bajtach. Jeśli żądanie nie powiedzie się, ta wartość może być pusta. 0
<response-header-size> długi Rozmiar nagłówka odpowiedzi w bajtach. Jeśli żądanie nie powiedzie się, ta wartość może być pusta. 216
<response-packet-size> długi Rozmiar pakietów odpowiedzi zapisanych przez usługę magazynu w bajtach. Jeśli żądanie nie powiedzie się, ta wartość może być pusta. 0
<request-content-length> długi Wartość nagłówka Content-Length żądania wysłanego do usługi magazynu. Jeśli żądanie zakończyło się pomyślnie, ta wartość jest równa <request-packet-size>. Jeśli żądanie nie powiedzie się, ta wartość może nie być równa <request-packet-size>wartości lub może być pusta. 0
<request-md5> ciąg Wartość nagłówka Content-MD5 lub nagłówka x-ms-content-md5 w żądaniu w cudzysłowie. Wartość skrótu MD5 określona w tym polu reprezentuje zawartość żądania. To pole może być puste. "788815fd0198be0d275ad329cafd1830"
<server-md5> ciąg Wartość skrótu MD5 obliczona przez usługę magazynu w cudzysłowie. To pole może być puste. "3228b3cf1069a5489b298446321f8521"
<etag-identifier> ciąg Identyfikator ETag zwróconego obiektu w cudzysłowie. "0x8D101F7E4B662C4"
<last-modified-time> datetime Czas ostatniej modyfikacji (LMT) dla zwróconego obiektu w cudzysłowie. To pole jest puste dla operacji, które mogą zwracać wiele obiektów. Tuesday, 09-Aug-11 21:13:26 GMT
<conditions-used> ciąg Rozdzielana średnikami lista w postaci ConditionName=value, w cudzysłowie. ConditionName może być jednym z następujących warunków:

- 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> ciąg Wartość nagłówka User-Agent w cudzysłowie. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
<referrer-header> ciąg Wartość nagłówka Referer w cudzysłowie. "http://contoso.com/about.html"
<client-request-id> ciąg Wartość nagłówka zawarta x-ms-client-request-id w żądaniu w cudzysłowach. "8/9/2011 9:44:36 PM 45ef1c0f-8c71-4153-bc88-38589f63fbfc"

Przykładowe wpisy dziennika dla wersji 1.0

Uzyskiwanie obiektu blob

Następujący przykładowy wpis dziennika dotyczy anonimowego żądania GetBlob :

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"

Wstawianie obiektu blob

Następujący przykładowy wpis dziennika dotyczy autoryzowanego żądania PutBlob :

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"

Kopiowanie obiektu blob

Następujące przykładowe wpisy dziennika dotyczą autoryzowanego żądania CopyBlob . Operacja kopiowania obiektu blob będzie rejestrować 3 operacje: CopyBlob, CopyBlobSource i CopyBlobDestination. Należy pamiętać, że właściwość identyfikatora żądania jest identyczna dla wszystkich trzech operacji, ale identyfikator operacji jest zwiększany dla każdej operacji.

Wersja usługi 2012-02-12 i nowsza

W wersji 2012-02-12 i nowszej <requested-object-key> jest to adres URL, który zastępuje /accountname/containername/blobname format używany w wersjach przed 2012-02-12.

Identyfikator żądania i identyfikator operacji są pogrubione dla każdego wpisu dziennika poniżej:

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"

Wersje usługi przed 2012-02-12

Identyfikator żądania i identyfikator operacji są pogrubione dla każdego wpisu dziennika poniżej:

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"

Format wpisu dziennika 2.0

analityka magazynu format dziennika w wersji 2.0 dodaje pola do obsługi rejestrowania informacji o żądaniach autoryzowanych przy użyciu tokenu OAuth 2.0 dostarczonego przez Azure Active Directory(Azure AD). Uwierzytelnianie i autoryzacja za pomocą Azure AD dla usług obiektów blob i kolejek jest obecnie w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie przy użyciu Azure Active Directory.

Każdy wpis dziennika w wersji 2.0 jest zgodny z następującym formatem:

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

Pola wpisu dziennika dla wersji 2.0

W poniższej tabeli wymieniono i zdefiniowano dodatkowe pola zapisane we wpisie dziennika w wersji 2.0. Wszystkie pola w wersji 1.0 są uwzględniane w wpisach dziennika w wersji 2.0.

Nazwa pola Typ pola Definicja Przykład
UserObjectId ciąg Identyfikator obiektu używany do uwierzytelniania. Może to być dowolny podmiot zabezpieczeń, w tym użytkownik, tożsamość zarządzana lub jednostka usługi. 03124200-da00-4aa6-aa09-be77923d7870
TenantId ciąg Identyfikator dzierżawy używany w autoryzacji elementu nośnego. 72f988bf-86f1-41af-91ab-2d7cd011db47
ApplicationId ciąg Identyfikator aplikacji używany w autoryzacji elementu nośnego. 2cd20493-fe97-42ef-9ace-ab95b63d82c4
Identyfikator zasobu ciąg Identyfikator zasobu używany w autoryzacji elementu nośnego. https://storage.azure.com

https://storagesamples.blob.core.windows.net
Wystawca ciąg Wystawca używany w autoryzacji elementu nośnego. https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/
UserPrincipalName ciąg Główna nazwa użytkownika używana w autoryzacji elementu nośnego. testuser@azure.onmicrosoft.com
Zarezerwowany ciąg Zarezerwowane do użytku w przyszłości. Wartość jest pustym ciągiem. Nie dotyczy
AuthorizationDetail ciąg Szczegółowe informacje o zasadach używane do autoryzowania żądania. [{"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"}]

Przykładowe wpisy dziennika dla wersji 2.0

Wyświetlanie listy obiektów blob

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"}]"

Umieść blok

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"}]"

Zobacz też

Informacje o rejestrowaniu analityka magazynu
analityka magazynu zarejestrowane operacje i komunikaty o stanie