Inviare i dati del log attività di Monitoraggio di Azure

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

Creare un'impostazione di diagnostica per inviare il log attività a una o più di queste posizioni:

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

Inviare i log attività a un'area di lavoro Log Analytics per ottenere i vantaggi seguenti:

Nota

  • 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, ad esempio il riavvio di una macchina virtuale, tutte le voci non correlate devono essere scritte in 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.

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 sui log per eseguire analisi complesse e ottenere informazioni dettagliate approfondite sulle voci del log 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 più tempo rispetto al periodo di conservazione del log attività.
  • Non sono previsti inserimen to dati o addebiti per la conservazione dei dati dei log attività archiviati in un'area di lavoro Log Analytics.
  • Il periodo di conservazione predefinito in Log Analytics è di 90 giorni

Selezionare Esportare i 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 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 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-activity-logs/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 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/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"}}}

Altri metodi per recuperare gli eventi del log attività

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

Metodi di raccolta legacy

Nota

  • La soluzione Log attività di Azure è stata usata per inoltrare i log attività ad Azure 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:

  1. 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'.

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

  2. Copiare il nome della connessione da disabilitare dalla risposta dell'API.

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

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

    Screenshot della configurazione dell'API Origini dati - Elimina API.

Gestione dei profili di log legacy - Ritiro

Nota

  • I profili di log sono stati usati per inoltrare i log attività agli account di archiviazione e agli hub 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.

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

  2. 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"
    
  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à Richiesto Descrizione
    Name 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}.
    Ufficio 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.
    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 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 tabella AzureActivity.

Le colonne nella tabella seguente sono 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 le usano.

JSON del log attività Nome della colonna di Log Analytics
(obsoleto, deprecato)
Nuovo nome di colonna di Log Analytics Note
category 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 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: