Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode monitorar a política de gerenciamento do ciclo de vida do Armazenamento de Blobs do Azure executada usando eventos, métricas e logs. Você pode determinar quando um processo de gerenciamento do ciclo de vida é concluído assinando um evento. Você pode usar propriedades de evento para identificar problemas e diagnosticar esses problemas usando métricas e logs.
Recebendo notificações quando uma execução é concluída
Para ser notificado quando uma execução de gerenciamento de ciclo de vida for concluída, assine o LifecyclePolicyCompleted
evento. Esse evento é gerado quando as ações definidas por uma política de gerenciamento de ciclo de vida são executadas. Uma seção de resumo aparece para cada ação incluída na definição de política. O json a seguir mostra um exemplo de evento LifecyclePolicyCompleted
para uma política. Uma seção de resumo é exibida para as ações delete
, tierToCool
, tierToCold
e tierToArchive
. O JSON a seguir mostra um exemplo de uma notificação de evento.
{
"topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/contosoresourcegroup/providers/Microsoft.Storage/storageAccounts/contosostorageaccount",
"subject": "BlobDataManagement/LifeCycleManagement/SummaryReport",
"eventType": "Microsoft.Storage.LifecyclePolicyCompleted",
"eventTime": "2022-05-26T00:00:40.1880331",
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"data": {
"scheduleTime": "2022/05/24 22:57:29.3260160",
"policyRunSummary": {
"completionStatus": "Completed/CompletedWithError/Incomplete"
},
"deleteSummary": {
"totalObjectsCount": 5,
"successCount": 3,
"errorList": ["testFile4.txt", "testFile5.txt"]
},
"tierToCoolSummary": {
"totalObjectsCount": 0,
"successCount": 0,
"errorList": ""
},
"tierToColdSummary": {
"totalObjectsCount": 0,
"successCount": 0,
"errorList": ""
},
"tierToArchiveSummary": {
"totalObjectsCount": 0,
"successCount": 0,
"errorList": ""
}
},
"dataVersion": "1",
"metadataVersion": "1"
}
Para saber mais sobre as diferentes maneiras de assinar um evento, consulte manipuladores de eventos na Grade de Eventos do Azure.
Investigando erros usando métricas e logs
O exemplo de resposta de evento da seção anterior mostra que a política de gerenciamento do ciclo de vida tentou excluir cinco objetos, mas foi bem-sucedida com apenas três deles. Os arquivos testFile4.txt
e testFile5.txt
não foram excluídos com sucesso como parte dessa execução. Para diagnosticar por que alguns objetos não foram processados com êxito, você pode usar o gerenciador de métricas e consultar logs de recursos no Azure Monitor.
Métricas
Para determinar exatamente quando as operações falharam, use o Metrics Explorer. Você pode ver todas as transações que foram aplicadas na conta no período entre o valor scheduleTime
e o valor eventTime
que aparecem nas propriedades LifecyclePolicyCompleted
.
Use os seguintes filtros de métrica para restringir as transações às executadas pela política:
Filtro | Operador | Valor |
---|---|---|
Tipo de transação | igual a | system |
Nome da API | igual a | DeleteBlob |
Tipo de resposta | diferente de | Success |
A imagem a seguir mostra um exemplo da consulta e do resultado da consulta. O gráfico de linhas exibido no resultado da consulta mostra a hora em que essas operações falharam.
Registros
Para descobrir por que os objetos não foram processados com êxito pela política, você pode examinar os logs de recursos. Restringir os logs ao período das falhas. Em seguida, examine as entradas em que o campo UserAgentHeader está definido como ObjectLifeCycleScanner ou OLCMScanner. Se você definiu uma configuração de diagnóstico para enviar logs ao workspace do Log Analytics do Azure Monitor, poderá usar uma consulta Kusto para localizar essas entradas de log. Para saber mais sobre como definir uma configuração de diagnóstico, consulte Monitorar o Armazenamento de Blobs.
O exemplo de consulta a seguir localiza entradas de log para operações de exclusão que falharam e foram iniciadas por uma política de gerenciamento do ciclo de vida.
StorageBlobLogs
| where OperationName contains "DeleteBlob" and UserAgentHeader contains "ObjectLifeCycleScanner"
| project TimeGenerated, StatusCode, StatusText
O StatusCode e o StatusText indicam o que causou a falha. A imagem a seguir mostra a saída dessa consulta. Ambas as entradas de log mostram um valor StatusText de LeaseIdMissing. Isso significa que ambos os objetos têm uma concessão ativa que precisa ser quebrada ou liberada antes que a operação seja bem-sucedida.