Análise de Armazenamento formato de log
Análise de Armazenamento detalhes de registros de log para solicitações bem-sucedidas e com falha para sua conta de armazenamento. Análise de Armazenamento logs permitem que você examine os detalhes das operações de leitura, gravação e exclusão em suas tabelas, filas e blobs do Azure. Eles também permitem que você investigue os motivos para solicitações com falha, como tempos limite, limitação e erros de autorização.
Cada entrada de log está em conformidade com um formato de log padrão que é regido pela versão do Análise de Armazenamento o registro em log em uso. A versão 1.0 inclui todos os campos descritos em Formato de entrada de log 1.0. A versão 2.0 adiciona campos para registrar em log informações sobre solicitações aos serviços blob e fila autorizados com um token OAuth 2.0. Esses campos adicionais são descritos no formato de entrada de log 2.0.
O primeiro campo em uma entrada de log sempre especifica o número da versão. Os consumidores de dados de log podem usar uma dependência nesse campo, bem como os seguintes aspectos de uma entrada de log:
Todos os campos, preenchidos ou vazios, serão separados por um ponto e vírgula ";"
Cada entrada de log é separada por um caractere de nova linha "\n"
O último campo na entrada não terminará com um ponto e vírgula ";"
Sempre verifique a versão antes de processar uma entrada de log.
Observação
Qualquer campo que possa conter uma aspa ("), um ponto e vírgula (;) ou uma nova linha (\n) é codificado em HTML e entre aspas.
Definir a versão de registro em log
Para definir a versão de log, chame a operação apropriada para o serviço:
- Serviço Blob:Definir Propriedades do Serviço Blob (dá suporte às versões 1.0 e 2.0)
- Serviço fila:Definir propriedades do serviço fila (dá suporte às versões 1.0 e 2.0)
- Serviço tabela:Definir propriedades do serviço tabela (dá suporte apenas à versão 1.0)
Formato de entrada de log 1.0
Cada entrada de log da versão 1.0 adere ao seguinte formato:
<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>
Campos de entrada de log para a versão 1.0
A tabela a seguir lista e define os campos em uma entrada de log da versão 1.0.
Nome do campo | Tipo de campo | Definição | Exemplo |
---|---|---|---|
<version-number> |
string | A versão de Análise de Armazenamento registro em log usada para registrar a entrada. | 1.0 |
<request-start-time> |
timestamp | A hora em UTC quando a solicitação foi recebida pela Análise de Armazenamento. | 2011-08-09T21:44:36.2481552Z |
<operation-type> |
string | O tipo de operação REST executado. Consulte o tópico Análise de Armazenamento Operações Registradas e Mensagens de Status para obter uma lista de possíveis operações. | GetBlob |
<request-status> |
string | O status da operação solicitada. Consulte o tópico Análise de Armazenamento Operações Registradas e Mensagens de Status para obter uma lista de possíveis mensagens de status. Na versão 2017-04-17 e posterior, ClientOtherError não é usado. Em vez disso, esse campo contém o código de erro. |
Success |
<http-status-code> |
string | O código de status HTTP da solicitação. Se a solicitação for interrompida, esse valor poderá ser definido como Unknown . |
200 |
<end-to-end-latency-in-ms> |
duration | O tempo total em milissegundos para executar a operação solicitada, incluindo o tempo para ler a solicitação de entrada e enviar a resposta ao solicitante. | 39 |
<server-latency-in-ms> |
duration | O tempo total em milissegundos para executar a operação solicitada. Esse valor não inclui a latência de rede (o tempo de leitura da solicitação de entrada e envio da resposta ao solicitante). | 22 |
<authentication-type> |
string | Indica se a solicitação foi autorizada, anônima ou sas (assinatura de acesso compartilhado) usada. | authenticated |
<requester-account-name> |
string | O mesmo que o nome da conta de armazenamento, se a solicitação estiver autorizada. Esse campo estará vazio para solicitações anônimas e de SAS. | myaccount |
<owner-account-name> |
string | O nome da conta do proprietário do serviço. | myaccount |
<service-type> |
string | O serviço solicitado de armazenamento: Blob, Tabela ou Fila. | blob |
<request-url> |
string | A URL completa da solicitação, entre aspas. | "https://myaccount.blob.core.windows.net/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034?timeout=30000" |
<requested-object-key> |
string | A chave do objeto solicitado, entre aspas. Esse campo sempre usará o nome da conta, mesmo que um nome de domínio personalizado tenha sido configurado. | "/myaccount/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034" |
<request-id-header> |
guid | A ID da solicitação atribuída pelo serviço de armazenamento. Isso é equivalente ao valor do cabeçalho x-ms-request-id . |
668a4744-7eb3-4e8f-b8d3-fbfd3829715b |
<operation-count> |
INT | O número de cada operação registrada em log para uma solicitação, usando um índice de zero. Algumas solicitações exigem mais de uma operação, como o Copiar Blob, embora a maioria execute apenas uma operação. | 0 |
<requester-ip-address> |
string | O endereço IP do solicitante, incluindo o número da porta. | 192.100.0.102:4362 |
<request-version-header> |
string | A versão do serviço de armazenamento especificada quando a solicitação foi feita. Isso é equivalente ao valor do cabeçalho x-ms-version . |
2009-09-19 |
<request-header-size> |
long | O tamanho do cabeçalho da solicitação, em bytes. Se uma solicitação for malsucedida, esse valor poderá estar vazia. | 280 |
<request-packet-size> |
long | O tamanho dos pacotes de solicitação lidos pelo serviço de armazenamento, em bytes. Se uma solicitação for malsucedida, esse valor poderá estar vazia. | 0 |
<response-header-size> |
long | O tamanho do cabeçalho da resposta, em bytes. Se uma solicitação for malsucedida, esse valor poderá estar vazia. | 216 |
<response-packet-size> |
long | O tamanho dos pacotes de resposta gravados pelo serviço de armazenamento, em bytes. Se uma solicitação for malsucedida, esse valor poderá estar vazia. | 0 |
<request-content-length> |
long | O valor do cabeçalho Content-Length para a solicitação enviada ao serviço de armazenamento. Se a solicitação foi bem-sucedida, esse valor será igual a <request-packet-size> . Se uma solicitação for malsucedida, esse valor talvez não seja igual a <request-packet-size> ou pode estar vazio. |
0 |
<request-md5> |
string | O valor do cabeçalho Content-MD5 ou do cabeçalho x-ms-content-md5 na solicitação, entre aspas. O valor de hash MD5 especificado nesse campo representa o conteúdo na solicitação. Este campo pode estar vazio. | "788815fd0198be0d275ad329cafd1830" |
<server-md5> |
string | O valor de hash MD5 calculado pelo serviço de armazenamento, entre aspas. Este campo pode estar vazio. | "3228b3cf1069a5489b298446321f8521" |
<etag-identifier> |
string | O identificador ETag para o objeto retornado, entre aspas. | "0x8D101F7E4B662C4" |
<last-modified-time> |
DATETIME | A LMT (Hora da Última Modificação) do objeto retornado, entre aspas. Esse campo fica vazio para operações que podem retornar vários objetos. | Tuesday, 09-Aug-11 21:13:26 GMT |
<conditions-used> |
string | Uma lista separada por ponto e vírgula na forma de ConditionName=value , entre aspas.
ConditionName pode ser uma das seguintes condições:- 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> |
string | O valor de cabeçalho User-Agent , entre aspas. |
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" |
<referrer-header> |
string | O valor de cabeçalho Referer , entre aspas. |
"http://contoso.com/about.html" |
<client-request-id> |
string | O valor de cabeçalho x-ms-client-request-id incluído na solicitação, entre aspas. |
"8/9/2011 9:44:36 PM 45ef1c0f-8c71-4153-bc88-38589f63fbfc" |
Entradas de log de exemplo para a versão 1.0
Get Blob
A seguinte entrada de log de exemplo se aplica a uma solicitação GetBlob anônima:
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
A seguinte entrada de log de exemplo se aplica a uma solicitação PutBlob autorizada:
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"
Copiar blob
As entradas de log de exemplo a seguir se aplicam a uma solicitação CopyBlob autorizada. A operação Copiar Blob registrará três operações: CopyBlob, CopyBlobSource e CopyBlobDestination. Observe que a propriedade ID da solicitação é idêntica para todas as três operações, mas a ID da operação é incrementada para cada operação.
Versão do serviço 2012-02-12 e mais recente
Na versão 2012-02-12 e mais recente, <requested-object-key>
é uma URL que substitui o formato /accountname/containername/blobname
usado em versões antes de 2012-02-12.
A ID da solicitação e a ID da operação estão em negrito para cada entrada de log abaixo:
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"
Versões de serviço anteriores a 2012-02-12
A ID da solicitação e a ID da operação estão em negrito para cada entrada de log abaixo:
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"
Formato de entrada de log 2.0
Análise de Armazenamento formato de log versão 2.0 adiciona campos para dar suporte a informações de log sobre solicitações autorizadas com um token OAuth 2.0 fornecido pelo Microsoft Entra ID. Para obter mais informações, consulte Autenticar com Microsoft Entra ID.
Cada entrada de log da versão 2.0 segue o seguinte formato:
<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>
Campos de entrada de log para a versão 2.0
A tabela a seguir lista e define os campos adicionais gravados em uma entrada de log da versão 2.0. Todos os campos da versão 1.0 estão incluídos nas entradas de log da versão 2.0.
Nome do campo | Tipo de campo | Definição | Exemplo |
---|---|---|---|
UserObjectId | string | A ID do objeto usada para autenticação. Pode ser qualquer entidade de segurança, incluindo um usuário, identidade gerenciada ou entidade de serviço. | 03124200-da00-4aa6-aa09-be77923d7870 |
TenantId | string | ID do locatário usada na autorização do portador. | 72f988bf-86f1-41af-91ab-2d7cd011db47 |
ApplicationId | string | ID do aplicativo usada na autorização de portador. | 2cd20493-fe97-42ef-9ace-ab95b63d82c4 |
ID de Recurso | string | ID do recurso usada na autorização do portador. | https://storage.azure.com https://storagesamples.blob.core.windows.net |
Emissor | string | Emissor usado na autorização do portador. | https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/ |
UserPrincipalName | string | Nome da entidade de usuário usado na autorização do portador. | testuser@azure.onmicrosoft.com |
Reservado | string | Reservado para uso futuro. O valor é uma cadeia de caracteres vazia. | N/D |
AuthorizationDetail | string | Informações detalhadas da política usadas para autorizar a solicitação. | [{"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"}] |
Entradas de log de exemplo para a versão 2.0
Listar 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&comp=list&prefix=&delimiter=/&marker=&maxresults=30&include=metadata&_=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&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"}]"
Confira também
Sobre Análise de Armazenamento registro em log
Mensagens de operações e status registradas de análise de armazenamento