формат журнала Аналитика Службы хранилища

Аналитика Службы хранилища ведения журнала записывает сведения об успешных и неудачных запросах для учетной записи хранения. Аналитика Службы хранилища журналы позволяют просматривать сведения об операциях чтения, записи и удаления в таблицах, очередях и BLOB-объектах Azure. Они также позволяют исследовать причины неудачных запросов, таких как превышение времени ожидания, регулирование и ошибки авторизации.

Каждая запись журнала соответствует стандартному формату журнала, который регулируется версией Аналитика Службы хранилища ведения журнала. Версия 1.0 включает все поля, описанные в разделе Формат записи журнала 1.0. Версия 2.0 добавляет поля для ведения журнала сведений о запросах к службам BLOB-объектов и очередей, авторизованным с помощью маркера OAuth 2.0. Эти дополнительные поля описаны в разделе Формат записи журнала 2.0.

Первое поле в записи журнала всегда указывает номер версии. Потребители данных журналов могут зависеть от этого поля, а также от следующих характеристик записей журналов.

  • Все поля, заполненные или пустые, будут разделены точкой с запятой ";"

  • Каждая запись журнала отделяется символом новой строки "\n".

  • Последнее поле в записи не будет заканчиваться точкой с запятой ";"

Всегда проверяйте версию перед обработкой записи журнала.

Примечание

Любое поле, которое может содержать кавычки (), точку с запятой (;)) или новую строку (\n), закодировано в формате HTML и заключено в кавычки.

Настройка версии ведения журнала

Чтобы задать версию ведения журнала, вызовите соответствующую операцию для службы:

Формат записи журнала 1.0

Каждая запись журнала версии 1.0 соответствует следующему формату:

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

Поля записи журнала для версии 1.0

В следующей таблице перечислены и определены поля в записи журнала версии 1.0.

Имя поля Тип поля Определение Пример
<version-number> строка Версия ведения журнала Аналитика Службы хранилища, используемая для записи записи. 1.0
<request-start-time> TIMESTAMP Время получения запроса службой аналитики хранилища (в формате UTC). 2011-08-09T21:44:36.2481552Z
<operation-type> строка Тип выполненной операции REST. Список возможных операций см. в разделе Аналитика Службы хранилища Зарегистрированные операции и сообщения о состоянии. GetBlob
<request-status> строка Состояние запрошенной операции. Список возможных сообщений о состоянии см. в разделе Аналитика Службы хранилища Зарегистрированные операции и сообщения о состоянии. В версии 2017-04-17 и более поздних ClientOtherError версиях не используется. Вместо этого это поле содержит код ошибки. Success
<http-status-code> строка Код состояния HTTP для запроса. Если запрос будет прерван, это значение может быть равно Unknown. 200
<end-to-end-latency-in-ms> длительность Общее время выполнения запрошенной операции в миллисекундах, включая время чтения входящего запроса и отправки ответа инициатору запроса. 39
<server-latency-in-ms> длительность Общее время выполнения запрошенной операции в миллисекундах. Это значение не включает сетевую задержку (время чтения входящего запроса и отправки ответа инициатору запроса). 22
<authentication-type> строка Указывает, был ли запрос авторизованным, анонимным или использовал подписанный URL-адрес (SAS). authenticated
<requester-account-name> строка То же, что и имя учетной записи хранения, если запрос авторизован. Для анонимных запросов и запросов SAS это поле будет пустым. myaccount
<owner-account-name> строка Имя учетной записи владельца службы. myaccount
<service-type> строка Запрошенная служба хранилища: BLOB-объект, таблица или очередь. blob
<request-url> строка Полный URL-адрес запроса в кавычках. "https://myaccount.blob.core.windows.net/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034?timeout=30000"
<requested-object-key> строка Ключ запрошенного объекта в кавычках. В этом поле будет всегда использоваться имя учетной записи, даже если настроено пользовательское доменное имя. "/myaccount/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034"
<request-id-header> guid Идентификатор запроса, назначенный службой хранения. Он эквивалентен значению заголовка x-ms-request-id. 668a4744-7eb3-4e8f-b8d3-fbfd3829715b
<operation-count> INT Число зарегистрированных в журнале операций для запроса, отсчитываемое от нуля. Для некоторых запросов, таких как Copy Blob, требуется более одной операции, хотя большинство выполняет лишь одну. 0
<requester-ip-address> строка IP-адрес инициатора запроса, включая номер порта. 192.100.0.102:4362
<request-version-header> строка Версия службы хранилища, указанная при осуществлении запроса. Он эквивалентен значению заголовка x-ms-version. 2009-09-19
<request-header-size> long Размер заголовка запроса в байтах. Если запрос завершится неудачно, это значение может быть пустым. 280
<request-packet-size> long Размер пакетов запроса, прочтенных службой хранилища, в байтах. Если запрос завершится неудачно, это значение может быть пустым. 0
<response-header-size> long Размер заголовка ответа в байтах. Если запрос завершится неудачно, это значение может быть пустым. 216
<response-packet-size> long Размер пакетов ответа, записанных службой хранилища, в байтах. Если запрос завершится неудачно, это значение может быть пустым. 0
<request-content-length> long Значение заголовка Content-Length для запроса, отправленного службе хранилища. Если запрос был успешным, это значение равно <request-packet-size>. Если запрос завершился неудачно, это значение может быть не равно <request-packet-size> или быть пустым. 0
<request-md5> строка Значение либо заголовка Content-MD5, либо заголовка x-ms-content-md5 запроса, в кавычках. Значение хэша MD5, указанное в этом поле, представляет содержимое запроса. Это поле может быть пустым. "788815fd0198be0d275ad329cafd1830"
<server-md5> строка Значение хэша MD5, вычисленное службой хранилища, в кавычках. Это поле может быть пустым. "3228b3cf1069a5489b298446321f8521"
<etag-identifier> строка Идентификатор ETag возвращенного объекта в кавычках. "0x8D101F7E4B662C4"
<last-modified-time> DATETIME Время последнего изменения возвращенного объекта, в кавычках. Это поле будет пустым для операций, которые могут возвращать несколько объектов. Tuesday, 09-Aug-11 21:13:26 GMT
<conditions-used> строка Разделенный точкой с запятой список в виде ConditionName=valueв кавычках. ConditionName может выполняться одно из следующих условий:

- 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> строка Значение заголовка User-Agent, в кавычках. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
<referrer-header> строка Значение заголовка Referer, в кавычках. "http://contoso.com/about.html"
<client-request-id> строка Значение заголовка x-ms-client-request-id, включенного в запрос, в кавычках. "8/9/2011 9:44:36 PM 45ef1c0f-8c71-4153-bc88-38589f63fbfc"

Примеры записей журнала для версии 1.0

Get BLOB (Получение BLOB-объекта)

Следующий пример записи журнала применяется к анонимному запросу 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"

Put BLOB (Вставка BLOB-объекта)

Следующий пример записи журнала применяется к авторизованному запросу 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"

Копирование BLOB-объекта

Следующие примеры записей журнала относятся к авторизованному запросу CopyBlob . Операция копирования BLOB-объекта регистрирует три операции: CopyBlob, CopyBlobSource и CopyBlobDestination. Обратите внимание, что свойство идентификатора запроса является одинаковым для всех трех операций, а идентификатор операции последовательно увеличивается на единицу для каждой из них.

Версия службы 2012-02-12 и более поздние версии

В версиях 2012-02-12 и более поздних <requested-object-key> это URL-адрес, заменяющий формат /accountname/containername/blobname, который использовался в версиях до 2012-02-12.

Идентификатор запроса и идентификатор операции во всех приведенных далее записях журнала выделены полужирным шрифтом.

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"

Версии служб до 12.02.2012

Идентификатор запроса и идентификатор операции во всех приведенных далее записях журнала выделены полужирным шрифтом.

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"

Формат записи журнала 2.0

Аналитика Службы хранилища формат журнала версии 2.0 добавляет поля для поддержки ведения журнала о запросах, авторизованных с помощью маркера OAuth 2.0, предоставленного Microsoft Entra ID. Дополнительные сведения см. в статье Проверка подлинности с помощью Microsoft Entra ID.

Каждая запись журнала версии 2.0 имеет следующий формат:

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

Поля записи журнала для версии 2.0

В следующей таблице перечислены и определены дополнительные поля, записанные в запись журнала версии 2.0. Все поля версии 1.0 включены в записи журнала версии 2.0.

Имя поля Тип поля Определение Пример
UserObjectId строка Идентификатор объекта, используемый для проверки подлинности. Может быть любым субъектом безопасности, включая пользователя, управляемое удостоверение или субъект-службу. 03124200-da00-4aa6-aa09-be77923d7870
TenantId строка Идентификатор клиента, используемый при авторизации носителя. 72f988bf-86f1-41af-91ab-2d7cd011db47
ApplicationId строка Идентификатор приложения, используемый при авторизации носителя. 2cd20493-fe97-42ef-9ace-ab95b63d82c4
Идентификатор ресурса строка Идентификатор ресурса, используемый при авторизации носителя. https://storage.azure.com

https://storagesamples.blob.core.windows.net
Издатель строка Издатель, используемый при авторизации носителя. https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/
UserPrincipalName строка Имя участника-пользователя, используемое при авторизации носителя. testuser@azure.onmicrosoft.com
Зарезервировано строка Зарезервировано для последующего использования. Значением является пустая строка. Н/Д
AuthorizationDetail строка Подробные сведения о политике, используемые для авторизации запроса. [{"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"}]

Примеры записей журнала для версии 2.0

List Blobs (Отображение списка 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"}]"

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

См. также раздел

Сведения о ведении журнала Аналитика Службы хранилища
Операции с протоколированием и сообщения о состоянии аналитик хранилища