Skicka aktivitetsloggdata för Azure Monitor

Azure Monitor-aktivitetsloggen är en plattformslogg som ger insikter om händelser på prenumerationsnivå. Aktivitetsloggen innehåller till exempel information om när en resurs ändras eller när en virtuell dator startas. Du kan visa aktivitetsloggen i Azure-portalen eller hämta poster med PowerShell och Azure CLI. Den här artikeln innehåller information om hur du visar aktivitetsloggen och skickar den till olika mål.

Om du vill ha fler funktioner skapar du en diagnostikinställning för att skicka aktivitetsloggen till en eller flera av dessa platser av följande skäl:

Mer information om hur du skapar en diagnostikinställning finns i Skapa diagnostikinställningar för att skicka plattformsloggar och mått till olika mål.

Kommentar

  • Poster i aktivitetsloggen genereras system och kan inte ändras eller tas bort.
  • Poster i aktivitetsloggen representerar kontrollplansändringar som en omstart av en virtuell dator, alla icke-relaterade poster ska skrivas till Azure-resursloggar
  • Poster i aktivitetsloggen är vanligtvis ett resultat av ändringar (skapa, uppdatera eller ta bort åtgärder) eller en åtgärd som har initierats. Åtgärder som fokuserar på att läsa information om en resurs samlas vanligtvis inte in.

Skicka till Log Analytics-arbetsytan

Skicka aktivitetsloggen till en Log Analytics-arbetsyta för att aktivera funktionen Azure Monitor-loggar , där du:

  • Korrelera aktivitetsloggdata med andra övervakningsdata som samlas in av Azure Monitor.
  • Konsolidera loggposter från flera Azure-prenumerationer och klientorganisationer till en plats för analys tillsammans.
  • Använd loggfrågor för att utföra komplex analys och få djupgående insikter om aktivitetsloggposter.
  • Använd loggsökningsaviseringar med aktivitetsposter för mer komplex aviseringslogik.
  • Lagra aktivitetsloggposter längre än kvarhållningsperioden för aktivitetsloggen.
  • Medför inga datainmatnings- eller kvarhållningsavgifter för aktivitetsloggdata som lagras på en Log Analytics-arbetsyta.
  • Standardkvarhållningsperioden i Log Analytics är 90 dagar

Välj Exportera aktivitetsloggar för att skicka aktivitetsloggen till en Log Analytics-arbetsyta.

Screenshot that shows exporting activity logs.

Du kan skicka aktivitetsloggen från en enskild prenumeration till upp till fem arbetsytor.

Aktivitetsloggdata på en Log Analytics-arbetsyta lagras i en tabell med namnet AzureActivity som du kan hämta med en loggfråga i Log Analytics. Strukturen i den här tabellen varierar beroende på kategorin för loggposten. En beskrivning av tabellegenskaperna finns i datareferensen för Azure Monitor.

Om du till exempel vill visa antalet aktivitetsloggposter för varje kategori använder du följande fråga:

AzureActivity
| summarize count() by CategoryValue

Om du vill hämta alla poster i den administrativa kategorin använder du följande fråga:

AzureActivity
| where CategoryValue == "Administrative"

Viktigt!

I vissa scenarier är det möjligt att värden i fält i AzureActivity kan ha olika höljen från annars likvärdiga värden. Var försiktig när du frågar efter data i AzureActivity för att använda skiftlägesokänsliga operatorer för strängjämförelser, eller använd en skalär funktion för att tvinga ett fält till ett enhetligt hölje före jämförelser. Använd till exempel funktionen tolower() i ett fält för att tvinga den att alltid vara gemener eller =~-operatorn när du utför en strängjämförelse.

Skicka till Azure Event Hubs

Skicka aktivitetsloggen till Azure Event Hubs för att skicka poster utanför Azure, till exempel till en SIEM från tredje part eller andra log analytics-lösningar. Aktivitetslogghändelser från händelsehubbar används i JSON-format med ett records element som innehåller posterna i varje nyttolast. Schemat beror på kategorin och beskrivs i händelseschemat för Azure-aktivitetsloggen.

Följande exempeldata kommer från händelsehubbar för en aktivitetslogg:

{
    "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"
            }
        }
    ]
}

Skicka till Azure Storage

Skicka aktivitetsloggen till ett Azure Storage-konto om du vill behålla dina loggdata längre än 90 dagar för granskning, statisk analys eller säkerhetskopiering. Om du måste behålla dina händelser i minst 90 dagar behöver du inte konfigurera arkivering till ett lagringskonto. Aktivitetslogghändelser behålls på Azure-plattformen i 90 dagar.

När du skickar aktivitetsloggen till Azure skapas en lagringscontainer i lagringskontot så snart en händelse inträffar. Blobarna i containern använder följande namngivningskonvention:

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

En viss blob kan till exempel ha ett namn som liknar:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/y=2020/m=06/d=08/h=18/m=00/PT1H.json

Varje PT1H.json blob innehåller ett JSON-objekt med händelser från loggfiler som togs emot under den timme som anges i blob-URL:en. Under den här timmen läggs händelser till i PT1H.json-filen när de tas emot, oavsett när de genererades. Minutvärdet i URL:en m=00 är alltid 00 som blobar skapas per timme.

Varje händelse lagras i filen PT1H.json med följande format. Det här formatet använder ett vanligt schema på den översta nivån men är i övrigt unikt för varje kategori, enligt beskrivningen i Aktivitetsloggschema.

{ "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"}}}

Andra metoder för att hämta aktivitetslogghändelser

Du kan också komma åt aktivitetslogghändelser med hjälp av följande metoder:

Metoder för äldre samling

Kommentar

  • Azure Activity Logs-lösningen användes för att vidarebefordra aktivitetsloggar till Azure Log Analytics. Den här lösningen dras tillbaka den 15 september 2026 och konverteras automatiskt till diagnostikinställningar.

Om du samlar in aktivitetsloggar med den äldre insamlingsmetoden rekommenderar vi att du exporterar aktivitetsloggar till Log Analytics-arbetsytan och inaktiverar den äldre samlingen med hjälp av API:et Datakällor – Ta bort på följande sätt:

  1. Visa en lista över alla datakällor som är anslutna till arbetsytan med hjälp av API:et Datakällor – Lista efter arbetsyta och filtrera efter aktivitetsloggar genom att ange kind eq 'AzureActivityLog'.

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

  2. Kopiera namnet på anslutningen som du vill inaktivera från API-svaret.

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

  3. Använd API:et Datakällor – Ta bort för att sluta samla in aktivitetsloggar för den specifika resursen.

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

Hantera äldre loggprofiler

Loggprofiler är den äldre metoden för att skicka aktivitetsloggen till lagrings- eller händelsehubbar. Om du använder den här metoden kan du överväga att övergå till diagnostikinställningar, vilket ger bättre funktioner och konsekvens med resursloggar.

Om det redan finns en loggprofil måste du först ta bort den befintliga loggprofilen och sedan skapa en ny.

  1. Använd Get-AzLogProfile för att identifiera om det finns en loggprofil. Observera egenskapen Name om det finns en loggprofil.

  2. Använd Remove-AzLogProfile för att ta bort loggprofilen med hjälp av värdet från Name egenskapen .

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. Använd Add-AzLogProfile för att skapa en ny loggprofil:

    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
    
    Property Obligatoriskt Beskrivning
    Name Ja Namnet på loggprofilen.
    StorageAccountId Nej Resurs-ID för lagringskontot där aktivitetsloggen ska sparas.
    serviceBusRuleId Nej Service Bus-regel-ID för Service Bus-namnområdet där du vill att händelsehubbar ska skapas. Den här strängen har formatet {service bus resource ID}/authorizationrules/{key name}.
    Plats Ja Kommaavgränsad lista över regioner som du vill samla in aktivitetslogghändelser för.
    RetentionInDays Ja Antal dagar för vilka händelser ska behållas i lagringskontot, från 1 till 365. Värdet noll lagrar loggarna på obestämd tid.
    Kategori Nej Kommaavgränsad lista över händelsekategorier som ska samlas in. Möjliga värden är Skriv, Ta bort och Åtgärd.

Exempelskript

Det här PowerShell-exempelskriptet skapar en loggprofil som skriver aktivitetsloggen till både ett lagringskonto och en händelsehubb.

# 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

Ändringar i datastrukturen

Funktionen Exportera aktivitetsloggar skickar samma data som den äldre metoden som används för att skicka aktivitetsloggen med vissa ändringar i tabellens AzureActivity struktur.

Kolumnerna i följande tabell har blivit inaktuella i det uppdaterade schemat. De finns fortfarande i AzureActivity, men de har inga data. Ersättningarna för dessa kolumner är inte nya, men de innehåller samma data som den inaktuella kolumnen. De har ett annat format, så du kan behöva ändra loggfrågor som använder dem.

JSON för aktivitetslogg Log Analytics-kolumnnamn
(äldre inaktuell)
Nytt Log Analytics-kolumnnamn Kommentar
category Kategori CategoryValue
status

Värden är lyckade, startar, accepterar, misslyckas
ActivityStatus

Värden samma som JSON
ActivityStatusValue

Värden ändras till lyckades, startades, accepterades, misslyckades
Giltiga värden ändras som det visas.
subStatus ActivitySubstatus ActivitySubstatusValue
operationName OperationName OperationNameValue REST API lokaliserar åtgärdens namnvärde. Log Analytics-användargränssnittet visar alltid engelska.
resourceProviderName ResourceProvider ResourceProviderValue

Viktigt!

I vissa fall kan värdena i dessa kolumner vara versaler. Om du har en fråga som innehåller dessa kolumner använder du operatorn =~ för att göra en skiftlägeskänslig jämförelse.

Följande kolumner har lagts till AzureActivity i det uppdaterade schemat:

  • Authorization_d
  • Claims_d
  • Properties_d

Nästa steg

Läs mer om: