Inviare i log delle risorse di Azure ad aree di lavoro Log Analytics, Hub eventi o Archiviazione di Azure

I log delle risorse di Azure sono log della piattaforma che forniscono informazioni dettagliate sulle operazioni eseguite in una risorsa di Azure. Il contenuto dei log delle risorse è diverso per ogni tipo di risorsa. I log delle risorse non vengono raccolti per impostazione predefinita. Per raccogliere i log delle risorse, è necessario abilitare e configurare le impostazioni di diagnostica o usare le regole di raccolta dati. Per altre informazioni sulle regole di raccolta dati, vedere Regole di raccolta dati in Monitoraggio di Azure. Questo articolo descrive l'impostazione di diagnostica necessaria per ogni risorsa di Azure per inviare i log delle risorse alle aree di lavoro Log Analytics, a Hub eventi o Archiviazione di Azure.

Inviare all'area di lavoro Log Analytics

Inviare i log delle risorse a un'area di lavoro Log Analytics per abilitare le funzionalità di log di Monitoraggio di Azure, dove è possibile:

  • Correlare i dati del log delle risorse con altri dati di monitoraggio raccolti da Monitoraggio di Azure.
  • Consolidare le voci di log da più risorse, 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 sui dati di log.
  • Usare gli avvisi di ricerca log con logica di avviso complessa.

Creare un'impostazione di diagnostica per inviare i log delle risorse a un'area di lavoro Log Analytics. Questi dati vengono archiviati in tabelle come descritto in Struttura dei log di Monitoraggio di Azure. Le tabelle usate dai log delle risorse dipendono dal tipo di risorsa e dal tipo di raccolta usata dalla risorsa. Esistono due tipi di modalità di raccolta per i log delle risorse:

  • Diagnostica di Azure: tutti i dati vengono scritti nella tabella AzureDiagnostics.
  • Specifiche delle risorse: i dati sono scritti in singole tabelle per ogni categoria della risorsa.

Specifico della risorsa

Per i log che usano la modalità specifica della risorsa, vengono create singole tabelle nell'area di lavoro selezionata per ogni categoria di log selezionata nell'impostazione di diagnostica. I log specifici delle risorse presentano i vantaggi seguenti rispetto ai log di diagnostica di Azure:

  • Semplifica l'uso dei dati nelle query di log.
  • Offre una migliore individuabilità degli schemi e della relativa struttura.
  • Migliora le prestazioni tra latenza di inserimento e tempi di query.
  • Offre la possibilità di concedere diritti di controllo degli accessi in base al ruolo di Azure in una tabella specifica.

Per una descrizione dei log e delle tabelle specifiche delle risorse, vedere Categorie di log delle risorse supportate per Monitoraggio di Azure

Modalità diagnostica di Azure

In modalità diagnostica di Azure tutti i dati di qualsiasi impostazione di diagnostica vengono raccolti nella tabella AzureDiagnostics . Questo metodo legacy viene usato oggi da una minoranza di servizi di Azure. Poiché più tipi di risorse inviano dati alla stessa tabella, lo schema è il superset degli schemi di tutti i diversi tipi di dati raccolti. Per informazioni dettagliate sulla struttura di questa tabella e sul relativo funzionamento con questo numero potenzialmente elevato di colonne, vedere Riferimento ad AzureDiagnostics.

La tabella AzureDiagnostics contiene il valore resourceId della risorsa che ha generato il log, la categoria del log e l'ora di generazione del log, nonché le proprietà specifiche delle risorse.

Screenshot che mostra la tabella AzureDiagnostics in un'area di lavoro Log Analytics.

Selezionare la modalità di raccolta

La maggior parte delle risorse di Azure scrive i dati nell'area di lavoro in Diagnostica di Azure o Modalità specifica della risorsa senza poter scegliere. Per altre informazioni, vedere Schemi comuni e specifici del servizio per i log delle risorse di Azure.

Tutti i servizi di Azure useranno infine la modalità specifica della risorsa. Come parte di questa transizione, alcune risorse consentono di selezionare una modalità nell'impostazione di diagnostica. Specificare la modalità specifica della risorsa per le nuove impostazioni di diagnostica perché questa modalità semplifica la gestione dei dati. Può anche essere utile evitare migrazioni complesse in un secondo momento.

Screenshot che mostra il selettore della modalità impostazioni di diagnostica.

Nota

Per un esempio che imposta la modalità di raccolta usando un modello di Azure Resource Manager, vedere Esempi di modelli di Resource Manager per le impostazioni di diagnostica in Monitoraggio di Azure.

È possibile modificare un'impostazione di diagnostica esistente in modalità specifiche della risorsa. In questo caso, i dati già raccolti rimangono nella tabella AzureDiagnostics finché non vengono rimossi in base all'impostazione di conservazione per l'area di lavoro. I nuovi dati vengono raccolti nella tabella dedicata. Usare l'operatore union per eseguire query sui dati in entrambe le tabelle.

Continuare per guardare il blog Aggiornamenti di Azure per annunci sui servizi di Azure che supportano la modalità specifica delle risorse.

Inviare all'Hub eventi di Azure

Inviare i log delle risorse a un hub eventi per inviarli all'esterno di Azure. Ad esempio, i log delle risorse potrebbero essere inviati a una soluzione SIEM di terze parti o ad altre soluzioni di log analytics. I log delle risorse degli hub eventi vengono utilizzati in formato JSON con un elemento records che contiene i record in ogni payload. Lo schema dipende dal tipo di risorsa come descritto in Schemi comuni e specifici del servizio per i log delle risorse di Azure.

I dati di output di esempio seguenti provengono da Hub eventi di Azure per un log delle risorse:

{
    "records": [
        {
            "time": "2019-07-15T18:00:22.6235064Z",
            "workflowId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330013509921957/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Error",
            "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T17:58:55.048482Z",
                "endTime": "2016-07-15T18:00:22.4109204Z",
                "status": "Failed",
                "code": "BadGateway",
                "resource": {
                    "subscriptionId": "AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "2222cccc-33dd-eeee-ff44-aaaaaa555555",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330013509921957",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "3333dddd-44ee-ffff-aa55-bbbbbbbb6666",
                    "clientTrackingId": "08587330013509921958"
                }
            }
        },
        {
            "time": "2019-07-15T18:01:15.7532989Z",
            "workflowId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330012106702630/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Information",
            "operationName": "Microsoft.Logic/workflows/workflowActionStarted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T18:01:15.5828115Z",
                "status": "Running",
                "resource": {
                    "subscriptionId": "AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "dddd3333-ee44-5555-66ff-777777aaaaaa",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330012106702630",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "ffff5555-aa66-7777-88bb-999999cccccc",
                    "clientTrackingId": "08587330012106702632"
                }
            }
        }
    ]
}

Inviare ad Archiviazione di Azure

Inviare i log delle risorse ad Archiviazione di Azure per conservarli per l'archiviazione. Dopo aver creato l'impostazione di diagnostica, viene creato un contenitore di archiviazione nell'account di archiviazione non appena si verifica un evento in una delle categorie di log abilitate.

Nota

Un'alternativa all'archiviazione consiste nell'inviare il log delle risorse a una tabella nell'area di lavoro Log Analytics con conservazione a basso costo e a lungo termine.

I BLOB all'interno del contenitore usano la convenzione di denominazione seguente:

insights-logs-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/RESOURCEGROUPS/{resource group name}/PROVIDERS/{resource provider name}/{resource type}/{resource name}/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

Il BLOB per un gruppo di sicurezza di rete potrebbe avere un nome simile a questo esempio:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/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.

All'interno del file PT1H.json, ogni evento viene archiviato nel formato seguente. Usa uno schema di primo livello comune, ma è univoco per ogni servizio di Azure, come descritto in schema dei log delle risorse.

Nota

I log vengono scritti nei BLOB in base al momento in cui il log è stato ricevuto, indipendentemente dal momento in cui è stato generato. Ciò significa che un determinato BLOB può contenere dati di log esterni all'ora specificata nell'URL del BLOB. Se un'origine dati come Application Insights supporta il caricamento di dati di telemetria non aggiornati, un BLOB può contenere dati delle 48 ore precedenti.
All'inizio di una nuova ora, è possibile che i log esistenti vengano ancora scritti nel BLOB dell'ora precedente mentre i nuovi log vengono scritti nel BLOB della nuova ora.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/AAAA0A0A-BB1B-CC2C-DD3D-EEEEEE4E4E4E/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{12345678-9012-3456-7890-123456789012}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

Integrazioni partner del monitoraggio di Azure

I log delle risorse possono anche essere inviati a soluzioni partner completamente integrate in Azure. Per un elenco di queste soluzioni e informazioni dettagliate su come configurarle, vedere Integrazioni partner di Monitoraggio di Azure.

Passaggi successivi