你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

存储分析日志格式

存储分析记录存储帐户的成功和失败请求的详细信息。 存储分析日志可用于查看针对 Azure 表、队列和 Blob 的读取、写入和删除操作的详细信息。 它们还使你能够调查请求失败的原因,例如超时、限制和授权错误。

每个日志条目都符合标准日志格式,该格式受所用存储分析日志记录的版本控制。 版本 1.0 包括 日志条目格式 1.0 中所述的所有字段。 版本 2.0 添加了字段,用于记录有关使用 OAuth 2.0 令牌授权的 Blob 和队列服务的请求的信息。 日志条目格式 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> duration 执行所请求操作的总时间(毫秒),包括读取传入请求和向请求者发送响应的时间。 39
<server-latency-in-ms> duration 执行所请求操作的总时间(毫秒)。 此值不包括网络滞后时间(读取传入请求和向请求者发送响应的时间)。 22
<authentication-type> 字符串 指示请求是授权、匿名还是已使用共享访问签名 (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 由存储服务分配的请求 ID。 它等效于 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 所返回对象的上次修改时间 (LMT)(用引号引起)。 对于可以返回多个对象的操作,此字段为空。 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 的示例日志条目

获取 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"

放置 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 操作将记录 3 个操作: CopyBlobCopyBlobSourceCopyBlobDestination。 请注意,所有三个操作的请求 ID 属性均相同,但每个操作的操作 ID 都是递增的。

服务版本 2012-02-12 及更新

在版本 2012-02-12 及更新版本中, <requested-object-key> 是一个 URL,它替换 /accountname/containername/blobname 了 2012-02-12 之前的版本中使用的格式。

以下每个日志条目的请求 ID 和操作 ID 均采用加粗形式:

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"

2012-02-12 之前的服务版本

以下每个日志条目的请求 ID 和操作 ID 均采用加粗形式:

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 添加了字段,以支持使用 Microsoft Entra ID 提供的 OAuth 2.0 令牌授权的请求的日志记录信息。 有关详细信息,请参阅使用 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 字符串 用于身份验证的对象 ID。 可以是任何安全主体,包括用户、托管标识或服务主体。 03124200-da00-4aa6-aa09-be77923d7870
TenantId 字符串 持有者授权中使用的租户 ID。 72f988bf-86f1-41af-91ab-2d7cd011db47
ApplicationId string 持有者授权中使用的应用程序 ID。 2cd20493-fe97-42ef-9ace-ab95b63d82c4
资源 ID 字符串 持有者授权中使用的资源 ID。 https://storage.azure.com

https://storagesamples.blob.core.windows.net
颁发者 字符串 持有者授权中使用的颁发者。 https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/
UserPrincipalName 字符串 持有者授权中使用的用户主体名称。 testuser@azure.onmicrosoft.com
预留 字符串 保留供将来使用。 值是空字符串。 N/A
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 的示例日志条目

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

放置块

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

另请参阅

关于存储分析日志记录
存储分析记录的操作和状态消息