Monitoraggio di Azure registra le operazioni di gestione per le risorse Azure tramite la funzionalità di monitoraggio delle attività. Il log delle attività registra operazioni come la creazione di una macchina virtuale, la modifica di un criterio di accesso del Key Vault o errori di distribuzione del Resource Manager. Queste operazioni di gestione sono dette anche operazioni del piano di controllo . Usare il log attività per esaminare o controllare queste informazioni oppure creare un avviso per ricevere una notifica proattiva quando si verifica un evento.
A differenza del log attività, il log delle risorse di Azure acquisisce le operazioni del piano dati eseguite all'interno di una risorsa. Ad esempio, queste operazioni includono l'acquisizione di un segreto da un Key Vault o l'esecuzione di una richiesta a un database. I log delle risorse non vengono raccolti per impostazione predefinita e richiedono la configurazione con un'impostazione di diagnostica.
Voci del log attività
Monitoraggio di Azure raccoglie le voci del registro delle attività per impostazione predefinita, senza alcuna configurazione necessaria. Il sistema genera queste voci e non puoi modificarle o eliminarle. Le voci in genere derivano dalle modifiche (operazioni di creazione, aggiornamento ed eliminazione) o da un'azione avviata. Il log attività in genere non acquisisce le operazioni di lettura.
Le voci del log attività sono in genere disponibili per l'analisi e l'invio di avvisi entro 3-20 minuti dall'evento che si è verificato. Per una descrizione delle categorie di log attività, vedere lo Schema di eventi del log attività di Azure.
Periodo di conservazione
Azure conserva gli eventi del log attività per 90 giorni e li elimina. Non verranno applicati addebiti per le registrazioni durante questo periodo, indipendentemente dal volume. Per altre funzionalità, ad esempio la conservazione dei dati per un periodo più lungo, creare un'impostazione di diagnostica e raccogliere le voci in un'altra posizione in base alle esigenze. Uno dei motivi più comuni per estendere il periodo di conservazione consiste nel mantenere le informazioni sull'autore delle risorse, disponibile solo nel log attività.
Visualizzare e recuperare il log attività
Visualizzare gli eventi del log attività per una sottoscrizione, un gruppo di risorse o una singola risorsa. Usare il portale di Azure o eseguire query a livello di codice usando l'API REST Activity Log.
Il portale di Azure fornisce il pannello Log attività nella maggior parte dei menu di servizio. Ognuna di queste aree supporta anche l'accesso a livello di codice con REST o tramite specifici comandi interfaccia della riga di comando di Azure e Azure PowerShell.
Specificare un intervallo di tempo di eventi da recuperare. Per recuperare gli eventi usando l'API REST, è necessario includere il $filter parametro insieme ad almeno un eventTimestamp valore iniziale. Per impostazione predefinita, il log attività mantiene gli eventi per 90 giorni. Assicurarsi che sia l'inizio che la fine dell'intervallo di tempo rientrano in tale finestra di 90 giorni.
Scenari di accesso al log delle attività
Le sezioni seguenti illustrano scenari comuni che illustrano diversi modi per accedere e recuperare gli eventi del log attività tramite il portale di Azure, a livello di codice usando interfaccia della riga di comando di Azure e Azure PowerShell o con chiamate REST:
Esempi del portale di Azure forniscono un contesto aggiuntivo sul tipo di eventi attesi in quella vista.
interfaccia della riga di comando di Azure esempi evidenziano i comandi specifici disponibili tramite il comando az monitor activity-log list.
Azure PowerShell esempi evidenziano i cmdlet specifici disponibili tramite il commandlet Get-AzActivityLog.
Gli esempi di API REST illustrano come recuperare gli eventi usando il parametro obbligatorio $filter con l'API REST del log attività.
L'esempio elenca gli eventi del log attività per un gruppo di risorse illustra anche come impostare in modo esplicito un timeout per il client in modo che corrisponda al periodo di timeout massimo per l'API REST del log attività di 75 secondi usando l'intestazione Prefer.
Modelli supportati $filter |
dettagli |
| sottoscrizione predefinita con un intervallo di tempo |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' |
| gruppo di risorse |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}' |
| risorsa specifica |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceUri eq '{resourceURI}' |
| fornitore di risorse |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceProvider eq '{resourceProviderName}' |
| ID correlazione |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and correlationId eq '{correlationID}' |
Elencare gli eventi del registro attività per una sottoscrizione
Gli eventi a livello di sottoscrizione acquisiscono gli eventi creati direttamente dai provider di risorse e rappresentano l'ambito predefinito per elencare gli eventi del registro delle attività. Gli eventi a livello di tenant e a livello di gruppo di gestione acquisiscono solo gli eventi di Azure Resource Manager in tali gerarchie. Questi ambiti di livello superiore non includono eventi generati direttamente dai provider di risorse al di fuori delle operazioni di Azure Resource Manager.
Nell'esempio seguente vengono recuperati gli eventi del log attività per una sottoscrizione durante un intervallo di tempo specifico.
Il menu dal quale apri il log attività determina il suo filtro iniziale. Se si apre dal menu Monitoraggio , l'unico filtro selezionato per impostazione predefinita è la sottoscrizione. Equivale ad aprirlo da Sottoscrizioni> selezionare la sottoscrizione >Log attività.
Usare il comando az monitor activity-log list interfaccia della riga di comando di Azure per recuperare gli eventi del log attività per una sottoscrizione in un intervallo di tempo specificato. Per impostazione predefinita, questo comando recupera gli eventi per la sottoscrizione attualmente impostata nel contesto di interfaccia della riga di comando di Azure. Per specificare in modo esplicito una sottoscrizione, usare il --subscription parametro come illustrato negli esempi seguenti.
Intervallo di tempo esplicito:
interfaccia della riga di comando di Azure supporta lo stesso tipo di intervallo di tempo esplicito di REST usando --start-time e --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"
Intervallo di tempo relativo:
interfaccia della riga di comando di Azure supporta anche intervalli di tempo relativi usando --offset. Ad esempio, --offset 14d restituisce gli eventi degli ultimi 14 giorni:
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
offset="14d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--offset "$offset"
Annotazioni
I comandi di interfaccia della riga di comando di Azure usano l'endpoint di Azure Resource Manager dal contesto CLI corrente, quindi non è necessario specificare management.azure.com nella sintassi del comando.
Azure PowerShell fornisce il cmdlet Get-AzActivityLog per recuperare gli eventi del log attività per una sottoscrizione in un intervallo di tempo specificato.
Intervallo di tempo esplicito:
Azure PowerShell supporta la specifica di un intervallo di tempo esatto usando StartTime e EndTime, simile a 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
Intervallo di tempo relativo:
Azure PowerShell supporta anche l'esecuzione di query in un intervallo di tempo relativo usando espressioni Get-Date per StartTime e EndTime. L'esempio seguente restituisce eventi degli ultimi 14 giorni, terminando al momento dell'esecuzione del comando:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$lookbackDays = 14
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
}
Get-AzActivityLog @getAzActivityLogParams
Annotazioni
Azure PowerShell cmdlet usano l'endpoint Azure Resource Manager dal contesto Az corrente, quindi non è necessario specificare management.azure.com nella sintassi del cmdlet.
Per elencare gli eventi del log attività, usare questa GET richiesta per l'API REST del log attività.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
Elencare gli eventi del log attività per un gruppo di risorse
Aggiungere resourceGroupName a $filter per limitare i risultati del log delle attività di Monitoraggio di Azure al gruppo di risorse specifico.
Il menu dal quale apri il log attività determina il suo filtro iniziale. Se lo si apre dal menu di una risorsa, il filtro è impostato su tale risorsa. Selezionare Aggiungi filtro per aggiungere altre proprietà al filtro. Ecco le altre proprietà che è possibile filtrare nel portale:
-
Resource: elementi che fanno parte della soluzione Azure, ad esempio un database o una macchina virtuale.
-
Tipo di risorsa : categoria a cui appartiene una risorsa, ad esempio macchine virtuali, app Web o database.
-
Operation: azione o comando, ad esempio creazione, eliminazione e scrittura, che influisce sulle risorse Azure Resource Manager.
-
Evento avviato da : filtra gli eventi in base all'identità che ha avviato l'evento.
-
Categoria di eventi : filtrare i tipi di evento per determinate operazioni.
Annotazioni
L'intestazione REST Prefer: wait=75 non ha un equivalente diretto nel comando interfaccia della riga di comando di Azure per questa operazione. Questo comando genera direttamente la query e restituisce i record del log attività corrispondenti.
Usare il comando az monitor activity-log list per recuperare gli eventi dal log delle attività applicati a un gruppo di risorse. Comandi specifici interfaccia della riga di comando di Azure riducono la complessità della chiamata API REST equivalente.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
resourceGroupName="myResourceGroup"
offset="30d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--resource-group "$resourceGroupName" \
--offset "$offset"
Annotazioni
I comandi di interfaccia della riga di comando di Azure usano l'endpoint di Azure Resource Manager dal contesto CLI corrente, quindi non è necessario specificare management.azure.com nella sintassi del comando.
Annotazioni
L'intestazione REST Prefer: wait=75 non ha un equivalente diretto nel cmdlet Azure PowerShell per questa operazione. Questo comando genera direttamente la query e restituisce i record del log attività corrispondenti.
Azure PowerShell fornisce il cmdlet Get-AzActivityLog per ottenere gli eventi del log attività relativi a un gruppo di risorse in un intervallo di tempo relativo.
$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
Annotazioni
Azure PowerShell cmdlet usano l'endpoint Azure Resource Manager dal contesto Az corrente, quindi non è necessario specificare management.azure.com nella sintassi del cmdlet.
Per elencare gli eventi del log attività limitati a un gruppo di risorse usando l'API REST Azure Resource Manager, usare una richiesta GET con un $filter che includa sia l'intervallo di tempo sia la proprietà resourceGroupName. Facoltativamente, includere l'intestazione Prefer per specificare un timeout specifico per la richiesta (tempo di attesa massimo 75 in secondi).
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
Restituire proprietà specifiche del registro delle attività
Usare un parametro per restituire solo le proprietà specificate, riducendo le dimensioni del payload della risposta. Per ulteriori informazioni, vedere Descrizioni delle proprietà dello schema del registro attività.
Il portale di Azure non consente di limitare direttamente le proprietà restituite dagli eventi del log attività. Per ridurre la quantità di dati visualizzati, usare l'opzione Modifica colonne nel pannello Log attività per selezionare le colonne visualizzate nella visualizzazione del portale.
Usare il comando az monitor activity-log list con il parametro --select per specificare le proprietà da restituire dagli eventi del log di attività.
Usare il --max-events parametro di az monitor activity-log list per limitare il numero di record restituiti.
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[@]}"
Limitare le proprietà restituite dagli eventi del log attività in Azure PowerShell inviando tramite pipe i risultati di Get-AzActivityLog a Select-Object e specificando le proprietà che si desidera restituire. Ciò non riduce le dimensioni della risposta dell'API perché Select-Object filtra solo le proprietà nell'output visualizzato da PowerShell.
Usare il -MaxRecord parametro di Get-AzActivityLog per limitare il numero di record restituiti.
$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
Per elencare gli eventi del log attività con solo proprietà specifiche restituite usando l'API REST Azure Resource Manager, includere il parametro di query $select nella richiesta GET con un elenco delimitato da virgole delle proprietà restituite.
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
Elencare gli eventi del log attività a livello di tenant
Gli eventi del log attività a livello di tenant in genere hanno voci limitate ma possono includere eventi importanti, come la creazione di un gruppo di gestione o di una sottoscrizione. Questi eventi sono separati dagli eventi del log attività a livello di sottoscrizione, ma possono contenere eventi di gestione delle risorse duplicati.
L'esecuzione di query in questo ambito utilizza un'API REST diversa rispetto all'API del registro attività a livello di sottoscrizione. interfaccia della riga di comando di Azure e Azure PowerShell non forniscono comandi dedicati.
Passare a Monitor>Registro attività nel portale di Azure. Modificare il menu a discesa Attività e selezionare Attività Directory.
Non è disponibile alcun comando dedicato di interfaccia della riga di comando di Azure per gli eventi del log attività a livello di tenant. L'esempio seguente chiama l'API REST direttamente usando 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"
Un cmdlet di PowerShell dedicato non è disponibile per gli eventi del log attività a livello di tenant. L'esempio seguente chiama direttamente l'API REST usando Invoke-AzRestMethod:
$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
Per elencare gli eventi del log attività a livello di tenant, usare questa richiesta GET. Notare che questa richiesta si rivolge all'endpoint del log attività a livello di tenant, che è diverso dall'API del log attività a livello di sottoscrizione.
GET https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{starTime}' and eventTimestamp le '{endTime}'
Elencare gli eventi del registro attività a livello del gruppo di gestione
Gli eventi del log attività a livello di gruppo di gestione acquisiscono gli eventi con ambito definito su un gruppo di gestione specifico, ad esempio assegnazioni dei criteri e modifiche dell'appartenenza ai gruppi di gestione.
Annotazioni
- Gli esempi seguenti utilizzano la versione dell'API
2017-03-01-preview, necessaria per le query del log attività a livello del gruppo di gestione.
Per visualizzare gli eventi del log attività a livello di gruppo di gestione nel portale di Azure, passare a Gruppi di gestione> selezionare un gruppo di gestione > Log attività.
Per elencare gli eventi del log attività a livello di gruppo di gestione, usare il comando az rest interfaccia della riga di comando di Azure. Questo comando chiama direttamente l'API REST di Azure Resource Manager per recuperare gli eventi del log attività nell'ambito del gruppo di gestione specificato.
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"
Un cmdlet di PowerShell dedicato non è disponibile per gli eventi del registro delle attività del gruppo di gestione. L'esempio seguente chiama direttamente l'API REST usando Invoke-AzRestMethod.
$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
Per elencare gli eventi del log attività a livello di gruppo di gestione, usare questa richiesta GET sull'API REST Azure Resource Manager. Sostituire {managementGroupId} con l'ID del gruppo di gestione di cui eseguire la query e specificare l'intervallo di tempo nel parametro di $filter query.
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}'
Nella tabella seguente vengono descritti i parametri usati negli esempi precedenti.
| Variabile |
Valore di esempio |
Purpose |
| host |
management.azure.com |
Endpoint ARM implicito |
| subscriptionId |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
Input utente |
| resourceGroupName |
myResourceGroup |
Input utente |
| managementGroupId |
myManagementGroup |
Input utente |
| apiVersion |
• 2015-04-01 • 2017-03-01-preview (per il livello del gruppo di gestione) |
Riferimento |
Visualizzare la cronologia modifiche
Per alcuni eventi è possibile visualizzare la cronologia modifiche, che mostra le modifiche apportate durante un dato momento dell'evento. Selezionare un evento dal log attività da esaminare in modo più approfondito. Selezionare la scheda Cronologia modifiche per visualizzare le modifiche apportate alla risorsa fino a 30 minuti prima e dopo l'ora dell'operazione.
Se all'evento sono associate modifiche, il portale visualizza un elenco selezionabile di modifiche. Se si seleziona una modifica, viene aperta la pagina Cronologia modifiche. In questa pagina vengono visualizzate le modifiche apportate alla risorsa.
L'esempio seguente mostra che la macchina virtuale ha modificato le dimensioni. La pagina visualizza le dimensioni della macchina virtuale prima della modifica e dopo la modifica. Per altre informazioni sulla cronologia delle modifiche, vedere Ottenere modifiche alle risorse.
Informazioni dettagliate sui log attività
I dati analitici del log attività costituiscono una cartella di lavoro di Monitoraggio di Azure che fornisce un insieme di dashboard che monitorano le modifiche apportate alle risorse e ai gruppi di risorse in una sottoscrizione. I dashboard presentano anche i dati relativi agli utenti o ai servizi che hanno eseguito attività nella sottoscrizione e allo stato delle attività.
Per abilitare le informazioni dettagliate sui registri delle attività, esportare il registro delle attività in un'area di lavoro Log Analytics come descritto in Esporta log attività. Questo processo invia gli eventi alla tabella AzureActivity utilizzata dalle analisi del log attività.
È possibile aprire approfondimenti sul log attività a livello di sottoscrizione o a livello di risorsa. Per la sottoscrizione, selezionare Informazioni dettagliate sui log delle attività dalla sezione Workbooks del menu Monitor .
Per una singola risorsa, selezionare Activity Logs Insights nella sezione Cartelle di lavoro del menu della risorsa.
Esporta log attività
Creare un'impostazione di diagnostica per inviare le voci del log delle attività ad altre destinazioni per tempi di conservazione più lunghi e funzionalità aggiuntive.
Nel portale di Azure selezionare Log attività nel menu Monitoraggio di Azure e quindi selezionare Esporta log attività. Per altre informazioni e altri metodi per la creazione di impostazioni di diagnostica, vedere Impostazioni di diagnostica in Monitoraggio di Azure. Assicurarsi di disattivare eventuali configurazioni legacy per il log delle attività.
Le sezioni seguenti forniscono informazioni dettagliate su ogni destinazione configurabile per i log delle risorse.
Inviare il log attività a un'area di lavoro Log Analytics per le funzionalità seguenti:
Non sono previsti addebiti per l'inserimento dei dati per i log attività. I costi di conservazione per i log attività si applicano solo al periodo esteso oltre il periodo di conservazione predefinito di 90 giorni. È possibile aumentare il periodo di conservazione fino a 12 anni.
I dati del log attività in un'area di lavoro di Log Analytics vengono archiviati in una tabella denominata AzureActivity. La struttura di questa tabella varia a seconda della categoria della voce di log.
Ad esempio, per visualizzare un conteggio dei record del log attività per ogni categoria, usare la query seguente:
AzureActivity
| summarize count() by CategoryValue
Per recuperare tutti i record nella categoria amministrativa, usare la query seguente:
AzureActivity
| where CategoryValue == "Administrative"
Importante
In alcuni scenari, i valori nei campi di AzureActivity potrebbero avere casi diversi rispetto ad altri valori equivalenti. Quando si eseguono query sui dati in AzureActivity, usare operatori senza distinzione tra maiuscole e minuscole per i confronti di stringhe o usare una funzione scalare per forzare un campo a una combinazione di maiuscole e minuscole uniformi prima di qualsiasi confronto. Ad esempio, usare la funzione tolower() su un campo per forzarlo a essere sempre minuscolo o l'operatore =~ durante l'esecuzione di un confronto tra stringhe.
Inviare il log attività ad Hub eventi di Azure per inviare voci al di fuori di Azure, ad esempio, a una soluzione SIEM di terze parti o ad altre soluzioni di analisi dei log. Gli eventi del log attività degli hub eventi vengono utilizzati in formato JSON con un elemento records che contiene i record in ogni payload. Lo schema dipende dalla categoria ed è descritto nel schema degli eventi del log attività di Azure.
I dati di output di esempio seguenti provengono da hub degli eventi per un registro delle attività.
{
"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"
}
}
]
}
Invia il registro attività a un account di archiviazione di Azure per conservare i dati di log per più di 90 giorni per audit, analisi statica o backup. Se è necessario conservare gli eventi per 90 giorni o meno, non è necessario configurare l'archiviazione in un account di archiviazione.
Quando il registro delle attività viene inviato all'archiviazione, viene creato immediatamente un contenitore di archiviazione nell'account di archiviazione al verificarsi di un evento. i blob nel contenitore usano la seguente convenzione di denominazione:
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
Ad esempio, un BLOB specifico potrebbe avere un nome simile al seguente:
insights-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json
Ogni PT1H.json BLOB contiene un oggetto JSON con eventi dei file di log ricevuti durante l'ora specificata nell'URL del BLOB. Durante l'ora corrente, gli eventi vengono aggiunti al file di PT1H.json durante la ricezione, indipendentemente dal momento in cui sono stati generati. Il valore del minuto nell'URL, m=00, è sempre 00 quando i BLOB vengono creati su base oraria.
Ogni evento viene archiviato nel file PT1H.json con il formato seguente. Questo formato usa uno schema di primo livello comune, ma è altrimenti univoco per ogni categoria, come descritto nello schema del log attività.
{ "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"}}}
Esportare i log attività del gruppo di gestione
Quando si crea un'impostazione di diagnostica per un gruppo di gestione, esporta gli eventi del log attività di Monitoraggio di Azure per quel gruppo di gestione oltre a tutti i gruppi di gestione sottostanti nella gerarchia. Se più gruppi di gestione nella gerarchia hanno impostazioni di diagnostica, si ricevono eventi duplicati. È necessaria solo una configurazione diagnostica nel gruppo di gestione di livello più alto per acquisire tutti gli eventi per la gerarchia.
Il gruppo di gestione raccoglie anche molti degli stessi eventi di qualsiasi sottoscrizione al suo interno. Se la sottoscrizione e il gruppo di gestione hanno entrambe le impostazioni di diagnostica, si ricevono eventi duplicati. Azure Resource Manager include una proprietà della gerarchia durante la scrittura di eventi, ma non è un campo obbligatorio. I provider di risorse all'esterno di Azure Resource Manager non lo popolano, quindi gli eventi non vengono propagati nella gerarchia. Per questo motivo, ottenere eventi duplicati è preferibile rispetto agli eventi mancanti.
Ad esempio, se si dispone di MG1 che contiene MG2 che contiene Subscription1, un'impostazione di diagnostica su MG1 acquisisce tutti gli eventi del log attività per MG1, MG2 e molti degli eventi raccolti da un'impostazione di diagnostica su Subscription1. In questo caso, non è necessaria alcuna impostazione di diagnostica in MG2 perché raccoglie solo eventi duplicati.
Se sono presenti eventi duplicati, combinarli usando una query che usa un hash di tutti i campi per identificare record univoci. La query Kusto di esempio seguente mostra come esempio i log raccolti in un'area di lavoro Log Analytics.
AzureActivity
| extend Hash = hash(dynamic_to_json(pack_all()))
| summarize arg_max(TimeGenerated, *) by Hash
Esportare il log attività in un file
Selezionare Scarica come CSV per esportare il log attività in un file CSV nel portale di Azure.
Importante
L'esportazione di un numero elevato di voci di log può richiedere molto tempo. Per migliorare le prestazioni, ridurre l'intervallo di tempo dell'esportazione. Nel portale di Azure impostare l'impostazione Timespan .
È possibile esportare il log attività a livello di codice usando interfaccia della riga di comando di Azure.
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"
È possibile esportare il log attività a livello di codice usando 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
Lo script di PowerShell di esempio seguente esporta il log attività in file CSV in intervalli di un'ora, ognuno salvato in un file separato.
# 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."
Identificare la creazione di risorse
Usare il log attività per scoprire quando il sistema ha creato una risorsa e chi lo ha creato. Il log attività è l'unica posizione in cui è archiviato l'autore di una risorsa. Poiché, per impostazione predefinita, il log attività conserva i dati solo per 90 giorni, è necessario esportare i log in un percorso che consente di estendere il periodo di conservazione, ad esempio un'area di lavoro Log Analytics. Trovare quindi l'autore di una risorsa eseguendo una query sulla AzureActivity tabella. I dati vengono conservati per la durata specificata nel periodo di conservazione per questa tabella.
Contenuti correlati