Udostępnij za pomocą


Monitorowanie realizacji zasad zarządzania cyklem życia

Zasady zarządzania cyklem życia usługi Azure Blob Storage można monitorować przy użyciu zdarzeń, metryk i dzienników. Możesz określić, kiedy proces zarządzania cyklem życia zostanie ukończony, subskrybując na zdarzenie. Właściwości zdarzeń umożliwiają identyfikowanie problemów, a następnie diagnozowanie tych problemów przy użyciu metryk i dzienników.

Odbieranie powiadomień po zakończeniu przebiegu

Aby otrzymywać powiadomienia po zakończeniu procesu zarządzania cyklem życia, zasubskrybuj zdarzenie LifecyclePolicyCompleted. To zdarzenie jest generowane, gdy są wykonywane akcje zdefiniowane przez zasady zarządzania cyklem życia. Zostanie wyświetlona sekcja podsumowania dla każdej akcji uwzględnionej w definicji zasad. Poniższy kod JSON przedstawia przykładowe LifecyclePolicyCompleted zdarzenie dla polityki. Pojawi się sekcja podsumowania dla akcji delete, tierToCool, tierToCold i tierToArchive. Poniższy kod JSON przedstawia przykład powiadomienia o zdarzeniu.

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

Aby dowiedzieć się więcej o różnych sposobach subskrybowania zdarzenia, zobacz Procedury obsługi zdarzeń w usłudze Azure Event Grid.

Badanie błędów przy użyciu metryk i dzienników

Przykład odpowiedzi na zdarzenie z poprzedniej sekcji pokazuje, że zasady zarządzania cyklem życia próbowały usunąć pięć obiektów, ale zakończyły się pomyślnie tylko trzema z nich. Pliki testFile4.txt i testFile5.txt nie zostały pomyślnie usunięte w ramach tego uruchomienia. Aby zdiagnozować, dlaczego niektóre obiekty nie zostały pomyślnie przetworzone, możesz użyć Eksploratora metryk i zapytań dotyczących dzienników zasobów w usłudze Azure Monitor.

Wskaźniki

Aby określić dokładnie , kiedy operacje zakończyły się niepowodzeniem, użyj Eksploratora metryk. Wszystkie transakcje, które zostały zastosowane względem konta, są widoczne w przedziale czasowym między wartością scheduleTime i eventTime wyświetlaną we właściwościach LifecyclePolicyCompleted .

Użyj następujących filtrów metryk, aby zawęzić transakcje do tych realizowanych przez politykę:

Filtr Obsługujący Wartość
Typ transakcji równy system
Nazwa interfejsu API równy DeleteBlob
Typ odpowiedzi nie równa się Success

Na poniższej ilustracji przedstawiono przykład zapytania i wynik zapytania. Wykres liniowy wyświetlany w wyniku zapytania pokazuje czas niepowodzenia tych operacji.

Zrzut ekranu przedstawiający zastosowane metryki w celu określenia operacji usuwania, które zakończyły się niepowodzeniem.

Dzienniki

Aby dowiedzieć się, dlaczego obiekty nie zostały pomyślnie przetworzone przez politykę, możesz przejrzeć dzienniki zasobów. Zawęża dzienniki do przedziału czasu błędów. Następnie przyjrzyj się wpisom, w których pole UserAgentHeader jest ustawione na ObjectLifeCycleScanner lub OLCMScanner. Jeśli skonfigurowano ustawienie diagnostyczne do wysyłania dzienników do obszaru roboczego usługi Azure Monitor Log Analytics, możesz użyć zapytania Kusto, aby zlokalizować te wpisy dziennika. Aby dowiedzieć się więcej na temat konfigurowania ustawienia diagnostycznego, zobacz Monitorowanie usługi Blob Storage.

Poniższe przykładowe zapytanie znajduje wpisy dziennika dla nieudanych operacji usuwania, które zostały zainicjowane przez zasady zarządzania cyklem życia.

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

StatusCode i StatusText wskazują, co spowodowało awarię. Na poniższej ilustracji przedstawiono dane wyjściowe tego zapytania. Oba wpisy dziennika pokazują wartość StatusText o postaci LeaseIdMissing. Oznacza to, że oba obiekty mają aktywną dzierżawę, która musi zostać przerwana lub zwolniona, zanim operacja zakończy się pomyślnie.

Zrzut ekranu przedstawiający zapytanie kusto i wyniki zapytania, które pokazuje nieudane próby usunięcia obiektów.

Zobacz także