Dela via


Skicka aktivitetsloggdata för Azure Monitor

Azure Monitor-aktivitetsloggen är en plattformslogg som ger insikter om händelser på prenumerationsnivå. Aktivitetsloggen innehåller information som när en resurs ändras eller när ett distributionsfel inträffar. 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.

Anmärkning

  • Posterna i aktivitetsloggen skapas i systemet och kan inte ändras eller tas bort.
  • Poster i aktivitetsloggen representerar kontrollplanändringar, såsom en omstart av en virtuell dator. Alla icke-relaterade poster bör loggas i 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 registreras vanligtvis inte.

Tips/Råd

Om du omdirigerades till den här artikeln från ett distributionsåtgärdsfel kan du läsa Felsöka vanliga Azure-distributionsfel.

Exportera aktivitetsloggar

  1. Gå tillAktivitetsloggen för > och välj Exportera aktivitetsloggar.

    Skärmbild som visar hur du kommer till aktivitetsloggar.

    Anmärkning

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

  2. Lägg till diagnostikinställning för att skicka aktivitetsloggar till en eller flera av dessa platser:

    Skärmbild som visar hur du lägger till en diagnostikinställning.

    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.

    Tips/Råd

    Skicka aktivitetsloggdata till en Log Analytics-arbetsyta för följande fördelar:

    • Att skicka loggar till en Log Analytics-arbetsyta är kostnadsfritt under standardkvarhållningsperioden.
    • Skicka loggar till en Log Analytics-arbetsyta för att bevara dem upp till 12 år.
    • Loggar som exporteras till en Log Analytics-arbetsyta kan visas i Power BI
    • Insikter tillhandahålls för aktivitetsloggar som exporteras till Log Analytics.

Skicka till en Log Analytics-arbetsyta

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 på ett ställe för gemensam analys.
  • 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.

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

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-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 eftersom blobar skapas på en timbasis.

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

Exportera till CSV

Välj Ladda ned som CSV för att exportera aktivitetsloggen till en CSV-fil med hjälp av Azure-portalen.

Skärmbild som visar alternativet att exportera till CSV.

Viktigt!

Exporten kan ta för lång tid om du har ett stort antal loggposter. Minska tidsintervallet för exporten för att förbättra prestandan. I Azure-portalen anges detta med inställningen Tidsintervall .

Du kan också exportera aktivitetsloggen till en CSV-fil med hjälp av PowerShell eller Azure CLI som i följande exempel.

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

I följande exempel exporterar PowerShell-skript aktivitetsloggen till CSV-filer inom en timmes intervall, var och en sparas i en separat fil.

# 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."

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 arvinsamling

Anmärkning

Azure-aktivitetslogglösningen användes för att vidarebefordra aktivitetsloggar till 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'.

    Skärmbild som visar konfigurationen av API:et Datakällor – Lista efter arbetsyta.

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

    Skärmbild som visar anslutningsinformationen som du behöver kopiera från utdata från API:et Datakällor – Lista efter arbetsyta.

  3. Använd Data Sources - Delete API för att sluta samla in aktivitetsloggar för en specifik resurs.

    Skärmbild av konfigurationen av API:et Datakällor – Ta bort.

Hantera äldre loggprofiler (dras tillbaka)

Anmärkning

  • Loggprofiler användes för att vidarebefordra aktivitetsloggar till lagringskonton och Event Hubs. Den här metoden dras tillbaka den 15 september 2026.
  • Om du använder den här metoden övergår du till Diagnostikinställningar före den 15 september 2025 när vi slutar tillåta nya skapar av loggprofiler.

Loggprofiler är den äldre metoden för att skicka aktivitetsloggen till lagrings- eller händelsehubbar. Om du använder den här metoden bör du gå över till diagnostikinställningar, vilket ger förbättrad funktionalitet och enhetlighet 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
    
    Fastighet Krävs Beskrivning
    Namn Ja Namnet på loggprofilen.
    LagringskontoId Nej Resurs-ID för lagringskontot där aktivitetsloggen ska sparas.
    serviceBusRegelId 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>"
$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

Ä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 är 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 Gammalt Log Analytics-kolumnnamn
(inaktuell)
Nytt Log Analytics-kolumnnamn Noteringar
kategori Kategori KategoriVärde
tillstånd

Värdena är success, start, accept, failure
Aktivitetsstatus

Värden samma som JSON
Aktivitetsstatusvärde

Värden ändras till succeeded, started, accepted, failed
Giltiga värden ändras som det visas.
subStatus Aktivitetsunderstatus AktivitetsDelstatusVärde
operatörsnamn Operationens namn OperationNameValue REST API lokaliserar åtgärdens namnvärde. Log Analytics-användargränssnittet visar alltid engelska.
resursleverantörNamn Resursleverantör Resursleverantörvärde

Viktigt!

I vissa fall kan alla värden i dessa kolumner vara versaler. Om du har en fråga som innehåller dessa kolumner, använd operatorn =~ för att göra en skiftlägesokä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: