Azure Monitor-Aktivitätsprotokoll

Das Azure Monitor-Aktivitätsprotokoll ist ein Plattformprotokoll in Azure, 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:

  • An Azure Monitor-Protokolle, um von komplexeren Abfragen und Warnungen und einer längeren Aufbewahrungsdauer (von bis zu zwei Jahren) zu profitieren
  • An Azure Event Hubs, um eine Weiterleitung außerhalb von Azure zu ermöglichen
  • An Azure Storage für eine kostengünstigere, langfristige Archivierung

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.

Beibehaltungsdauer

Aktivitätsprotokollereignisse werden in Azure 90 Tage lang aufbewahrt und dann gelöscht. Für in diesem Zeitraum generierte Einträge fallen unabhängig vom Volumen keine Gebühren an. Um mehr Funktionalität zu erhalten, z. B. eine längere Aufbewahrung, legen Sie eine Diagnoseeinstellung fest, und leiten die Einträge je nach Bedarf an einen anderen Speicherort weiter. Hier helfen Ihnen die Kriterien im vorherigen Abschnitt weiter.

Anzeigen des Aktivitätsprotokolls

Auf das Aktivitätsprotokoll können Sie in den meisten Menüs im Azure-Portal zugreifen. Das Menü, in dem Sie es öffnen, bestimmt seinen anfänglichen Filter. Wenn Sie es über das Menü Überwachen öffnen, wird nur der Filter für das Abonnement verwendet. Wenn Sie es im Menü einer Ressource öffnen, wird der Filter auf die betreffende Ressource festgelegt. Sie können den Filter jederzeit ändern, um alle anderen Einträge anzuzeigen. Wählen Sie Filter hinzufügen aus, um dem Filter weitere Eigenschaften hinzuzufügen.

Screenshot: Aktivitätsprotokoll.

Eine Beschreibung der einzelnen Kategorien des Aktivitätsprotokolls finden Sie unter Ereignisschema des Azure-Aktivitätsprotokolls.

Herunterladen des Aktivitätsprotokolls

Klicken Sie auf Als CSV-Datei herunterladen, um die Ereignisse in der aktuellen Ansicht herunterzuladen.

Screenshot: Herunterladen des Aktivitätsprotokolls.

Anzeigen des Änderungsverlaufs

Bei einigen Ereignissen können Sie den Änderungsverlauf anzeigen, in dem ersichtlich wird, welche Änderungen während dieses Ereignisses aufgetreten sind. Wählen Sie im Aktivitätsprotokoll ein Ereignis aus, das Sie eingehender untersuchen möchten. Wählen Sie die Registerkarte Änderungsverlauf (Vorschau) aus, um alle Änderungen anzuzeigen, die mit diesem Ereignis verknüpft sind.

Screenshot: Änderungsverlaufsliste für ein Ereignis.

Wenn dem Ereignis Änderungen zugeordnet sind, wird eine Liste der Änderungen angezeigt, die Sie auswählen können. Wenn Sie eine Änderung auswählen, wird die Seite Änderungsverlauf (Vorschau) geöffnet. Auf dieser Seite werden die Änderungen an der Ressource angezeigt. Im folgenden Beispiel können Sie sehen, dass die VM-Größe geändert wurde. Auf der Seite wird die VM-Größe vor und nach der Änderung angezeigt. Weitere Informationen zum Änderungsverlauf finden Sie unter Abrufen von Ressourcenänderungen.

Screenshot: Änderungsverlaufsseite mit Unterschieden.

Weitere Methoden zum Abrufen von Aktivitätsprotokollereignissen

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

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 von Protokollwarnungen 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: Exportieren von Aktivitätsprotokollen.

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"

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 Blob des Typs „PT1H.json“ enthält ein JSON-Blob mit Ereignissen, die innerhalb der in der Blob-URL angegebenen Stunde (Beispiel: h=12) aufgetreten sind. Während der aktuellen Stunde werden Ereignisse an die Datei „PT1H.json“ angefügt, sobald sie auftreten. Der Minutenwert (m=00) ist immer „00“, da Ressourcenprotokollereignisse stundenweise in einzelne Blobs unterteilt 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"}}}

Legacy-Erfassungsmethoden

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 Notizen
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

Erkenntnisse aus Aktivitätsprotokollen

Mithilfe der Erkenntnisse aus Aktivitätsprotokollen können Sie Informationen zu Änderungen an Ressourcen und Ressourcengruppen in einem Abonnement anzeigen. Die Dashboards enthalten zudem Daten darüber, welche Benutzer oder Dienste Aktivitäten im Abonnement ausgeführt haben, sowie den Status der Aktivitäten. In diesem Artikel wird erläutert, wie Sie Aktivitätsprotokollerkenntnisse im Azure-Portal anzeigen.

Vor Verwenden von Aktivitätsprotokollerkenntnissen müssen Sie das Senden von Protokollen an Ihren Log Analytics-Arbeitsbereich aktivieren.

Wie funktionieren Aktivitätsprotokollerkenntnisse?

Aktivitätsprotokolle, die Sie an einen Log Analytics-Arbeitsbereich senden, werden in der Tabelle AzureActivity gespeichert.

Aktivitätsprotokollerkenntnisse sind eine zusammengestellte Log Analytics-Arbeitsmappe mit Dashboards zum Visualisieren der Daten in der Tabelle AzureActivity. Diese Daten können z. B. enthalten, welche Administratoren Ressourcen gelöscht, aktualisiert oder erstellt haben und ob die Aktivitäten fehlgeschlagen sind oder erfolgreich waren.

Screenshot: Dashboard für Erkenntnisse aus Aktivitätsprotokollen.

Anzeigen von Aktivitätsprotokollerkenntnissen auf Ressourcengruppen-/Abonnementebene

Gehen Sie wie folgt vor, um Aktivitätsprotokollerkenntnisse auf Ressourcengruppen- oder Abonnementebene anzuzeigen:

  1. Wählen Sie im Azure-Portal Überwachen>Arbeitsmappen aus.

  2. Wählen Sie Aktivitätsprotokollerkenntnisse im Abschnitt Erkenntnisse aus.

    Screenshot: Suchen und Öffnen der Arbeitsmappe für Aktivitätsprotokollerkenntnisse auf Abonnementebene.

  3. Wählen Sie oben auf der Seite Aktivitätsprotokoll-Erkenntnisse Folgendes aus:

    1. Mindestens ein Abonnement aus der Dropdownliste Abonnements.
    2. Ressourcen und Ressourcengruppen aus der Dropdownliste CurrentResource.
    3. Ein Zeitbereich für die angezeigten Daten aus der Dropdownliste TimeRange.

Anzeigen von Aktivitätsprotokollerkenntnissen für eine beliebige Azure-Ressource

Hinweis

Derzeit werden Application Insights-Ressourcen für diese Arbeitsmappe nicht unterstützt.

So zeigen Sie Aktivitätsprotokollerkenntnisse auf Ressourcenebene an

  1. Wechseln Sie im Azure-Portal zu Ihrer Ressource, und wählen Sie Arbeitsmappen aus.

  2. Wählen Sie Aktivitätsprotokollerkenntnisse im Abschnitt Aktivitätsprotokollerkenntnisse aus.

    Screenshot: Suchen und Öffnen der Arbeitsmappe für Aktivitätsprotokollerkenntnisse auf Ressourcenebene.

  3. Wählen Sie oben auf der Seite Aktivitätsprotokollerkenntnisse im Dropdownmenü Zeitbereich einen Zeitbereich aus, für den Sie Daten anzeigen möchten:

    • Azure-Aktivitätsprotokolleinträge: Diese Option zeigt die Anzahl der Aktivitätsprotokoll-Datensätze in jeder Aktivitätsprotokollkategorie.

      Screenshot: Azure-Aktivitätsprotokolle nach Kategorie.

    • Aktivitätsprotokolle nach Status zeigt die Anzahl der Aktivitätsprotokoll-Datensätze in den einzelnen Status an.

      Screenshot: Azure-Aktivitätsprotokolle nach Status.

    • Auf Abonnement- und Ressourcengruppenebene zeigen Aktivitätsprotokolle nach Ressource und Aktivitätsprotokolle nach Ressourcenanbieter die Anzahl der Aktivitätsprotokolldatensätze für jede Ressource und jeden Ressourcenanbieter an.

      Screenshot: Azure-Aktivitätsprotokolle nach Ressource.

Nächste Schritte