Raccolta di log e metriche per i servizi di Azure da usare in Log Analytics

Esistono quattro diversi modi per raccogliere log e metriche per i servizi di Azure:

  1. Da Diagnostica di Azure direttamente a Log Analytics (Diagnostica nella tabella seguente)
  2. Da Diagnostica di Azure ad Archiviazione di Azure a Log Analytics (Archiviazione nella tabella seguente)
  3. Connettori per i servizi di Azure (Connettori nella tabella seguente)
  4. Script per raccogliere e inviare i dati a Log Analytics (spazi vuoti nella tabella seguente e per i servizi non elencati)
Service Tipo di risorsa Log Metrica Soluzione
Gateway di applicazione Microsoft.Network/applicationGateways Diagnostica Diagnostica Analisi dei gateway applicazione di Azure
Application Insights Connettore Connettore Application Insights Connector (anteprima)
Account di Automazione Microsoft.Automation/AutomationAccounts Diagnostica Altre informazioni
Account Batch Microsoft.Batch/batchAccounts Diagnostica Diagnostica
Servizi cloud classici Archiviazione Altre informazioni
Servizi cognitivi Microsoft.CognitiveServices/accounts Diagnostica
Data Lake Analytics Microsoft.DataLakeAnalytics/accounts Diagnostica
Data Lake Store Microsoft.DataLakeStore/accounts Diagnostica
Spazio dei nomi dell'hub eventi Microsoft.EventHub/namespaces Diagnostica Diagnostica
Hub IoT Microsoft.Devices/IotHubs Diagnostica
Insieme di credenziali delle chiavi Microsoft.KeyVault/vaults Diagnostica KeyVault Analytics
Servizi di bilanciamento del carico Microsoft.Network/loadBalancers Diagnostica
App per la logica Microsoft.Logic/workflows
Microsoft.Logic/integrationAccounts
Diagnostica Diagnostica
Gruppi di sicurezza di rete Microsoft.Network/networksecuritygroups Diagnostica Analisi del gruppo di sicurezza di rete di Azure
Insiemi di credenziali di ripristino Microsoft.RecoveryServices/vaults Azure Recovery Services Analytics (Anteprima)
Servizi di ricerca Microsoft.Search/searchServices Diagnostica Diagnostica
Spazio dei nomi del bus di servizio Microsoft.ServiceBus/namespaces Diagnostica Diagnostica Service Bus Analytics (Anteprima)
Service Fabric Archiviazione Service Fabric Analytics (anteprima)
SQL (versione 12) Microsoft.Sql/servers/databases
Microsoft.Sql/servers/elasticPools
Diagnostica Azure SQL Analytics (Anteprima)
Archiviazione Script Azure Storage Analytics (Anteprima)
Macchine virtuali Microsoft.Compute/virtualMachines Estensione Estensione
Diagnostica
Set di scalabilità di macchine virtuali Microsoft.Compute/virtualMachines
Microsoft.Compute/virtualMachineScaleSets/virtualMachines
Diagnostica
Server farm Web Microsoft.Web/serverfarms Diagnostica
Microsoft Azure Microsoft.Web/sites
Microsoft.Web/sites/slots
Diagnostica Azure Web Apps Analytics (Anteprima)
Nota

Per monitorare le macchine virtuali di Azure (sia Linux che Windows), è consigliabile installare l'estensione macchina virtuale di Log Analytics. L'agente fornisce informazioni dettagliate raccolte all'interno delle macchine virtuali. È anche possibile usare l'estensione per i set di scalabilità di macchine virtuali.

Da Diagnostica di Azure direttamente a Log Analytics

Molte risorse di Azure sono in grado di scrivere i log di diagnostica e le metriche direttamente in Log Analytics e questo è il modo migliore per raccogliere i dati per l'analisi. Quando si usa Diagnostica di Azure, i dati vengono scritti immediatamente in Log Analytics e non occorre scriverli prima nell'archiviazione.

Le risorse di Azure che supportano Monitoraggio di Azure possono inviare i log e le metriche direttamente a Log Analytics.

Abilitare la diagnostica con PowerShell

È necessaria la versione di novembre 2016 (2.3.0) o versione successiva di Azure PowerShell.

L'esempio di PowerShell seguente mostra come usare Set-AzureRmDiagnosticSetting per abilitare la diagnostica in un gruppo di sicurezza di rete. Lo stesso approccio funziona per tutte le risorse supportate. Impostare $resourceId sull'ID della risorsa per cui si vuole abilitare la diagnostica.

$workspaceId = "/subscriptions/d2e37fee-1234-40b2-5678-0b2199de3b50/resourcegroups/oi-default-east-us/providers/microsoft.operationalinsights/workspaces/rollingbaskets"

$resourceId = "/SUBSCRIPTIONS/ec11ca60-1234-491e-5678-0ea07feae25c/RESOURCEGROUPS/DEMO/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/DEMO"

Set-AzureRmDiagnosticSetting -ResourceId $ResourceId  -WorkspaceId $workspaceId -Enabled $true

Abilitare la diagnostica con modelli di Resource Manager

Per abilitare la diagnostica per una risorsa al momento della creazione e inviare i dati di diagnostica all'area di lavoro di Log Analytics, è possibile usare un modello simile al seguente. Questo esempio è riferito a un account di Automazione, ma funziona per tutti i tipi di risorse supportati.

        {
            "type": "Microsoft.Automation/automationAccounts/providers/diagnosticSettings",
            "name": "[concat(parameters('omsAutomationAccountName'), '/', 'Microsoft.Insights/service')]",
            "apiVersion": "2015-07-01",
            "dependsOn": [
                "[concat('Microsoft.Automation/automationAccounts/', parameters('omsAutomationAccountName'))]",
                "[concat('Microsoft.OperationalInsights/workspaces/', parameters('omsWorkspaceName'))]"
            ],
            "properties": {
                "workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('omsWorkspaceName'))]",
                "logs": [
                    {
                        "category": "JobLogs",
                        "enabled": true
                    },
                    {
                        "category": "JobStreams",
                        "enabled": true
                    }
                ]
            }
        }

Risolvere i problemi relativi a Diagnostica di Azure

Se viene visualizzato il messaggio di errore seguente, il provider di risorse Microsoft.insights non è registrato:

Failed to update diagnostics for 'resource'. {"code":"Forbidden","message":"Please register the subscription 'subscription id' with Microsoft.Insights."}

Per registrare il provider di risorse, seguire questa procedura nel portale di Azure:

  1. Nel pannello di navigazione a sinistra fare clic su Sottoscrizioni.
  2. Selezionare la sottoscrizione identificata nel messaggio di errore.
  3. Fare clic su Provider di risorse.
  4. Trovare il provider Microsoft.insights.
  5. Fare clic sul collegamento Registra.

Registrare il provider di risorse Microsoft.insights

Dopo aver registrato il provider di risorse Microsoft.insights, provare di nuovo a configurare la diagnostica.

Se in PowerShell viene visualizzato il messaggio di errore seguente è necessario aggiornare la versione di PowerShell:

Set-AzureRmDiagnosticSetting : A parameter cannot be found that matches parameter name 'WorkspaceId'.

Aggiornare PowerShell alla versione di novembre 2016 (v2.3.0) o successiva usando le istruzioni disponibili nell'articolo Get started with Azure PowerShell cmdlets (Introduzione ai cmdlet di Azure PowerShell).

Da Diagnostica di Azure ad Archiviazione di Azure e poi a Log Analytics

Per raccogliere i log da alcune risorse, è possibile inviare i log ad Archiviazione di Azure e quindi configurare Log Analytics per leggere i log dall'archiviazione.

Log Analytics può usare questo approccio per raccogliere i dati di diagnostica da Archiviazione di Azure per le risorse e i log seguenti:

Risorsa Log
Service Fabric ETWEvent
Evento operativo
Evento Reliable Actor
Evento Reliable Service
Macchine virtuali Syslog Linux
Evento Windows
Log IIS
ETWEvent Windows
Ruoli Web
Ruoli di lavoro
Syslog Linux
Evento Windows
Log IIS
ETWEvent Windows
Nota

Quando si inviano dati di diagnostica a un account di archiviazione e quando Log Analytics legge i dati da tale account, vengono addebitate le normali tariffe dati di Azure per l'archiviazione e le transazioni.

Vedere Uso dell'archivio BLOB per IIS e dell'archivio tabelle per gli eventi per altre informazioni sulle modalità di raccolta di questi log in Log Analytics.

Connettori per i servizi di Azure

Esiste un connettore per Application Insights, che consente di inviare i dati raccolti da Application Insights a Log Analytics.

Altre informazioni sul connettore Application Insights.

Script per raccogliere i dati e inviarli a Log Analytics

Per i servizi di Azure che non forniscono un modo diretto per inviare i log e le metriche a Log Analytics, è possibile usare uno script di Automazione di Azure per raccogliere i log e le metriche. Lo script può quindi inviare i dati a Log Analytics tramite l'API di raccolta dati

La raccolta di modelli di Azure include esempi dell'uso di Automazione di Azure per raccogliere dati dai servizi e inviarli a Log Analytics.

Passaggi successivi