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.
Das Azure Monitor-Aktivitätsprotokoll ist ein Plattformprotokoll, das Einblicke in Ereignisse auf Abonnementebene bietet. Das Aktivitätsprotokoll enthält Informationen, z. B. wann eine Ressource geändert wird oder wenn ein Bereitstellungsfehler auftritt. Sie können das Aktivitätsprotokoll im Azure-Portal anzeigen oder Einträge mit PowerShell und der Azure CLI abrufen.
In diesem Artikel erfahren Sie, wie Sie das Aktivitätsprotokoll anzeigen und an verschiedene Ziele senden können.
Hinweis
- Einträge im Aktivitätsprotokoll werden vom System generiert und können nicht geändert oder gelöscht werden.
- Einträge im Aktivitätsprotokoll stellen Steuerelementebenenänderungen wie ein Neustart eines virtuellen Computers dar, alle nicht verwandten Einträge sollten in Azure-Ressourcenprotokolle geschrieben werden.
- Einträge im Aktivitätsprotokoll sind in der Regel folge von Änderungen (Erstellungs-, Aktualisierungs- oder Löschvorgängen) oder einer Aktion, die initiiert wurde. Vorgänge, die sich auf das Lesen von Details einer Ressource konzentrieren, werden normalerweise nicht erfasst.
Tipp
Wenn Sie zu diesem Artikel über einen Bereitstellungsvorgangsfehler weitergeleitet wurden, lesen Sie die Problembehandlung allgemeiner Azure-Bereitstellungsfehler.
Aktivitätsprotokolle exportieren
Wechseln Sie zum Azure>, und wählen Sie "Aktivitätsprotokolle exportieren" aus.
Hinweis
Sie können das Aktivitätsprotokoll in einem einzelnen Abonnement an bis zu fünf Arbeitsbereiche senden.
Fügen Sie die Diagnoseeinstellung hinzu, um Aktivitätsprotokolle an einen oder mehrere dieser Speicherorte zu senden:
- Log Analytics-Arbeitsbereich für komplexere Abfragen und Warnungen.
- Azure Event Hubs zum Weiterleiten von Logdateien außerhalb von Azure.
- Azure Storage für günstigere, langfristige Archivierung.
Ausführliche Informationen zum Erstellen einer Diagnoseeinstellung finden Sie unter Erstellen von Diagnoseeinstellungen zum Senden von Plattformprotokollen und Metriken an verschiedene Ziele.
Tipp
Senden von Aktivitätsprotokolldaten an einen Log Analytics-Arbeitsbereich für die folgenden Vorteile:
- Das Senden von Protokollen an einen Log Analytics-Arbeitsbereich ist für den Standardaufbewahrungszeitraum kostenlos.
- Senden Sie Protokolle für eine längere Aufbewahrung von bis zu 12 Jahren an einen Log Analytics-Arbeitsbereich.
- Protokolle, die in einen Log Analytics-Arbeitsbereich exportiert werden, können in Power BI angezeigt werden.
- Einblicke werden für Aktivitätsprotokolle bereitgestellt, die in Log Analytics exportiert werden.
An einen Log Analytics-Arbeitsbereich senden
Senden Sie das Aktivitätsprotokoll an einen Log Analytics-Arbeitsbereich, um das Azure Monitor Logs-Feature zu aktivieren, in dem Sie:
- Korrelieren von Aktivitätsprotokolldaten mit anderen von Azure Monitor gesammelten Überwachungsdaten
- Konsolidieren von Protokolleinträgen mehrerer Azure-Abonnements und -Mandanten an einem einzigen Ort zur gemeinsamen Analyse
- Verwenden von Protokollabfragen zum Ausführen komplexer Analysen und Erhalten tiefer Einblicke in Aktivitätsprotokolleinträge
- Verwenden Sie Protokollsuchwarnungen mit Aktivitätseinträgen, die eine komplexere Warnungslogik ermöglichen.
- Speichern von Aktivitätsprotokolleinträgen für einen längeren Zeitraum als den Aufbewahrungszeitraum des Aktivitätsprotokolls
- Keine Gebühren für Datenerfassung oder Datenaufbewahrung von Aktivitätsprotokolldaten, die in einem Log Analytics-Arbeitsbereich gespeichert sind.
- Der Standardaufbewahrungszeitraum bei der Protokollanalyse beträgt 90 Tage.
Aktivitätsprotokolldaten in einem Log Analytics-Arbeitsbereich werden in einer Tabelle AzureActivity
gespeichert, die Sie mit einer Protokollabfrage in Log Analytics abrufen können. Die Struktur dieser Tabelle variiert je nach Kategorie des Protokolleintrags. Eine Beschreibung der Tabelleneigenschaften finden Sie in der Azure Monitor-Datenreferenz.
Zeigen Sie z. B. mit der folgenden Abfrage die Anzahl der Aktivitätsprotokoll-Datensätze für jede Kategorie an:
AzureActivity
| summarize count() by CategoryValue
Verwenden Sie die folgende Abfrage, um alle Datensätze in der Kategorie „Administrativ“ abzurufen:
AzureActivity
| where CategoryValue == "Administrative"
Von Bedeutung
In einigen Szenarien ist es möglich, dass Werte in Feldern von AzureActivity andere Groß- und Kleinschreibungen aufweisen als andernfalls gleichwertige Werte. Achten Sie beim Abfragen von Daten in AzureActivity darauf, Operatoren ohne Berücksichtigung der Groß-/Kleinschreibung für Zeichenfolgenvergleiche zu verwenden, oder verwenden Sie eine Skalarfunktion, um ein Feld vor allen Vergleichen auf eine einheitliche Groß- und Kleinschreibung zu erzwingen. Verwenden Sie z. B. die tolower()-Funktion in einem Feld, um zu erzwingen, dass es immer in Kleinbuchstaben geschrieben wird, und den =~ Operator, wenn Sie einen Zeichenfolgenvergleich durchführen.
Senden an Azure Event Hubs
Senden Sie das Aktivitätsprotokoll an Azure Event Hubs, um Einträge an Ressourcen außerhalb von Azure zu senden, z. B. an eine SIEM-Lösung oder andere Protokollanalyselösungen von Drittanbietern. Aktivitätsprotokollereignisse von Event Hubs-Instanzen werden im JSON-Format mit einem records
-Element genutzt, das die Datensätze in den den einzelnen Nutzdaten enthält. Das Schema hängt von der Kategorie ab und wird im Azure-Aktivitätsprotokollereignisschema beschrieben.
Es folgt ein Beispiel für eine Datenausgabe aus Event Hubs-Instanzen für ein Aktivitätsprotokoll:
{
"records": [
{
"time": "2019-01-21T22:14:26.9792776Z",
"resourceId": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
"operationName": "microsoft.support/supporttickets/write",
"category": "Write",
"resultType": "Success",
"resultSignature": "Succeeded.Created",
"durationMs": 2826,
"callerIpAddress": "111.111.111.11",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"identity": {
"authorization": {
"scope": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
"action": "microsoft.support/supporttickets/write",
"evidence": {
"role": "Subscription Admin"
}
},
"claims": {
"aud": "https://management.core.windows.net/",
"iss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
"iat": "1421876371",
"nbf": "1421876371",
"exp": "1421880271",
"ver": "1.0",
"http://schemas.microsoft.com/identity/claims/tenantid": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
"http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "2468adf0-8211-44e3-95xq-85137af64708",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
"puid": "20030000801A118C",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "9vckmEGF7zDKk1YzIY8k0t1_EAPaXoeHyPRn6f413zM",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "John",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "Smith",
"name": "John Smith",
"groups": "cacfe77c-e058-4712-83qw-f9b08849fd60,7f71d11d-4c41-4b23-99d2-d32ce7aa621c,31522864-0578-4ea0-9gdc-e66cc564d18c",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
"appid": "00001111-aaaa-2222-bbbb-3333cccc4444",
"appidacr": "2",
"http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
"http://schemas.microsoft.com/claims/authnclassreference": "1"
}
},
"level": "Information",
"location": "global",
"properties": {
"statusCode": "Created",
"serviceRequestId": "50d5cddb-8ca0-47ad-9b80-6cde2207f97c"
}
}
]
}
Senden an Azure Storage
Senden Sie das Aktivitätsprotokoll an ein Azure Storage Konto, wenn Sie die Protokolldaten für Überwachung, statische Analyse oder Sicherungszwecke länger als 90 Tage aufbewahren möchten. Wenn Sie Ereignisse höchstens 90 Tage aufbewahren müssen, muss keine Archivierung in einem Speicherkonto eingerichtet werden. Aktivitätsprotokollereignisse werden 90 Tage auf der Azure-Plattform gespeichert.
Wenn Sie das Aktivitätsprotokoll an Azure senden, wird bei Auftreten eines Ereignisses ein Speichercontainer im Speicherkonto erstellt. Für die Blobs im Container gilt die folgende Benennungskonvention:
insights-activity-logs/resourceId=/SUBSCRIPTIONS/{subscription ID}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json
Ein bestimmtes Blob kann beispielsweise einen Namen aufweisen, der dem Folgenden ähnelt:
insights-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json
Jedes PT1H.json-Blob enthält ein JSON-Objekt mit Ereignissen aus Protokolldateien, die während der in der Blob-URL angegebenen Stunde empfangen wurden. Während der aktuellen Stunde werden die Ereignisse, sobald sie empfangen werden, an die Datei PT1H.json angehängt, unabhängig davon, wann sie erzeugt wurden. Der Minutenwert in der URL, m=00
, ist immer 00
, da Blobs pro Stunde erstellt werden.
In der Datei „PT1H.json“ wird jedes Ereignis im folgenden Format gespeichert. Dieses Format verwendet ein allgemeines Schema auf oberster Ebene, ist aber ansonsten für jede Kategorie eindeutig, wie im Aktivitätsprotokollschema beschrieben.
{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee", "operationName": "Microsoft.Resourcehealth/healthevent/Updated/action", "level": "Information", "resultType": "Updated", "category": "ResourceHealth", "properties": {"eventCategory":"ResourceHealth","eventProperties":{"title":"This virtual machine is starting as requested by an authorized user or process. It will be online shortly.","details":"VirtualMachineStartInitiatedByControlPlane","currentHealthStatus":"Unknown","previousHealthStatus":"Unknown","type":"Downtime","cause":"UserInitiated"}}}
In CSV exportieren
Wählen Sie "Als CSV herunterladen" aus, um das Aktivitätsprotokoll mithilfe des Azure-Portals in eine CSV-Datei zu exportieren.
Von Bedeutung
Der Export kann eine übermäßige Zeit in Anspruch nehmen, wenn Sie eine große Anzahl von Protokolleinträgen haben. Um die Leistung zu verbessern, verringern Sie den Zeitraum des Exports. Im Azure-Portal wird dies mit der Einstellung "Timespan " festgelegt.
Sie können das Aktivitätsprotokoll auch mithilfe von PowerShell oder der Azure CLI wie in den folgenden Beispielen in eine CSV-Datei exportieren.
az monitor activity-log list --start-time "2024-03-01T00:00:00Z" --end-time "2024-03-15T23:59:59Z" --max-items 1000 > activitylog.json
Get-AzActivityLog -StartTime 2021-12-01T10:30 -EndTime 2022-01-14T11:30 | Export-csv operations_logs.csv
Das folgende PowerShell-Skript exportiert das Aktivitätsprotokoll in CSV-Dateien in Intervalle von einer Stunde, die jeweils in einer separaten Datei gespeichert wird.
# Parameters
$subscriptionId = "Subscription ID here" # Replace with your subscription ID
$startTime = [datetime]"2025-05-08T00:00:00" # Adjust as needed
$endTime = [datetime]"2025-05-08T12:00:00" # Adjust as needed
$outputFolder = "\Logs" # Change path as needed
# Ensure output folder exists
if (-not (Test-Path $outputFolder)) {
New-Item -Path $outputFolder -ItemType Directory
}
# Set subscription context
Set-AzContext -SubscriptionId $subscriptionId
# Loop through 1-hour intervals
$currentStart = $startTime
while ($currentStart -lt $endTime) {
$currentEnd = $currentStart.AddHours(1)
$timestamp = $currentStart.ToString("yyyyMMdd-HHmm")
$csvFile = Join-Path $outputFolder "ActivityLog_$timestamp.csv"
Write-Host "Fetching logs from $currentStart to $currentEnd..."
Get-AzActivityLog -StartTime $currentStart -EndTime $currentEnd |
Export-Csv -Path $csvFile -NoTypeInformation
$currentStart = $currentEnd
}
Write-Host "Export completed. Files saved to $outputFolder."
Weitere Methoden zum Abrufen von Aktivitätsprotokollereignissen
Sie können auch mithilfe der folgenden Methoden auf Aktivitätsprotokollereignisse zugreifen:
- Verwenden Sie das Cmdlet "Get-AzLog ", um das Aktivitätsprotokoll aus PowerShell abzurufen. Siehe Azure Monitor PowerShell-Beispiele.
- Verwenden Sie az monitor activity-log , um das Aktivitätsprotokoll aus der CLI abzurufen. Siehe Azure Monitor CLI-Beispiele.
- Verwenden Sie die Azure Monitor-REST-API , um das Aktivitätsprotokoll von einem REST-Client abzurufen.
Legacy-Erfassungsmethoden
Hinweis
Die Azure Activity Log-Lösung wurde verwendet, um Aktivitätsprotokolle an Log Analytics weiterzuleiten. Diese Lösung wird am 15. September 2026 eingestellt und automatisch in Diagnoseeinstellungen konvertiert.
Wenn Sie Aktivitätsprotokolle mithilfe der Legacysammlungsmethode sammeln, empfehlen wir Ihnen, Aktivitätsprotokolle in Ihren Log Analytics-Arbeitsbereich zu exportieren und die Legacysammlung mit den Datenquellen – Lösch-API wie folgt zu deaktivieren:
Listen Sie alle Datenquellen, die mit dem Arbeitsbereich verbunden sind, mit der Datenquellen – Nach Arbeitsbereich-API auf, und filtern Sie die Aktivitätsprotokolle, indem Sie
kind eq 'AzureActivityLog'
festlegen.Kopieren Sie den Namen der Verbindung, die Sie deaktivieren möchten, aus der API-Antwort.
Verwenden Sie die Datenquellen – API löschen, um das Sammeln von Aktivitätsprotokollen für die jeweilige Ressource zu beenden.
Verwalten von Legacyprotokollprofilen (wird eingestellt)
Hinweis
- Protokollprofile wurden verwendet, um Aktivitätsprotokolle an Speicherkonten und Event Hubs weiterzuleiten. Diese Methode wird am 15. September 2026 eingestellt.
- Wenn Sie diese Methode verwenden, wechseln Sie vor dem 15. September 2025 zu Diagnoseeinstellungen, wenn wir beenden, neue Erstellungen von Protokollprofilen zuzulassen.
Protokollprofile sind die Legacymethode zum Senden des Aktivitätsprotokolls an Azure Storage oder Event Hubs. Wenn Sie diese Methoden verwenden, wechseln Sie zu Diagnoseeinstellungen, denn diese bieten eine bessere Funktionalität und Konsistenz mit Ressourcenprotokollen.
Wenn bereits ein Protokollprofil vorhanden ist, müssen Sie zuerst das vorhandene Protokollprofil entfernen und dann ein neues Profil erstellen.
Ermitteln Sie mithilfe von
Get-AzLogProfile
, ob ein Protokollprofil vorhanden ist. Wenn ein Protokollprofil vorhanden ist, notieren Sie sich die EigenschaftName
.Verwenden Sie
Remove-AzLogProfile
, um das Protokollprofil mithilfe des Werts aus der EigenschaftName
zu entfernen.# For example, if the log profile name is 'default' Remove-AzLogProfile -Name "default"
Verwenden Sie
Add-AzLogProfile
, um ein neues Protokollprofil zu erstellen:Add-AzLogProfile -Name my_log_profile -StorageAccountId /subscriptions/s1/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/my_storage -serviceBusRuleId /subscriptions/s1/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/mytestSB/authorizationrules/RootManageSharedAccessKey -Location global,westus,eastus -RetentionInDays 90 -Category Write,Delete,Action
Eigentum Erforderlich BESCHREIBUNG Name Ja Name des Protokollprofils. Speicherkonto-ID Nein Ressourcen-ID des Speicherkontos, in dem das Aktivitätsprotokoll gespeichert werden soll. serviceBusRuleId Nein Service Bus-Regel-ID für den Service Bus-Namespace, in dem Sie Event Hubs-Instanzen erstellen lassen möchten. Die Zeichenfolge hat das folgende Format: {service bus resource ID}/authorizationrules/{key name}
.Standort Ja Durch Komma getrennte Liste mit den Regionen, für die Sie Aktivitätsprotokollereignisse erfassen möchten. AufbewahrungsdauerInTagen Ja Anzahl von Tagen für die Aufbewahrung von Ereignissen im Speicherkonto (1 bis 365). Bei einem Wert von 0 werden die Protokolle dauerhaft gespeichert. Kategorie Nein Durch Komma getrennte Liste mit Ereigniskategorien, die erfasst werden sollen. Mögliche Werte sind „Write“, „Delete“ und „Action“.
Beispielskript
Das folgende PowerShell-Beispielskript erstellt ein Protokollprofil, mit dem das Aktivitätsprotokoll sowohl in ein Speicherkonto als auch in einen Event Hub geschrieben wird.
# Settings needed for the new log profile
$logProfileName = "default"
$locations = (Get-AzLocation).Location
$locations += "global"
$subscriptionId = "<your Azure subscription Id>"
$resourceGroupName = "<resource group name your Event Hub belongs to>"
$eventHubNamespace = "<Event Hub namespace>"
$storageAccountName = "<Storage Account name>"
# Build the service bus rule Id from the settings above
$serviceBusRuleId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.EventHub/namespaces/$eventHubNamespace/authorizationrules/RootManageSharedAccessKey"
# Build the Storage Account Id from the settings above
$storageAccountId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"
Add-AzLogProfile -Name $logProfileName -Location $locations -StorageAccountId $storageAccountId -ServiceBusRuleId $serviceBusRuleId
Änderungen der Datenstruktur
Über die Option „Aktivitätsprotokolle exportieren“ werden dieselben Daten wie mit der Legacymethode zum Senden des Aktivitätsprotokolls gesendet, jedoch mit einigen Änderungen an der Struktur der Tabelle AzureActivity
.
Die Spalten in der folgenden Tabelle sind im aktualisierten Schema veraltet. Sie sind weiterhin in AzureActivity
vorhanden, verfügen aber über keine Daten. Die Ersatzspalten sind nicht neu, und sie enthalten dieselben Daten wie die veralteten Spalten. Sie haben ein anderes Format, sodass Sie ggf. Protokollabfragen ändern müssen, die diese Spalten verwenden.
Aktivitätsprotokoll in JSON | Alter Log Analytics-Spaltenname (veraltet) |
Name der neuen Log Analytics-Spalte | Hinweise |
---|---|---|---|
Kategorie | Kategorie | KategorieWert | |
Status Werte sind success , start , , accept failure |
Aktivitätsstatus Mit JSON identische Werte |
Aktivitätsstatuswert Werte ändern sich in succeeded , , started accepted , failed |
Die gültigen Werte ändern sich wie gezeigt. |
subStatus | ActivitySubstatus | ActivitySubstatusValue | |
Betriebsname | Vorgangsname | OperationNameValue | Die REST-API lokalisiert den Wert des Vorgangsnamens. Die Log Analytics-Benutzeroberfläche zeigt immer Englisch an. |
RessourcenanbieterName | Ressourcenanbieter | RessourcenanbieterWert |
Von Bedeutung
In einigen Fällen können die Werte in diesen Spalten in Großbuchstaben geschrieben sein. Wenn Ihre Abfrage diese Spalten umfasst, verwenden Sie den Operator „=~“, um einen Vergleich ohne Beachtung von Groß-/Kleinschreibung durchzuführen.
Die folgenden Spalten wurden AzureActivity
im aktualisierten Schema hinzugefügt:
Authorization_d
Claims_d
Properties_d
Nächste Schritte
Weitere Informationen zu: