Log attività di Monitoraggio di Azure

Il log attività di Monitoraggio di Azure è un log della piattaforma in Azure che fornisce informazioni dettagliate sugli eventi a livello di sottoscrizione. Il log attività include informazioni relative, ad esempio, alla modifica di una risorsa o all'avvio di una macchina virtuale. È possibile visualizzare il log attività nel portale di Azure o recuperarne le voci con PowerShell e l'interfaccia della riga di comando di Azure. Questo articolo fornisce informazioni su come visualizzare il log attività e inviarlo a destinazioni diverse.

Per altre funzionalità, creare un'impostazione di diagnostica per inviare il log attività a una o più di queste posizioni per i motivi seguenti:

  • Inviare ai log di Monitoraggio di Azure per query e avvisi più complessi e per una conservazione più lunga, fino a due anni.
  • Inviare a Hub eventi di Azure per inoltrare all'esterno di Azure.
  • Inviare ad Archiviazione di Azure per l'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.

Nota

  • Le voci nel log attività vengono generate dal sistema e non possono essere modificate o eliminate.
  • Le voci nel log attività rappresentano modifiche del piano di controllo, ad esempio il riavvio di una macchina virtuale, tutte le voci non correlate devono essere scritte nei log delle risorse di Azure

Periodo di memorizzazione

Gli eventi del log attività vengono conservati in Azure per 90 giorni e quindi eliminati. Non sono previsti costi per le voci 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 instradare le voci a un'altra posizione in base alle esigenze. Vedere i criteri nella sezione precedente.

Visualizzare il log attività

È possibile accedere al log attività dalla maggior parte dei menu nel portale di Azure. Il menu da cui viene aperto ne determina il filtro iniziale. Se si apre dal menu Monitoraggio , l'unico filtro è nella sottoscrizione. Se lo si apre dal menu di una risorsa, il filtro è impostato su tale risorsa. È sempre possibile modificare il filtro per visualizzare tutte le altre voci. Selezionare Aggiungi filtro per aggiungere altre proprietà al filtro.

Screenshot che mostra il log attività.

Per una descrizione delle categorie di log attività, vedere Schema eventi del log attività di Azure.

Scaricare il log attività

Selezionare Scarica come CSV per scaricare gli eventi nella vista corrente.

Screenshot che mostra il download del log attività.

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à che si vuole esaminare in modo più approfondito. Selezionare la scheda Cronologia modifiche (anteprima) per visualizzare eventuali modifiche associate a tale evento.

Screenshot che mostra l'elenco Cronologia modifiche per un evento.

Se all'evento sono associate modifiche, verrà visualizzato un elenco di modifiche che è possibile selezionare. Selezionando una modifica si apre la pagina Cronologia modifiche (anteprima). In questa pagina vengono visualizzate le modifiche apportate alla risorsa. Nell'esempio seguente è possibile notare che le dimensioni della macchina virtuale sono state modificate. Nella pagina vengono visualizzate le dimensioni della macchina virtuale prima della modifica e dopo la modifica. Per altre informazioni sulla cronologia delle modifiche, vedere Ottenere le modifiche alle risorse.

Screenshot che mostra la pagina Cronologia modifiche che mostra le differenze.

Altri metodi per recuperare gli eventi del log attività

È anche possibile accedere agli eventi del log attività usando i metodi seguenti:

Inviare all'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 Monitoraggio di Azure.
  • Consolidare le voci di log da più sottoscrizioni e tenant di Azure in un'unica posizione per l'analisi.
  • Usare le query di log per eseguire analisi complesse e ottenere informazioni approfondite sulle voci del log attività.
  • Usare gli avvisi del log con le voci attività per una logica di avviso più complessa.
  • Archiviare le voci del log attività per un periodo di conservazione più lungo del log attività.
  • Non vengono addebitati addebiti per l'inserimento o la conservazione dei dati del log attività archiviati in un'area di lavoro Log Analytics.
  • Il periodo di conservazione predefinito in Log Analytics è di 90 giorni

Selezionare Esporta log attività per inviare il log attività a un'area di lavoro Log Analytics.

Screenshot che mostra l'esportazione dei log attività.

È possibile inviare il log attività da qualsiasi singola sottoscrizione a un massimo di cinque aree di lavoro.

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 informazioni di riferimento sui 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 da valori altrimenti equivalenti. 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 uniforme prima di qualsiasi confronto. Ad esempio, usare la funzione tolower() in un campo per forzarla a essere sempre minuscola o l'operatore =~ quando si esegue un confronto tra stringhe.

Inviare all'Hub eventi di Azure

Inviare il log attività a Hub eventi di Azure per inviare voci all'esterno di 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 records elemento che contiene i record in ogni payload. Lo schema dipende dalla categoria e viene descritto nello schema degli eventi del log attività di Azure.

I dati di output di esempio seguenti provengono da hub eventi per un log 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": "c776f9f4-36e5-4e0e-809b-c9b3c3fb62a8",
            "identity": {
                "authorization": {
                    "scope": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
                    "action": "microsoft.support/supporttickets/write",
                    "evidence": {
                        "role": "Subscription Admin"
                    }
                },
                "claims": {
                    "aud": "https://management.core.windows.net/",
                    "iss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
                    "iat": "1421876371",
                    "nbf": "1421876371",
                    "exp": "1421880271",
                    "ver": "1.0",
                    "http://schemas.microsoft.com/identity/claims/tenantid": "00000000-0000-0000-0000-000000000000",
                    "http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
                    "http://schemas.microsoft.com/identity/claims/objectidentifier": "2468adf0-8211-44e3-95xq-85137af64708",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
                    "puid": "20030000801A118C",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "9vckmEGF7zDKk1YzIY8k0t1_EAPaXoeHyPRn6f413zM",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "John",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "Smith",
                    "name": "John Smith",
                    "groups": "cacfe77c-e058-4712-83qw-f9b08849fd60,7f71d11d-4c41-4b23-99d2-d32ce7aa621c,31522864-0578-4ea0-9gdc-e66cc564d18c",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
                    "appid": "c44b4083-3bq0-49c1-b47d-974e53cbdf3c",
                    "appidacr": "2",
                    "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
                    "http://schemas.microsoft.com/claims/authnclassreference": "1"
                }
            },
            "level": "Information",
            "location": "global",
            "properties": {
                "statusCode": "Created",
                "serviceRequestId": "50d5cddb-8ca0-47ad-9b80-6cde2207f97c"
            }
        }
    ]
}

Inviare ad Archiviazione di Azure

Inviare il log attività a un account di archiviazione di Azure se si vogliono conservare i dati di log più di 90 giorni per il controllo, l'analisi statica o il 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 convenzione di denominazione seguente:

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-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/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 PT1H.json quando vengono ricevuti, 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 in Schema del log attività.

{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "0f0cb6b4-804b-4129-b893-70aeeb63997e", "operationName": "Microsoft.Resourcehealth/healthevent/Updated/action", "level": "Information", "resultType": "Updated", "category": "ResourceHealth", "properties": {"eventCategory":"ResourceHealth","eventProperties":{"title":"This virtual machine is starting as requested by an authorized user or process. It will be online shortly.","details":"VirtualMachineStartInitiatedByControlPlane","currentHealthStatus":"Unknown","previousHealthStatus":"Unknown","type":"Downtime","cause":"UserInitiated"}}}

Metodi di raccolta legacy

Nota

  • La soluzione Log attività di Azure è stata usata per inoltrare i log attività ad Azure Log Analytics. Questa soluzione viene 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 l'API Origini dati - Elimina come indicato di seguito:

  1. Elencare tutte le origini dati connesse all'area di lavoro usando l'API Origini dati - Elenca per area di lavoro e filtrare i log attività impostando kind eq 'AzureActivityLog'.

    Screenshot che mostra la configurazione dell'API Origini dati - Elenco per area di lavoro.

  2. Copiare il nome della connessione che si vuole disabilitare dalla risposta dell'API.

    Screenshot che mostra le informazioni di connessione che è necessario copiare dall'output dell'API Origini dati - Elenco per area di lavoro.

  3. Usare l'API Origini dati - Elimina per interrompere la raccolta dei log attività per la risorsa specifica.

    Screenshot della configurazione dell'API Origini dati - Elimina.

Gestione dei profili di log legacy

I profili di log sono il metodo legacy per l'invio del log attività all'archiviazione o all'hub eventi. Se si usa questo metodo, è consigliabile passare alle 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.

  1. Usare Get-AzLogProfile per determinare se esiste già un profilo di log. Se esiste un profilo di log, prendere nota della Name proprietà.

  2. Usare Remove-AzLogProfile per rimuovere il profilo di log usando il valore della Name proprietà.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. 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à Obbligatoria Descrizione
    Nome Nome del profilo di log.
    StorageAccountId No ID risorsa dell'account di archiviazione in cui deve essere salvato il log attività.
    serviceBusRuleId No ID regola del bus di servizio per lo spazio dei nomi del bus di servizio in cui si desidera creare hub eventi. Questa stringa ha il formato {service bus resource ID}/authorizationrules/{key name}.
    Posizione Elenco delimitato da virgole di aree per cui si desidera raccogliere gli eventi del log attività.
    RetentionInDays 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.
    Category 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 esempio di PowerShell crea un profilo di log che scrive il log 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>"

# 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 Esporta log attività invia gli stessi dati del metodo legacy usato per inviare il log attività con alcune modifiche alla struttura della AzureActivity tabella.

Le colonne della tabella seguente sono state deprecate 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 li usano.

JSON del log attività Nome colonna Log Analytics
(deprecato precedente)
Nuovo nome di colonna di Log Analytics Note
category Category CategoryValue
status

I valori sono riusciti, avviare, accettare, errore
ActivityStatus

Valori uguali a JSON
ActivityStatusValue

I valori cambiano in esito positivo, avviato, accettato, non riuscito
I valori validi cambiano come illustrato.
subStatus ActivitySubstatus ActivitySubstatusValue
operationName OperationName OperationNameValue L'API REST localizza il valore del nome dell'operazione. L'interfaccia utente di Log Analytics mostra sempre l'inglese.
resourceProviderName ResourceProvider ResourceProviderValue

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: