Azure Monitor registrerar hanteringsåtgärder för dina Azure resurser via aktivitetsloggfunktionen. Aktivitetsloggen registrerar åtgärder som att skapa en virtuell dator, ändra en åtkomstprincip för nyckelvalvet eller Resource Manager distributionsfel. Dessa hanteringsåtgärder kallas även kontrollplansåtgärder . Använd aktivitetsloggen för att granska eller granska den här informationen eller skapa en avisering som ska meddelas proaktivt när en händelse inträffar.
Till skillnad från aktivitetsloggen, Azure resursloggar registrerar dataplan-åtgärder som utförs inom en resurs. De här åtgärderna omfattar till exempel att hämta en hemlighet från ett nyckelvalv eller att göra en begäran till en databas. Resursloggar samlas inte in som standard och kräver konfiguration med en diagnostikinställning.
Aktivitetsloggposter
Azure Monitor samlar in aktivitetsloggposter som standard utan nödvändig konfiguration. Systemet genererar dessa poster och du kan inte ändra eller ta bort dem. Registreringar sker vanligtvis på grund av ändringar (skapande, uppdatering och borttagning) eller en åtgärd som initieras. Aktivitetsloggen samlar vanligtvis inte in läsåtgärder.
Aktivitetsloggposter är vanligtvis tillgängliga för analys och aviseringar inom 3 till 20 minuter efter att händelsen inträffade. En beskrivning av aktivitetsloggkategorier finns i Azure aktivitetsloggens händelseschema.
Kvarhållningsperiod
Azure behåller aktivitetslogghändelser i 90 dagar och tar sedan bort dem. Du debiteras inte för poster under denna tid, oavsett volym. Om du vill ha fler funktioner, till exempel längre kvarhållning, skapar du en diagnostikinställning och samlar in posterna på en annan plats baserat på dina behov. En av de vanligaste orsakerna till att förlänga kvarhållningsperioden är att bevara information om resursskapare, som endast är tillgänglig i aktivitetsloggen.
Visa och hämta aktivitetsloggen
Visa aktivitetslogghändelser för en prenumeration, resursgrupp eller en enskild resurs. Använd Azure-portalen eller fråga dem programmatiskt med hjälp av rest-API:et Activity Log.
Azure-portalen innehåller bladet Activity log från de flesta tjänstmenyer. Vart och ett av dessa områden stöder även programmatisk åtkomst med REST eller via specifika kommandon för Azure CLI och Azure PowerShell.
Ange ett tidsintervall för händelser som ska hämtas. Om du vill hämta händelser med hjälp av REST-API:et måste du inkludera parametern $filter tillsammans med minst ett eventTimestamp startvärde. Som standard behåller aktivitetsloggen händelser i 90 dagar. Kontrollera att både början och slutet av tidsintervallet ligger inom det 90-dagarsfönstret.
Åtkomstscenarier för aktivitetsloggar
Följande avsnitt innehåller vanliga scenarier som visar olika sätt att komma åt och hämta aktivitetslogghändelser via Azure-portalen, programmatiskt med hjälp av Azure CLI och Azure PowerShell, eller med REST-anrop:
Azure portalexempel ger extra kontext kring vilken typ av händelser som kan förväntas i den vyn.
Azure CLI exempel markerar de specifika kommandon som är tillgängliga via kommandot az monitor activity-log list.
Azure PowerShell exempel markerar de specifika cmdletar som är tillgängliga via cmdleten Get-AzActivityLog.
REST API-exempel visar hur du hämtar händelser med hjälp av den obligatoriska $filter parametern med REST-API:et för aktivitetsloggen.
Exemplet Lista aktivitetslogghändelser för en resursgrupp visar också hur du explicit anger en timeout för klienten så att den motsvarar den maximala timeoutperioden på 75 sekunder för aktivitetsloggens REST-API med hjälp av Prefer-huvudet.
Mönster som stöds $filter |
Detaljer |
| standardprenumeration med ett tidsintervall |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' |
| resursgrupp |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}' |
| specifik resurs |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceUri eq '{resourceURI}' |
| resursprovider |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceProvider eq '{resourceProviderName}' |
| korrelationsid |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and correlationId eq '{correlationID}' |
Visa en lista över aktivitetslogghändelser för en prenumeration
Händelser på prenumerationsnivå registrerar händelser som har skapats direkt av resursleverantörer och är standardomfånget för listning av aktivitetslogghändelser. Händelser på klient- och hanteringsgruppsnivå samlar endast in Azure Resource Manager-händelser i dessa hierarkier. Dessa omfång på högre nivå omfattar inte händelser som genereras direkt av resursprovidrar utanför Azure Resource Manager åtgärder.
I följande exempel hämtas aktivitetslogghändelser för en prenumeration under ett visst tidsintervall.
Menyn som du öppnar aktivitetsloggen från bestämmer dess ursprungliga filter. Om du öppnar den från menyn Övervaka är det enda filter som valts som standard prenumerationen. Det här är samma sak som när du öppnar den från Prenumerationer och väljer prenumerationsaktivitetslogg>>.
Använd kommandot az monitor activity-log list Azure CLI för att hämta aktivitetslogghändelser för en prenumeration över ett angivet tidsintervall. Som standard hämtar det här kommandot händelser för prenumerationen som för närvarande anges i din Azure CLI kontext. Om du uttryckligen vill ange en prenumeration använder du parametern --subscription enligt exemplen nedan.
Exakt tidsintervall:
Azure CLI stöder samma typ av explicit tidsintervall som REST med hjälp av --start-time och --end-time:
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-14T23:59:59Z"
az monitor activity-log list \
--subscription "$subscriptionId" \
--start-time "$startTime" \
--end-time "$endTime"
Relativt tidsintervall:
Azure CLI stöder också relativa tidsintervall med hjälp av --offset. Returnerar till exempel --offset 14d händelser från de senaste 14 dagarna:
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
offset="14d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--offset "$offset"
Anmärkning
Azure CLI-kommandon använder Azure Resource Manager-slutpunkten i den aktuella CLI-kontexten, så management.azure.com inte behöver anges i kommandosyntaxen.
Azure PowerShell tillhandahåller cmdleten Get-AzActivityLog för att hämta aktivitetslogghändelser för en prenumeration över ett angivet tidsintervall.
Exakt tidsintervall:
Azure PowerShell har stöd för att ange ett exakt tidsintervall med hjälp av StartTime och EndTime, liknande REST:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$startTime = [datetime]"2026-04-01T00:00:00Z"
$endTime = [datetime]"2026-04-14T23:59:59Z"
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
StartTime = $startTime
EndTime = $endTime
}
Get-AzActivityLog @getAzActivityLogParams
Relativt tidsintervall:
Azure PowerShell stöder också att fråga efter ett relativt tidsintervall med hjälp av Get-Date-uttryck för StartTime och EndTime. I följande exempel returneras händelser från de senaste 14 dagarna och slutar när kommandot körs:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$lookbackDays = 14
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
}
Get-AzActivityLog @getAzActivityLogParams
Anmärkning
Azure PowerShell-cmdletar använder Azure Resource Manager-slutpunkten i den aktuella Az-kontexten, så management.azure.com behöver inte anges i cmdletsyntaxen.
Om du vill visa en lista över aktivitetslogghändelser använder du den här GET begäran för REST-API:et för aktivitetsloggar.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
Visa en lista över aktivitetslogghändelser för en resursgrupp
Lägg till resourceGroupName till $filter för att avgränsa Azure Monitors aktivitetsloggresultat till en specifik resursgrupp.
Menyn som du öppnar aktivitetsloggen från bestämmer dess ursprungliga filter. Om du öppnar den från en resurss meny är filtret inställt på den resursen. Välj Lägg till filter för att lägga till fler egenskaper i filtret. Här är de andra egenskaperna som du kan filtrera efter i portalen:
-
Resource – Objekt som ingår i din Azure lösning, till exempel en databas eller en virtuell dator.
-
Resurstyp – den kategori som en resurs tillhör, till exempel virtuella datorer, webbappar eller databaser.
-
Operation – en åtgärd eller ett kommando, till exempel skapa, ta bort och skriva, som påverkar Azure Resource Manager resurser.
-
Händelse initierad av – Filtrera händelser efter den identitet som initierade händelsen.
-
Händelsekategori – Filtrera händelsetyperna för vissa åtgärder.
Anmärkning
REST-huvudet Prefer: wait=75 har inte någon direkt motsvarighet i kommandot Azure CLI för den här åtgärden. Det här kommandot utfärdar frågan direkt och returnerar matchande aktivitetsloggposter.
Använd kommandot az monitor activity-log list för att hämta aktivitetslogghändelser som är begränsade till en resursgrupp. Specifika Azure CLI kommandon minskar komplexiteten för motsvarande REST API-anrop.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
resourceGroupName="myResourceGroup"
offset="30d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--resource-group "$resourceGroupName" \
--offset "$offset"
Anmärkning
Azure CLI-kommandon använder Azure Resource Manager-slutpunkten i den aktuella CLI-kontexten, så management.azure.com inte behöver anges i kommandosyntaxen.
Anmärkning
REST-huvudet Prefer: wait=75 inte har någon direkt motsvarighet i cmdleten Azure PowerShell för den här åtgärden. Det här kommandot utfärdar frågan direkt och returnerar matchande aktivitetsloggposter.
Azure PowerShell innehåller cmdleten Get-AzActivityLog för att hämta aktivitetslogghändelser som är begränsade till en resursgrupp över ett relativt tidsintervall.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$resourceGroupName = "myResourceGroup"
$lookbackDays = 30
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
ResourceGroupName = $resourceGroupName
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
}
Get-AzActivityLog @getAzActivityLogParams
Anmärkning
Azure PowerShell-cmdletar använder Azure Resource Manager-slutpunkten i den aktuella Az-kontexten, så management.azure.com behöver inte anges i cmdletsyntaxen.
Om du vill visa en lista över aktivitetslogghändelser som är begränsade till en resursgrupp med hjälp av Azure Resource Manager REST API använder du en GET-begäran med en $filter som innehåller både tidsintervallet och egenskapen resourceGroupName. Du kan också inkludera Prefer rubriken för att ange en specifik tidsgräns för begäran (maximal 75 väntetid i sekunder).
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}'
Prefer: wait=75
Returnera specifika egenskaper för aktivitetslogg
Använd en parameter för att endast returnera angivna egenskaper, vilket minskar svarsnyttolastens storlek. Mer information finns i Egenskapsbeskrivningar för aktivitetsloggschema.
Azure-portalen ger inget sätt att begränsa egenskaperna som returneras direkt från aktivitetslogghändelser. Om du vill minska mängden data som visas använder du alternativet Redigera kolumner på bladet Aktivitetslogg för att välja vilka kolumner som ska visas i portalvyn.
Använd kommandot az monitor activity-log list med parametern --select för att ange vilka egenskaper som ska returneras från aktivitetslogghändelser.
Använd parametern --max-eventsaz monitor activity-log list för att begränsa antalet poster som returneras.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
offset="30d"
maxEvents=100
selectFields=(
eventName
operationName
status
eventTimestamp
correlationId
submissionTimestamp
level
)
az monitor activity-log list \
--subscription "$subscriptionId" \
--offset "$offset" \
--max-events "$maxEvents" \
--select "${selectFields[@]}"
Begränsa egenskaperna som returneras från aktivitetslogghändelser i Azure PowerShell genom att skicka resultatet av Get-AzActivityLog till Select-Object och ange de egenskaper som du vill returnera. Detta minskar inte API-svarsstorleken eftersom Select-Object endast filtrerar egenskaperna i utdata som PowerShell visar.
Använd parametern -MaxRecordGet-AzActivityLog för att begränsa antalet poster som returneras.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$lookbackDays = 30
$maxRecord = 100
$selectProperties = @(
"EventName"
"OperationName"
"Status"
"EventTimestamp"
"CorrelationId"
"SubmissionTimestamp"
"Level"
)
Set-AzContext -Subscription $subscriptionId
$activityLogParams = @{
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
MaxRecord = $maxRecord
}
Get-AzActivityLog @activityLogParams |
Select-Object -Property $selectProperties
Om du vill visa en lista över aktivitetslogghändelser med endast specifika egenskaper som returneras med hjälp av rest-API:et Azure Resource Manager inkluderar du frågeparametern $select i begäran GET med en kommaavgränsad lista över de egenskaper som du vill returnera.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'&$select=eventName,operationName,status,eventTimestamp,correlationId,submissionTimestamp,level
Visa en lista över aktivitetslogghändelser på klientnivå
Aktivitetslogghändelser på klientnivå har vanligtvis begränsade poster, men kan innehålla viktiga händelser, till exempel hanteringsgrupp eller skapande av prenumeration. Dessa händelser är separata från aktivitetslogghändelser på prenumerationsnivå, men kan innehålla dubbletter av resurshanteringshändelser.
Vid frågor i det här omfånget används ett annat REST API än aktivitetsloggens händelse-API på prenumerationsnivå. Azure CLI och Azure PowerShell tillhandahåller inte dedikerade kommandon.
Gå till Övervaka>Aktivitetslogg i Azure-portalen. Ändra rullgardinsmenyn Aktivitet och välj Katalogaktivitet.
Ett dedikerat Azure CLI kommando är inte tillgängligt för aktivitetslogghändelser på klientnivå. I följande exempel anropas REST-API:et direkt med hjälp av az rest:
apiVersion="2015-04-01"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-30T23:59:59Z"
providers="Microsoft.Insights/eventtypes/management/values"
resourceId="/providers/$providers"
filter="eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
az rest \
--method get \
--uri "$resourceId?api-version=$apiVersion&\$filter=$filter"
En dedikerad PowerShell-cmdlet är inte tillgänglig för aktivitetslogghändelser på klientnivå. I följande exempel anropas REST API direkt med hjälp Invoke-AzRestMethodav :
$apiVersion = "2015-04-01"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-30T23:59:59Z"
$providers = "Microsoft.Insights/eventtypes/management/values"
$resourceId = "/providers/$providers"
$filter = "eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
$invokeAzRestMethodParams = @{
Path = "$resourceId?api-version=$apiVersion&`$filter=$filter"
Method = "GET"
}
Invoke-AzRestMethod @invokeAzRestMethodParams
Använd den här GET begäran om du vill visa en lista över aktivitetslogghändelser på klientnivå. Observera att den här begäran riktar sig till slutpunkten för aktivitetsloggen på klientnivå, som skiljer sig från aktivitetslogg-API:et på prenumerationsnivå.
GET https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{starTime}' and eventTimestamp le '{endTime}'
Visa en lista över aktivitetslogghändelser på gruppnivå
Aktivitetslogghändelser på gruppnivå för hantering samlar in händelser som är begränsade till en specifik hanteringsgrupp, till exempel principtilldelningar och ändringar i hanteringsgruppens medlemskap.
Anmärkning
- I följande exempel används
2017-03-01-preview API-versionen, som krävs för hantering av aktivitetsloggfrågor på gruppnivå.
Om du vill visa aktivitetslogghändelser på hanteringsgruppsnivå i Azure portalen går du till Hanteringsgrupper> väljer en hanteringsgrupp >Aktivitetslogg.
Om du vill visa en lista över aktivitetslogghändelser på gruppnivå använder du kommandot az rest Azure CLI. Det här kommandot anropar Azure Resource Manager REST API direkt för att hämta aktivitetslogghändelser som är begränsade till den angivna hanteringsgruppen.
apiVersion="2017-03-01-preview"
managementGroupId="myManagementGroup"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-30T23:59:59Z"
providers="Microsoft.Insights/eventtypes/management/values"
resourceId="/providers/Microsoft.Management/managementGroups/$managementGroupId/providers/$providers"
filter="eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
az rest \
--method get \
--url "$resourceId?api-version=$apiVersion&\$filter=$filter"
En dedikerad PowerShell-cmdlet är inte tillgänglig för aktivitetslogghändelser på gruppnivå för hantering. I följande exempel anropas REST API direkt med hjälp Invoke-AzRestMethodav .
$apiVersion = "2017-03-01-preview"
$managementGroupId = "myManagementGroup"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-30T23:59:59Z"
$providers = "Microsoft.Insights/eventtypes/management/values"
$resourceId = "/providers/Microsoft.Management/managementGroups/$managementGroupId/providers/$providers"
$filter = "eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
$invokeAzRestMethodParams = @{
Method = "GET"
Path = "$resourceId?api-version=$apiVersion&`$filter=$filter"
}
Invoke-AzRestMethod @invokeAzRestMethodParams
Om du vill visa en lista över aktivitetslogghändelser på gruppnivå för hantering använder du den här GET begäran mot Azure Resource Manager REST API. Ersätt {managementGroupId} med ID:t för den hanteringsgrupp som du vill fråga efter och ange tidsintervallet $filter i frågeparametern.
GET https://management.azure.com/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
I följande tabell beskrivs de parametrar som används i föregående exempel.
| Variabel |
Exempelvärde |
Purpose |
| host |
management.azure.com |
Implicit ARM-slutpunkt |
| subscriptionId |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
Användarindata |
| resourceGroupName |
myResourceGroup |
Användarindata |
| förvaltningsgruppId |
myManagementGroup |
Användarindata |
| apiVersion |
• 2015-04-01 • Förhandsversion 2017-03-01 (för hanteringsgruppsnivå) |
Referens |
Visa ändringshistorik
För vissa händelser kan du se ändringshistoriken, som visar vilka ändringar som gjorts under händelsetiden. Välj en händelse från aktivitetsloggen som du vill titta närmare på. Välj fliken Ändra historik för att visa eventuella ändringar på resursen upp till 30 minuter före och efter åtgärdens tid.
Om några ändringar är associerade med händelsen visar portalen en valbar lista över ändringar. Om du väljer en ändring öppnas sidan Ändringshistorik. På den här sidan visas ändringarna i resursen.
I följande exempel visas att den virtuella datorn har ändrat storlek. Sidan visar storleken på den virtuella datorn före ändringen och efter ändringen. Mer information om ändringshistorik finns i Hämta resursändringar.
Insikter om aktivitetsloggar
Aktivitetslogginsikter är en Azure Monitor arbetsbok som tillhandahåller en uppsättning instrumentpaneler som övervakar ändringarna av resurser och resursgrupper i en prenumeration. Instrumentpanelerna visar också data om vilka användare eller tjänster som utförde aktiviteter i prenumerationen och aktiviteternas status.
Om du vill aktivera aktivitetslogginsikter exporterar du aktivitetsloggen till en Log Analytics arbetsyta enligt beskrivningen i Exportera aktivitetslogg. Den här processen skickar händelser till tabellen AzureActivity , som aktivitetslogginsikter använder.
Du kan öppna aktivitetslogginsikter på prenumerations- eller resursnivå. För prenumerationen väljer du Aktivitetsloggar Insikter i avsnittet Arbetsböcker på menyn Övervaka .
För en enskild resurs väljer du Aktivitetsloggar Insikter i avsnittet Arbetsböcker på resursens meny.
Exportera aktivitetslogg
Skapa en diagnostikinställning för att skicka aktivitetsloggposter till andra mål för förlängd lagringstid och funktionalitet.
I Azure-portalen väljer du Activity log på menyn Azure Monitor och väljer sedan Exportera aktivitetsloggar. Mer information och andra metoder för att skapa diagnostikinställningar finns i Diagnostikinställningar i Azure Monitor. Se till att du inaktiverar alla äldre konfigurationer för aktivitetsloggen.
Följande avsnitt innehåller information om varje konfigurerbart mål för resursloggar.
Skicka aktivitetsloggen till en Log Analytics arbetsyta för följande funktioner:
Det finns inga avgifter för datainmatning för aktivitetsloggar. Kvarhållningsavgifter för aktivitetsloggar gäller endast för perioden som har förlängts efter standardkvarhållningsperioden på 90 dagar. Du kan öka kvarhållningsperioden till upp till 12 år.
Aktivitetsloggdata i en Log Analytics arbetsyta lagras i en tabell med namnet AzureActivity. Strukturen i den här tabellen varierar beroende på kategorin för loggposten.
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 kan värden i fält AzureActivity ha ett annat skiftläge än annars likvärdiga värden. När du kör frågor mot data i AzureActivityanvänder du skiftlägesokänsliga operatorer för strängjämförelser, eller använder 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 aktivitetsloggen till Azure Event Hubs för att skicka poster utanför Azure, till exempel till en SIEM från tredje part eller andra logganalyslö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 Azure aktivitetslogg händelseschema.
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/aaaabbbb-0000-cccc-1111-dddd2222eeee/",
"iat": "1421876371",
"nbf": "1421876371",
"exp": "1421880271",
"ver": "1.0",
"http://schemas.microsoft.com/identity/claims/tenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "aaaa0000-bb11-2222-33cc-444444dddddd",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
"puid": "1003BFFD8EC002D4",
"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": "bbbb1111-cc22-3333-44dd-555555eeeeee,aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb,cccc2222-dd33-4444-55ee-666666ffffff",
"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": "bbbbbbbb-1111-2222-3333-cccccccccccc"
}
}
]
}
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 behöver behålla dina händelser i 90 dagar eller mindre behöver du inte konfigurera arkivering till ett lagringskonto.
När du skickar aktivitetsloggen till lagring 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 aktivitetsloggar för hanteringsgrupp
När du skapar en diagnostikinställning för en hanteringsgrupp exporteras Azure Monitor aktivitetslogghändelser för den hanteringsgruppen utöver alla hanteringsgrupper under den i hierarkin. Om flera hanteringsgrupper i hierarkin har diagnostikinställningar får du dubbletter av händelser. Du behöver bara en diagnostikinställning på den högsta hanteringsgruppen för att samla in alla händelser för hierarkin.
Ledningsgruppen samlar också in många av samma händelser som alla prenumerationer som faller under den. Om både prenumerationen och hanteringsgruppen har diagnostikinställningar får du dubbla händelser. Azure Resource Manager innehåller en hierarkiegenskap när du skriver händelser, men det är inte ett obligatoriskt fält. Resursprovidrar utanför Azure Resource Manager fyller inte i den, så deras händelser sprids inte upp i hierarkin. Därför är det bättre att få dubbletthändelser än att missa händelser.
Om du till exempel har MG1 som innehåller MG2 som innehåller Subscription1, registrerar en diagnostikinställning på MG1 alla aktivitetslogghändelser för MG1, MG2 och många av de händelser som samlas in av en diagnostikinställning på Subscription1. I det här fallet behövs ingen diagnostikinställning på MG2 eftersom den bara skulle samla in dubbletthändelser.
Om du har duplicerade händelser kombinerar du dem med hjälp av en fråga som använder en hash för alla fält för att identifiera unika poster. I följande exempel på Kusto-fråga visas ett exempel för loggar som samlats in på en Log Analytics arbetsyta:
AzureActivity
| extend Hash = hash(dynamic_to_json(pack_all()))
| summarize arg_max(TimeGenerated, *) by Hash
Exportera aktivitetsloggen till en fil
Välj Ladda ned som CSV för att exportera aktivitetsloggen till en CSV-fil i Azure-portalen.
Viktigt!
Det kan ta lång tid att exportera ett stort antal loggposter. Minska tidsintervallet för exporten för att förbättra prestandan. I Azure-portalen anger du inställningen Tidsintervall .
Du kan exportera aktivitetsloggen programmatiskt med hjälp av Azure CLI.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-14T23:59:59Z"
maxItems=1000
outputFile="./activity-log.json"
az monitor activity-log list \
--subscription "$subscriptionId" \
--start-time "$startTime" \
--end-time "$endTime" \
--max-items "$maxItems" \
> "$outputFile"
Du kan exportera aktivitetsloggen programmatiskt med hjälp av Azure PowerShell.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-14T23:59:59Z"
$outputFile = "./activity-log.csv"
Set-AzContext -SubscriptionId $subscriptionId
$getAzActivityLogParams = @{
StartTime = $startTime
EndTime = $endTime
}
Get-AzActivityLog @getAzActivityLogParams |
Export-Csv -Path $outputFile -NoTypeInformation
I följande exempel exporterar PowerShell-skript aktivitetsloggen till CSV-filer i entimmesintervall, var och en sparad 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."
Identifiera resursskapande
Använd aktivitetsloggen för att ta reda på när systemet skapade en resurs och vem som skapade den. Aktivitetsloggen är den enda plats där skaparen av en resurs lagras. Eftersom aktivitetsloggen endast behåller data i 90 dagar som standard måste du exportera loggarna till en plats där du kan förlänga kvarhållningsperioden, till exempel en Log Analytics-arbetsyta. Leta sedan reda på skaparen av en resurs genom att fråga tabellen AzureActivity . Data behålls under den tid som du angav under kvarhållningsperioden för den här tabellen.
Relaterat innehåll