Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il log attività di Monitoraggio di Azure è un log della piattaforma che fornisce informazioni dettagliate sugli eventi a livello di sottoscrizione. Il log attività include informazioni come quando una risorsa viene modificata o quando si verifica un errore di distribuzione. È possibile visualizzare il log delle attività nel portale di Azure o recuperare voci con PowerShell e Azure CLI.
Questo articolo fornisce informazioni su come visualizzare il log attività e inviarlo a destinazioni diverse.
Annotazioni
- Le voci nel log attività sono generate dal sistema e non possono essere modificate o eliminate.
- Le voci nel log attività rappresentano modifiche del piano di controllo come il riavvio di una macchina virtuale, tutte le voci non correlate devono essere scritte nei log delle risorse di Azure
- Le voci nel log attività sono in genere il risultato di modifiche (operazioni di creazione, aggiornamento o eliminazione) o di un'azione avviata. Le operazioni incentrate sulla lettura dei dettagli di una risorsa non vengono in genere acquisite.
Suggerimento
Se si è stati indirizzati a questo articolo da un errore dell'operazione di distribuzione, vedere Risolvere gli errori comuni di distribuzione di Azure.
Esportare i log delle attività
Passare a Azure Monitor>Log attività e selezionare Esporta log attività.
Annotazioni
È possibile inviare il log attività da qualsiasi singola sottoscrizione a un massimo di cinque aree di lavoro.
Aggiungere l'impostazione di diagnostica per inviare i registri delle attività a una o più delle seguenti posizioni.
- Area di lavoro Log Analytics per query e avvisi più complessi.
- Hub eventi di Azure per l'inoltro dei log all'esterno di Azure.
- Archiviazione di Azure per un'archiviazione a lungo termine più conveniente.
Per informazioni dettagliate su come creare un'impostazione di diagnostica, vedere Creare impostazioni di diagnostica per inviare log e metriche della piattaforma a destinazioni diverse.
Suggerimento
Invia i dati del log delle attività a un'area di lavoro Log Analytics per ottenere i seguenti vantaggi:
- L'invio dei log a un'area di lavoro Log Analytics è gratuito per il periodo di conservazione predefinito.
- Inviare i log a un'area di lavoro Log Analytics per conservarli più a lungo, fino a 12 anni.
- I log esportati in un'area di lavoro Log Analytics possono essere visualizzati in Power BI
- Vengono fornite informazioni dettagliate per i log attività esportati in Log Analytics.
Inviare a un'area di lavoro Log Analytics
Inviare il log attività a un'area di lavoro Log Analytics per abilitare la funzionalità log di Monitoraggio di Azure, in cui:
- Correlare i dati del log attività con altri dati di monitoraggio raccolti da Azure Monitor.
- Consolidare le voci di log da più sottoscrizioni e tenant di Azure in un'unica posizione per l'analisi.
- Usare le query sui log per eseguire analisi complesse e ottenere approfondimenti dettagliati sulle voci del registro attività.
- Usare gli avvisi di ricerca log con le voci attività per una logica di avviso più complessa.
- Archiviare le voci del log attività per un periodo maggiore rispetto a quello di conservazione dei log attività.
- Non sono previsti addebiti per inserimento o conservazione dei dati dei log attività in un'area di lavoro Log Analytics.
- Il periodo di conservazione predefinito in Log Analytics è di 90 giorni.
I dati del log attività in un'area di lavoro Log Analytics vengono archiviati in una tabella denominata AzureActivity
che è possibile recuperare con una query di log in Log Analytics. La struttura di questa tabella varia a seconda della categoria della voce di log. Per una descrizione delle proprietà della tabella, vedere il riferimento ai dati di Monitoraggio di Azure.
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, è possibile che i valori nei campi di AzureActivity abbiano maiuscole e minuscole diverse rispetto a valori equivalenti in caso contrario. Prestare attenzione quando si eseguono query sui dati in AzureActivity per 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 all'Hub eventi di Azure
Inviare il log attività a Hub eventi di Azure per inviare voci esterne ad Azure, ad esempio a una soluzione SIEM di terze parti o ad altre soluzioni di Log Analytics. 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 nello schema di 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/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"
}
}
]
}
Inviare ad Azure Storage
Inviare il registro delle attività a un account di archiviazione di Azure se si vogliono conservare i dati del registro per più di 90 giorni per motivi di controllo, analisi statica o backup. Se è necessario conservare gli eventi per 90 giorni o meno, non è necessario configurare l'archiviazione in un account di archiviazione. Gli eventi del log attività vengono conservati nella piattaforma Azure per 90 giorni.
Quando si invia il log attività ad Azure, viene creato un contenitore di archiviazione nell'account di archiviazione non appena si verifica 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 BLOB PT1H.JSON 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"}}}
Esporta in CSV
Selezionare Scarica come CSV per esportare il log attività in un file CSV usando il portale di Azure.
Importante
L'esportazione può richiedere una quantità eccessiva di tempo se si dispone di un numero elevato di voci di log. Per migliorare le prestazioni, ridurre l'intervallo di tempo dell'esportazione. Nel portale di Azure questa impostazione viene impostata con l'impostazione Timespan .
È anche possibile esportare il log attività in un file CSV usando PowerShell o l'interfaccia della riga di comando di Azure come negli esempi seguenti.
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
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."
Altri metodi per recuperare gli eventi del registro delle attività
È anche possibile accedere agli eventi del log attività usando i metodi seguenti:
- Usare il cmdlet Get-AzLog per recuperare il log attività da PowerShell. Vedi Esempi di PowerShell di Azure Monitor.
- Usare az monitor activity-log per recuperare il registro delle attività dalla CLI. Consulta gli esempi CLI di Monitoraggio di Azure.
- Usare l'API REST di Monitoraggio di Azure per recuperare il log attività da un client REST.
Metodi di raccolta legacy
Annotazioni
La soluzione Azure Activity Log è stata usata per inoltrare i log attività a Log Analytics. Questa soluzione sarà ritirata il 15 settembre 2026 e verrà automaticamente convertita in impostazioni di diagnostica.
Se si raccolgono log attività usando il metodo di raccolta legacy, è consigliabile esportare i log attività nell'area di lavoro Log Analytics e disabilitare la raccolta legacy usando Origini dati - Elimina API come indicato di seguito:
Elencare tutte le origini dati connesse all'area di lavoro usando Origini dati - Elenca per API area di lavoro e filtrare i log attività impostando
kind eq 'AzureActivityLog'
.Copiare il nome della connessione da disabilitare dalla risposta dell'API.
Usare Origini dati - Elimina API per interrompere la raccolta dei log attività per la risorsa specifica.
Gestione dei profili di log legacy (ritiro)
Annotazioni
- I profili di log sono stati usati per inoltrare i registri delle attività agli account di archiviazione e agli Hub degli eventi. Questo metodo verrà ritirato il 15 settembre 2026.
- Se si usa questo metodo, passare a Impostazioni di diagnostica prima del 15 settembre 2025, quando si interromperà la creazione di nuovi profili di log.
I profili di log sono il metodo legacy per l'invio del log attività all'archiviazione o agli hub eventi. Se si usa questo metodo, passare a Impostazioni di diagnostica, che offrono funzionalità e coerenza migliori con i log delle risorse.
Se esiste già un profilo di log, è prima necessario rimuovere il profilo di log esistente e quindi crearne uno nuovo.
Usare
Get-AzLogProfile
per determinare se esiste già un profilo di log. Se esiste un profilo di log, prendere nota della proprietàName
.Usare
Remove-AzLogProfile
per rimuovere il profilo di log usando il valore dalla proprietàName
.# For example, if the log profile name is 'default' Remove-AzLogProfile -Name "default"
Usare
Add-AzLogProfile
per creare un nuovo profilo di log: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
Proprietà Obbligatorio Descrizione Nome Sì Nome del profilo di log. StorageAccountId NO ID risorsa dell'account di archiviazione in cui salvare il log attività. serviceBusRuleId NO ID regola del bus di servizio per lo spazio dei nomi del bus di servizio in cui si vogliono creare hub eventi. Questa stringa ha il formato {service bus resource ID}/authorizationrules/{key name}
.Ubicazione Sì Elenco delimitato da virgole di aree per cui si desidera raccogliere gli eventi del log attività. RetentionInDays Sì Numero di giorni per i quali gli eventi devono essere conservati nell'account di archiviazione, da 1 a 365. Se il valore è zero, i log vengono conservati all'infinito. Categoria NO Elenco delimitato da virgole di categorie di eventi da raccogliere. I valori possibili sono Write, Delete e Action.
Script di esempio
Questo script di PowerShell di esempio crea un profilo di log che registra il log delle attività in un account di archiviazione e in un hub eventi.
# 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
Modifiche alla struttura dei dati
L'esperienza di esportazione dei log attività invia gli stessi dati del metodo legacy utilizzato per inviare il log delle attività, con alcune modifiche alla struttura della tabella AzureActivity
.
Le colonne nella tabella seguente sono obsolete nello schema aggiornato. Esistono ancora in AzureActivity
, ma non hanno dati. Le sostituzioni per queste colonne non sono nuove, ma contengono gli stessi dati della colonna deprecata. Sono in un formato diverso, quindi potrebbe essere necessario modificare le query di log che le usano.
JSON del log attività | Nome della colonna di Log Analytics precedente (deprecato) |
Nuovo nome di colonna di Log Analytics | Note |
---|---|---|---|
categoria | Categoria | CategoryValue | |
stato I valori sono success , start , accept , failure |
ActivityStatus Valori uguali a JSON |
ActivityStatusValue I valori cambiano in succeeded , started , accepted , failed |
I valori validi cambiano come illustrato. |
subStatus | Sottostato dell'attività | ValoreSottoStatoAttività | |
NomeOperazione | Nome dell'operazione | OperationNameValue | L'API REST localizza il valore del nome dell'operazione. L'interfaccia utente di Log Analytics mostra sempre l'inglese. |
resourceProviderName | Fornitore di Risorse | Valore del Fornitore di Risorse |
Importante
In alcuni casi, i valori in queste colonne potrebbero essere tutti maiuscoli. Se si dispone di una query che include queste colonne, usare l'operatore =~ per eseguire un confronto senza distinzione tra maiuscole e minuscole.
Le colonne seguenti sono state aggiunte a AzureActivity
nello schema aggiornato:
Authorization_d
Claims_d
Properties_d
Passaggi successivi
Altre informazioni su: