Azure Storage analytics logging (Registo de análise do Armazenamento do Azure)
A Análise de Armazenamento regista informações detalhadas sobre os pedidos com êxito e com falha feitos a um serviço de armazenamento. Estas informações podem ser utilizadas para monitorizar os pedidos individuais e diagnosticar problemas num serviço de armazenamento. Os pedidos são registados numa base de melhor esforço. Isto significa que a maioria dos pedidos resultará num registo, mas a conclusão e a linha cronológica dos registos de Análise de Armazenamento não são garantidas.
Nota
Recomendamos que utilize os registos de Armazenamento do Azure no Azure Monitor em vez de Análise de Armazenamento registos. Para saber mais, consulte qualquer um dos seguintes artigos:
O registo da Análise de Armazenamento não está ativado, por predefinição, na conta de armazenamento. Pode ativá-lo no portal do Azure ou com o PowerShell ou a CLI do Azure. Para obter orientações passo a passo, veja Ativar e gerir registos de Análise de Armazenamento do Azure (clássico).
Também pode ativar Análise de Armazenamento registos programaticamente através da API REST ou da biblioteca de cliente. Utilize as operações Obter Propriedades do Serviço Blob, Obter Propriedades do Serviço de Fila e Obter Propriedades do Serviço de Tabela para ativar Análise de Armazenamento para cada serviço. Para ver um exemplo que permite Análise de Armazenamento registos com o .NET, veja Ativar registos
As entradas de registo são criadas apenas se existirem pedidos feitos no ponto final de serviço. Por exemplo, se uma conta de armazenamento tiver atividade no ponto final do Blob, mas não nos pontos finais de Tabela ou Fila, apenas serão criados registos relativos ao serviço Blob.
Nota
Atualmente, o registo da Análise de Armazenamento está disponível apenas para os serviços Blobs, Fila e Tabela. Análise de Armazenamento registo também está disponível para contas BlockBlobStorage de desempenho premium. No entanto, não está disponível para contas para fins gerais v2 com desempenho premium.
Pedidos registados no registo
Registar pedidos autenticados
São registados os seguintes tipos de pedidos autenticados:
Pedidos com êxito
Pedidos falhados, incluindo tempo limite, limitação, rede, autorização e outros erros
Pedidos que utilizam uma Assinatura de Acesso Partilhado (SAS) ou OAuth, incluindo pedidos falhados e com êxito
Pedidos de dados de análise
Os pedidos feitos pelo próprio Análise de Armazenamento, como a criação ou eliminação de registos, não são registados. Uma lista completa dos dados registados está documentada nos tópicos Análise de Armazenamento Operações Registadas e Mensagens de Estado e Análise de Armazenamento Formato de Registo.
Registar pedidos anónimos
São registados os seguintes tipos de pedidos anónimos:
Pedidos com êxito
Erros de servidor
Erros de tempo limite para o cliente e o servidor
Pedidos GET falhados com código de erro 304 (Não Modificado)
Todos os outros pedidos anónimos falhados não são registados. Uma lista completa dos dados registados está documentada nos tópicos Análise de Armazenamento Operações Registadas e Mensagens de Estado e Análise de Armazenamento Formato de Registo.
Nota
Análise de Armazenamento regista todas as chamadas internas para o plano de dados. As chamadas do Fornecedor de Recursos de Armazenamento do Azure também são registadas. Para identificar estes pedidos, procure a cadeia <sk=system-1>
de consulta no URL do pedido.
Como os registos são armazenados
Todos os registos são armazenados em blobs de blocos num contentor com o nome $logs
, que é criado automaticamente quando Análise de Armazenamento está ativado para uma conta de armazenamento. O $logs
contentor está localizado no espaço de nomes de blobs da conta de armazenamento, por exemplo: http://<accountname>.blob.core.windows.net/$logs
. Este contentor não pode ser eliminado depois de Análise de Armazenamento ter sido ativado, embora os respetivos conteúdos possam ser eliminados. Se utilizar a ferramenta de navegação no armazenamento para navegar diretamente para o contentor, verá todos os blobs que contêm os seus dados de registo.
Nota
O $logs
contentor não é apresentado quando é executada uma operação de listagem de contentores, como a operação Contentores de Lista. Tem de ser acedido diretamente. Por exemplo, pode utilizar a operação Blobs de Lista para aceder aos blobs no $logs
contentor.
À medida que os pedidos são registados, Análise de Armazenamento carregará os resultados intermédios como blocos. Periodicamente, Análise de Armazenamento consolidará estes blocos e os disponibilizará como um blob. Os dados de registo podem demorar até uma hora a aparecer nos blobs no contentor de $logs porque a frequência com que o serviço de armazenamento limpa os escritores de registos. Podem existir registos duplicados para registos criados na mesma hora. Pode determinar se um registo é duplicado ao verificar o Número de Operação e RequestId.
Se tiver um grande volume de dados de registo com vários ficheiros para cada hora, pode utilizar os metadados do blob para determinar os dados que o registo contém ao examinar os campos de metadados do blob. Isto também é útil porque, por vezes, pode haver um atraso enquanto os dados são escritos nos ficheiros de registo: os metadados do blob dão uma indicação mais precisa do conteúdo do blob do que o nome do blob.
A maioria das ferramentas de navegação de armazenamento permite-lhe ver os metadados dos blobs; também pode ler estas informações com o PowerShell ou programaticamente. O fragmento do PowerShell seguinte é um exemplo de filtragem da lista de blobs de registo por nome para especificar uma hora e, por metadados, para identificar apenas os registos que contêm operações de escrita .
Get-AzStorageBlob -Container '$logs' |
Where-Object {
$_.Name -match 'blob/2014/05/21/05' -and
$_.ICloudBlob.Metadata.LogType -match 'write'
} |
ForEach-Object {
"{0} {1} {2} {3}" -f $_.Name,
$_.ICloudBlob.Metadata.StartTime,
$_.ICloudBlob.Metadata.EndTime,
$_.ICloudBlob.Metadata.LogType
}
Para obter informações sobre como listar blobs programaticamente, veja Enumerar Recursos de Blobs e Definição e Obter Propriedades e Metadados para Recursos de Blobs.
Convenções de nomenclatura de registos
Cada registo será escrito no seguinte formato:
<service-name>/YYYY/MM/DD/hhmm/<counter>.log
A tabela seguinte descreve cada atributo no nome do registo:
Atributo | Descrição |
---|---|
<service-name> |
O nome do serviço de armazenamento. Por exemplo: blob , table ou queue |
YYYY |
O ano de quatro dígitos do registo. Por exemplo: 2011 |
MM |
O mês de dois dígitos do registo. Por exemplo: 07 |
DD |
O dia de dois dígitos para o registo. Por exemplo: 31 |
hh |
A hora de dois dígitos que indica a hora de início dos registos, no formato UTC de 24 horas. Por exemplo: 18 |
mm |
O número de dois dígitos que indica o minuto de início dos registos.
Nota: Este valor não é suportado na versão atual do Análise de Armazenamento e o respetivo valor será 00 sempre . |
<counter> |
Um contador baseado em zero com seis dígitos que indica o número de blobs de registo gerados para o serviço de armazenamento num período de tempo de uma hora. Este contador começa em 000000 . Por exemplo: 000001 |
Segue-se um nome de registo de exemplo completo que combina os exemplos acima:
blob/2011/07/31/1800/000001.log
Segue-se um URI de exemplo que pode ser utilizado para aceder ao registo acima:
https://<accountname>.blob.core.windows.net/$logs/blob/2011/07/31/1800/000001.log
Quando um pedido de armazenamento é registado, o nome de registo resultante está correlacionado com a hora em que a operação pedida foi concluída. Por exemplo, se um pedido GetBlob tiver sido concluído às 18:30 em 31/07/2011, o registo será escrito com o seguinte prefixo: blob/2011/07/31/1800/
Registar metadados
Todos os blobs de registo são armazenados com metadados que podem ser utilizados para identificar os dados de registo que o blob contém. A tabela seguinte descreve cada atributo de metadados:
Atributo | Descrição |
---|---|
LogType |
Descreve se o registo contém informações relacionadas com operações de leitura, escrita ou eliminação. Este valor pode incluir um tipo ou uma combinação dos três, separados por vírgulas. Exemplo 1: write Exemplo 2: read,write Exemplo 3: read,write,delete |
StartTime |
A hora mais antiga de uma entrada no registo, sob a forma de YYYY-MM-DDThh:mm:ssZ . Por exemplo: 2011-07-31T18:21:46Z |
EndTime |
A hora mais recente de uma entrada no registo, sob a forma de YYYY-MM-DDThh:mm:ssZ . Por exemplo: 2011-07-31T18:22:09Z |
LogVersion |
A versão do formato de registo. |
A lista seguinte apresenta metadados de exemplo completos com os exemplos acima:
LogType=write
StartTime=2011-07-31T18:21:46Z
EndTime=2011-07-31T18:22:09Z
LogVersion=1.0
Entradas de registo
As secções seguintes mostram uma entrada de registo de exemplo para cada serviço de Armazenamento do Azure suportado.
Entrada de registo de exemplo para o Armazenamento de Blobs
2.0;2022-01-03T20:34:54.4617505Z;PutBlob;SASSuccess;201;7;7;sas;;logsamples;blob;https://logsamples.blob.core.windows.net/container1/1.txt?se=2022-02-02T20:34:54Z&sig=XXXXX&sp=rwl&sr=c&sv=2020-04-08&timeout=901;"/logsamples/container1/1.txt";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53371;2019-12-12;654;13;337;0;13;"xxxxxxxxxxxxxxxxxxxxx==";"xxxxxxxxxxxxxxxxxxxxx==";""0x8D9CEF88004E296"";Monday, 03-Jan-22 20:34:54 GMT;;"Microsoft Azure Storage Explorer, 1.20.1, win32, azcopy-node, 2.0.0, win32, AzCopy/10.11.0 Azure-Storage/0.13 (go1.15; Windows_NT)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;
Entrada de registo de exemplo para o Armazenamento de Blobs (Data Lake Storage Gen2 ativado)
2.0;2022-01-04T22:50:56.0000775Z;RenamePathFile;Success;201;49;49;authenticated;logsamples;logsamples;blob;"https://logsamples.dfs.core.windows.net/my-container/myfileorig.png?mode=legacy";"/logsamples/my-container/myfilerenamed.png";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;73.157.16.8;2020-04-08;591;0;224;0;0;;;;Friday, 11-Jun-21 17:58:15 GMT;;"Microsoft Azure Storage Explorer, 1.19.1, win32 azsdk-js-storagedatalake/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;
Entrada de registo de exemplo para o Armazenamento de Filas
2.0;2022-01-03T20:35:04.6097590Z;PeekMessages;Success;200;5;5;authenticated;logsamples;logsamples;queue;https://logsamples.queue.core.windows.net/queue1/messages?numofmessages=32&peekonly=true&timeout=30;"/logsamples/queue1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53385;2020-04-08;536;0;232;62;0;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32 azsdk-js-storagequeue/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;
Entrada de registo de exemplo para o Armazenamento de Tabelas
1.0;2022-01-03T20:35:13.0719766Z;CreateTable;Success;204;30;30;authenticated;logsamples;logsamples;table;https://logsamples.table.core.windows.net/Tables;"/logsamples/Table1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53389;2018-03-28;601;22;339;0;22;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32, Azure-Storage/2.10.3 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"