Compartir a través de


Supervisión de las ejecuciones de directivas de administración del ciclo de vida

Puede supervisar la directiva de administración del ciclo de vida de Azure Blob Storage que se ejecuta mediante eventos, métricas y registros. Puede determinar cuándo se completa una ejecución de administración del ciclo de vida mediante la suscripción a un evento. Puede usar propiedades de evento para identificar problemas y, a continuación, diagnosticarlos mediante métricas y registros.

Recepción de notificaciones cuando se completa una ejecución

Para recibir una notificación cuando se complete una ejecución de administración del ciclo de vida, suscríbase al LifecyclePolicyCompleted evento. Este evento se genera cuando se realizan las acciones definidas por una directiva de administración del ciclo de vida. Aparece una sección de resumen para cada acción que se incluye en la definición de directiva. En el siguiente json se muestra un ejemplo LifecyclePolicyCompleted evento para una directiva. Aparece una sección de resumen para las deleteacciones , tierToCool, tierToColdy tierToArchive . El siguiente JSON muestra un ejemplo de una notificación de eventos.

{
    "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 más información sobre las distintas formas de suscribirse a un evento, consulte Controladores de eventos en Azure Event Grid.

Investigación de errores mediante métricas y registros

En el ejemplo de respuesta de eventos de la sección anterior se muestra que la directiva de administración del ciclo de vida intentó eliminar cinco objetos, pero solo tuvo éxito con tres de ellos. Los testFile4.txt archivos y testFile5.txt no se eliminaron correctamente como parte de esa ejecución. Para diagnosticar por qué algunos objetos no se procesaron correctamente, puede usar el explorador de métricas y consultar los registros de recursos en Azure Monitor.

Métricas

Para determinar exactamente cuándo se produjo un error en las operaciones, use el Explorador de métricas. Puede ver todas las transacciones que se aplicaron a la cuenta en el período de tiempo entre el valor scheduleTime y el valor eventTime que aparecen en las propiedades LifecyclePolicyCompleted.

Use los siguientes filtros de métricas para restringir las transacciones a las ejecutadas por la directiva:

Filtro Operador Importancia
Tipo de transacción igual system
Nombre de la API igual DeleteBlob
Tipo de respuesta no igual Success

En la imagen siguiente se muestra un ejemplo de la consulta y el resultado de la consulta. El gráfico de líneas que aparece en el resultado de la consulta muestra la hora en que se produjo un error en estas operaciones.

Captura de pantalla que muestra las métricas que se aplican para determinar las operaciones de eliminación con errores.

Registros

Para averiguar por qué la directiva no procesó correctamente los objetos, puede consultar los registros de recursos. Restrinja los registros al período de tiempo de los errores. A continuación, examine las entradas en las que el campo UserAgentHeader está establecido en ObjectLifeCycleScanner o OLCMScanner. Si ha configurado una configuración de diagnóstico para enviar registros al área de trabajo de Log Analytics de Azure Monitor, puede usar una consulta de Kusto para buscar esas entradas de registro. Para más información sobre cómo configurar un ajuste de diagnóstico, consulte Supervisión del almacenamiento de blobs.

En la siguiente consulta de ejemplo se buscan entradas de registro para las operaciones de eliminación fallidas iniciadas por una directiva de administración del ciclo de vida.

StorageBlobLogs
| where OperationName contains "DeleteBlob" and UserAgentHeader contains "ObjectLifeCycleScanner"
| project TimeGenerated, StatusCode, StatusText

StatusCode y StatusText indican lo que ha provocado el error. En la imagen siguiente se muestra la salida de esa consulta. Ambas entradas de registro muestran un valor StatusText de LeaseIdMissing. Esto significa que ambos objetos tienen un arrendamiento activo que debe ser roto o liberado antes de que la operación pueda realizarse con éxito.

Captura de pantalla que muestra una consulta kusto y los resultados de la consulta que muestra intentos erróneos de eliminar objetos.

Consulte también