Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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.