Senden von Azure Monitor-Aktivitätsprotokolldaten

Das Azure Monitor-Aktivitätsprotokoll ist ein Plattformprotokoll, das einen Einblick in Ereignisse auf Abonnementebene ermöglicht. Es enthält Informationen wie den Zeitpunkt, zu dem eine Ressource geändert oder ein virtueller Computer gestartet wurde. 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.

Weitere Funktionalität erhalten Sie, wenn Sie eine Diagnoseeinstellung so festlegen, dass das Aktivitätsprotokoll an einen oder mehrere dieser Speicherorte aus folgenden Gründen gesendet wird:

Einzelheiten zum Erstellen einer Diagnoseeinstellung finden Sie unter Erstellen einer Diagnoseeinstellung zum Sammeln von Ressourcenprotokollen und -metriken in Azure.

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 Änderungen der Steuerungsebene wie einen Neustart einer virtuellen Maschine dar. Alle nicht verbundenen 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 Ressourcendetails konzentrieren, werden normalerweise nicht erfasst.

Senden an den Log Analytics-Arbeitsbereich

Senden Sie das Aktivitätsprotokoll an einen Log Analytics-Arbeitsbereich, um das Feature Azure Monitor-Protokolle zu aktivieren, das Folgendes ermöglicht:

  • 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 in Log Analytics beträgt 90 Tage.

Wählen Sie Aktivitätsprotokolle exportieren aus, um das Aktivitätsprotokoll an einen Log Analytics-Arbeitsbereich zu senden.

Screenshot that shows exporting activity logs.

Sie können das Aktivitätsprotokoll in einem einzelnen Abonnement an bis zu fünf Arbeitsbereiche senden.

Aktivitätsprotokolldaten in einem Log Analytics-Arbeitsbereich werden in der Tabelle AzureActivity gespeichert. Diese können Sie mit einer Protokollabfrage in Log Analytics abrufen. Die Struktur dieser Tabelle ist je nach Kategorie des Protokolleintrags verschieden. 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"

Wichtig

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 für ein Feld, um zu erzwingen, dass es immer klein geschrieben wird, oder den Operator =~ beim Durchführen eines Zeichenfolgenvergleichs.

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 ist unter Ereignisschema des Azure-Aktivitätsprotokolls 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": "c776f9f4-36e5-4e0e-809b-c9b3c3fb62a8",
            "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": "00000000-0000-0000-0000-000000000000",
                    "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": "c44b4083-3bq0-49c1-b47d-974e53cbdf3c",
                    "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-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/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 sieht ein gemeinsames Schema auf oberster Ebene vor, ist jedoch ansonsten für jede Kategorie eindeutig (gemäß der Beschreibung unter Aktivitätsprotokollschema).

{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "0f0cb6b4-804b-4129-b893-70aeeb63997e", "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"}}}

Weitere Methoden zum Abrufen von Aktivitätsprotokollereignissen

Sie können auch mithilfe der folgenden Methoden auf Aktivitätsprotokollereignisse zugreifen:

Legacy-Erfassungsmethoden

Hinweis

  • Die Azure-Aktivitätsprotokolllösung wurde verwendet, um Aktivitätsprotokolle an Azure Log Analytics weiterzuleiten. Diese Lösung wird am 15. September 2026 eingestellt und automatisch in Diagnoseeinstellungen konvertiert.

Wenn Sie Aktivitätsprotokolle mithilfe der Legacy-Erfassungsmethode sammeln, empfehlen wir Ihnen, Aktivitätsprotokolle in Ihren Log Analytics-Arbeitsbereich zu exportieren und die Legacy-Erfassung mithilfe der API zum Löschen von Datenquellen wie folgt zu deaktivieren:

  1. Verwenden Sie die API zum Auflisten der Datenquellen nach Arbeitsbereich, um alle mit dem Arbeitsbereich verbundenen Datenquellen aufzulisten und nach Aktivitätsprotokollen zu filtern, indem Sie kind eq 'AzureActivityLog' festlegen.

    Screenshot showing the configuration of the Data Sources - List By Workspace API.

  2. Kopieren Sie den Namen der Verbindung, die Sie deaktivieren möchten, aus der API-Antwort.

    Screenshot showing the connection information you need to copy from the output of the Data Sources - List By Workspace API.

  3. Verwenden Sie die API zum Löschen von Datenquellen, um die Erfassung von Aktivitätsprotokollen für die betreffende Ressource zu beenden.

    Screenshot of the configuration of the Data Sources - Delete API.

Verwalten von Legacyprotokollprofilen

Protokollprofile sind die Legacymethode zum Senden des Aktivitätsprotokolls an Azure Storage oder Event Hubs. Wenn Sie diese Methoden verwenden, sollten Sie den Wechsel zu Diagnoseeinstellungen erwägen, 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.

  1. Ermitteln Sie mithilfe von Get-AzLogProfile, ob ein Protokollprofil vorhanden ist. Wenn ein Protokollprofil vorhanden ist, notieren Sie sich die Eigenschaft Name.

  2. Verwenden Sie Remove-AzLogProfile, um das Protokollprofil mithilfe des Werts aus der Eigenschaft Name zu entfernen.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. 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
    
    Eigenschaft Erforderlich Beschreibung
    Name Ja Name des Protokollprofils.
    StorageAccountId 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.
    RetentionInDays 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.
    Category 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>"

# 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 Name der Log Analytics-Spalte
(veraltet)
Name der neuen Log Analytics-Spalte Hinweise
category Category CategoryValue
status

Die Werte sind: success, start, accept, failure
ActivityStatus

Mit JSON identische Werte
ActivityStatusValue

Werte geändert in: succeeded, started, accepted, failed
Die gültigen Werte ändern sich wie gezeigt.
subStatus ActivitySubstatus ActivitySubstatusValue
operationName Vorgangsname OperationNameValue Die REST-API lokalisiert den Wert des Vorgangsnamens. Die Log Analytics-Benutzeroberfläche zeigt immer Englisch an.
resourceProviderName ResourceProvider ResourceProviderValue

Wichtig

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: