Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können die Azure Blob Storage-Lifecycle-Verwaltungsrichtlinie überwachen, die mithilfe von Ereignissen, Metriken und Protokollen ausgeführt wird. Sie können bestimmen, wann eine Lebenszyklusverwaltung abgeschlossen ist, indem Sie ein Ereignis abonnieren. Mithilfe von Ereigniseigenschaften können Sie Probleme identifizieren und diese Probleme dann mithilfe von Metriken und Protokollen diagnostizieren.
Empfangen von Benachrichtigungen, wenn eine Ausführung abgeschlossen ist
Um benachrichtigt zu werden, wenn eine Lebenszyklusverwaltung abgeschlossen ist, abonnieren Sie das LifecyclePolicyCompleted
-Ereignis. Dieses Ereignis wird generiert, wenn die durch eine Lebenszyklusverwaltungsrichtlinie definierten Aktionen ausgeführt werden. Für jede Aktion, die in der Richtliniendefinition enthalten ist, wird ein Zusammenfassungsabschnitt angezeigt. Der folgende JSON-Code zeigt ein LifecyclePolicyCompleted
-Ereignis für eine Richtlinie als Beispiel. Ein Zusammenfassungsabschnitt wird für die Aktionen delete
, tierToCool
, tierToCold
und tierToArchive
angezeigt. Der folgende JSON-Code zeigt ein Beispiel für eine Ereignisbenachrichtigung.
{
"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"
}
Weitere Informationen zu den verschiedenen Methoden zum Abonnieren eines Ereignisses finden Sie unter Ereignishandler in Azure Event Grid.
Untersuchen von Fehlern mithilfe von Metriken und Protokollen
Das Beispiel für die Ereignisantwort aus dem vorherigen Abschnitt zeigt, dass die Lebenszyklusverwaltungsrichtlinie versucht hat, fünf Objekte zu löschen, aber nur drei davon wurden erfolgreich gelöscht. Die testFile4.txt
Dateien und testFile5.txt
Dateien wurden im Rahmen dieser Ausführung nicht erfolgreich gelöscht. Um zu diagnostizieren, warum einige Objekte nicht erfolgreich verarbeitet wurden, können Sie den Metrik-Explorer und Abfrageressourcenprotokolle in Azure Monitor verwenden.
Metriken
Verwenden Sie den Metrik-Explorer, um genau zu ermitteln , wann Vorgänge fehlgeschlagen sind. Sie können alle Transaktionen sehen, die innerhalb des Zeitraums zwischen dem scheduleTime
und dem eventTime
Wert, der in den LifecyclePolicyCompleted
Eigenschaften erscheint, für das Konto angewendet wurden.
Verwenden Sie die folgenden Metrikfilter, um Transaktionen auf diejenigen einzuschränken, die von der Richtlinie ausgeführt werden:
Filtern | Bediener | Wert |
---|---|---|
Buchungsart | gleich | system |
API-Name | gleich | DeleteBlob |
Antworttyp | Ungleich | Success |
Die folgende Abbildung zeigt ein Beispiel für die Abfrage und das Abfrageergebnis. Das Liniendiagramm, das im Abfrageergebnis angezeigt wird, zeigt die Uhrzeit an, zu der diese Vorgänge fehlgeschlagen sind.
Logdateien
Um herauszufinden, warum Objekte von der Richtlinie nicht erfolgreich verarbeitet wurden, können Sie sich Ressourcenprotokolle ansehen. Protokolle auf den Zeitrahmen der Fehler eingrenzen. Sehen Sie sich dann Einträge an, bei denen das UserAgentHeader-Feld auf ObjectLifeCycleScanner oder OLCMScanner festgelegt ist. Wenn Sie eine Diagnoseeinstellung zum Senden von Protokollen an den Azure Monitor Log Analytics-Arbeitsbereich konfiguriert haben, können Sie eine Kusto-Abfrage verwenden, um diese Protokolleinträge zu finden. Weitere Informationen zum Konfigurieren einer Diagnoseeinstellung finden Sie unter Monitor Blob Storage.
Die folgende Beispielabfrage findet Protokolleinträge für fehlgeschlagene Löschvorgänge, die durch eine Lifecycle-Management-Richtlinie initiiert wurden.
StorageBlobLogs
| where OperationName contains "DeleteBlob" and UserAgentHeader contains "ObjectLifeCycleScanner"
| project TimeGenerated, StatusCode, StatusText
Der StatusCode und StatusText gibt an, was den Fehler verursacht hat. Die folgende Abbildung zeigt die Ausgabe dieser Abfrage. Beide Protokolleinträge zeigen einen StatusText-Wert von LeaseIdMissing an. Dies bedeutet, dass beide Objekte über einen aktiven Pachtvertrag / Mietvertrag verfügen, der unterbrochen oder freigegeben werden muss, bevor der Vorgang erfolgreich ausgeführt werden kann.