Dela via


Övervaka livscykelhanteringsprinciper

Du kan övervaka livscykelhanteringsprincipen för Azure Blob Storage som körs med hjälp av händelser, mått och loggar. Du kan avgöra när en livscykelhanteringskörning slutförs genom att prenumerera på en händelse. Du kan använda händelseegenskaper för att identifiera problem och sedan diagnostisera dessa problem med hjälp av mått och loggar.

Ta emot meddelanden när en körning är klar

Om du vill få ett meddelande när en livscykelhanteringskörning är klar, prenumerera på LifecyclePolicyCompleted-händelsen. Den här händelsen genereras när de åtgärder som definieras av en livscykelhanteringsprincip utförs. Ett sammanfattningsavsnitt visas för varje åtgärd som ingår i principdefinitionen. Följande json visar en exempelhändelse LifecyclePolicyCompleted för en princip. Ett sammanfattningsavsnitt visas för deleteåtgärderna , tierToCool, tierToColdoch tierToArchive . Följande JSON visar ett exempel på ett händelsemeddelande.

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

Mer information om olika sätt att prenumerera på en händelse finns i Händelsehanterare i Azure Event Grid.

Undersöka fel med hjälp av mått och loggar

Händelsesvarsexemplet från föregående avsnitt visar att livscykelhanteringsprincipen försökte ta bort fem objekt, men lyckades med endast tre av dem. Filerna testFile4.txt och testFile5.txt togs inte bort som en del av den körningen. Om du vill diagnostisera varför vissa objekt inte har bearbetats kan du använda Metrics Explorer och köra frågor mot resursloggar i Azure Monitor.

Mätvärden

Om du vill avgöra exakt när åtgärder misslyckades använder du Metrics Explorer. Du kan se alla transaktioner som har tillämpats mot kontot i tidsramen mellan värdet scheduleTime och eventTime som visas i LifecyclePolicyCompleted egenskaperna.

Använd följande måttfilter för att begränsa transaktioner till de som körs av principen:

Filtrera Operatör Värde
Transaktionstyp lika system
API-namn lika DeleteBlob
Svarstyp inte lika med Success

Följande bild visar ett exempel på frågan och frågeresultatet. Linjediagrammet som visas i frågeresultatet visar den tid då dessa åtgärder misslyckades.

Skärmbild som visar mått som tillämpas för att fastställa borttagningsåtgärder som misslyckades.

Loggfiler

Om du vill ta reda på varför objekt inte har bearbetats med framgång av principen kan du granska resursloggar. Begränsa loggarna till tidsramen för felen. Titta sedan på poster där fältet UserAgentHeader är inställt på ObjectLifeCycleScanner eller OLCMScanner. Om du har konfigurerat en diagnostikinställning för att skicka loggar till Azure Monitor Log Analytics-arbetsytan kan du använda en Kusto-fråga för att hitta dessa loggposter. Mer information om hur du konfigurerar en diagnostikinställning finns i Övervaka Blob Storage.

I följande exempelfråga hittas loggposter för misslyckade borttagningsåtgärder som initierades av en livscykelhanteringsprincip.

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

StatusCode och StatusText anger vad som har orsakat felet. Följande bild visar utdata för frågan. Båda loggposterna visar StatusText-värdet för LeaseIdMissing. Det innebär att båda objekten har ett aktivt hyresavtal som måste avslutas eller frigöras innan operationen kan lyckas.

Skärmbild som visar en kusto-fråga och resultatet av frågan som visar misslyckade försök att ta bort objekt.

Se även