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.

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

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
  • 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 Esporta log attività per inviare il log attività a un'area di lavoro Log Analytics.

Screenshot that shows exporting activity logs.

È 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 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() in un campo per forzare che sia sempre minuscola o l'operatore =~ quando si esegue un confronto di 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 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 Archiviazione di Azure se si desidera conservare i dati di log per 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 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 PT1H.json non appena 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"}}}

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 viene ritirata il 15 settembre 2026 e verrà automaticamente convertita in impostazioni di diagnostica.

Se si raccolgono i 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 - Elenco per area di lavoro e filtrare i log attività impostando kind eq 'AzureActivityLog'.

    Screenshot showing the configuration of the Data Sources - List By Workspace API.

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

    Screenshot showing the connection information you need to copy from the output of the Data Sources - List By Workspace API.

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

    Screenshot of the configuration of the Data Sources - Delete API.

Gestione dei profili di log legacy

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, prendere in considerazione la transizione 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. Utilizzare Remove-AzLogProfile per rimuovere il profilo di log usando il valore dalla 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à Richiesto Descrizione
    Name Nome del profilo di log.
    StorageAccountId No ID risorsa dell'account di archiviazione in cui salvare il log attività.
    serviceBusRuleId No bus di servizio ID regola per lo spazio dei nomi bus di servizio in cui si desidera 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 AzureActivity tabella.

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

JSON del log attività Nome della colonna di Log Analytics
(obsoleto)
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

Modifica dei valori 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: