Sdílet prostřednictvím


Monitorování spuštění zásad správy životního cyklu

Zásady správy životního cyklu služby Azure Blob Storage můžete monitorovat pomocí událostí, metrik a protokolů. Pokud se přihlásíte k odběru události, můžete určit, kdy se správa životního cyklu dokončí. Pomocí vlastností událostí můžete identifikovat problémy a pak tyto problémy diagnostikovat pomocí metrik a protokolů.

Příjem oznámení po dokončení spuštění

Chcete-li být upozorněni na dokončení spuštění správy životního cyklu, přihlaste se k odběru LifecyclePolicyCompleted události. Tato událost se vygeneruje při provádění akcí definovaných zásadami správy životního cyklu. Zobrazí se souhrnná část pro každou akci, která je součástí definice zásady. Následující JSON ukazuje příklad události LifecyclePolicyCompleted pro politiku. Objeví se souhrnný oddíl pro akce delete, tierToCool, tierToCold a tierToArchive. Následující JSON ukazuje příklad oznámení události.

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

Chcete-li se dozvědět více o různých způsobech, jak se přihlásit k odběru události, podívejte se na Obslužné rutiny událostí v Azure Event Grid.

Zkoumání chyb s využitím metrik a protokolů

Příklad odpovědi na událost z předchozí části ukazuje, že se zásady správy životního cyklu pokusily odstranit pět objektů, ale uspěly pouze se třemi z nich. Soubory testFile4.txt a testFile5.txt nebyly úspěšně odstraněny v rámci tohoto spuštění. Pokud chcete diagnostikovat, proč se některé objekty nezpracovaly úspěšně, můžete použít průzkumníka metrik a dotazovat se na protokoly prostředků ve službě Azure Monitor.

Metodiky

Pokud chcete přesně určit , kdy operace selhaly, použijte Průzkumníka metrik. Můžete zobrazit všechny transakce, které byly použity na účet v časovém rámci mezi scheduleTime a eventTime hodnotou, které se zobrazují ve vlastnostech LifecyclePolicyCompleted .

Pomocí následujících filtrů metrik můžete zúžit transakce na ty, které jsou provedené zásadou.

Filtrovat Operátor Hodnota
Typ transakce rovný system
Název rozhraní API rovný DeleteBlob
Typ odpovědi není rovno Success

Následující obrázek ukazuje příklad dotazu a výsledku dotazu. Spojnicový graf, který se zobrazí ve výsledku dotazu, zobrazuje čas, kdy tyto operace selhaly.

Snímek obrazovky znázorňující metriky použité k určení operací odstranění, které selhaly

Záznamy

Pokud chcete zjistit, proč objekty nebyly úspěšně zpracovány zásadou, můžete se podívat na protokoly prostředků. Zužte protokoly na časový rámec selhání. Pak se podívejte na položky, kde je pole UserAgentHeadernastaveno na ObjectLifeCycleScanner nebo OLCMScanner. Pokud jste nakonfigurovali nastavení diagnostiky pro odesílání protokolů do pracovního prostoru služby Azure Monitor Log Analytics, můžete tyto položky protokolu vyhledat pomocí dotazu Kusto. Další informace o konfiguraci nastavení diagnostiky najdete v tématu Monitorování služby Blob Storage.

Následující příklad dotazu najde položky protokolu pro neúspěšné operace odstranění, které byly inicializovány zásadami správy životního cyklu.

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

StatusCode a StatusText označují, co způsobilo selhání. Následující obrázek znázorňuje výstup tohoto dotazu. Obě položky protokolu zobrazují hodnotu StatusTextLeaseIdChybí. To znamená, že oba objekty mají aktivní pronájem, který musí být přerušen nebo uvolněn, aby mohla být operace úspěšná.

Snímek obrazovky s dotazem Kusto a výsledky dotazu, který ukazuje neúspěšné pokusy o odstranění objektů

Viz také