Installare e configurare l'estensione Diagnostica di Azure per Windows (WAD)

L'estensione Diagnostica di Azure è un agente di Monitoraggio di Azure che raccoglie i dati di monitoraggio dal sistema operativo guest e i carichi di lavoro delle macchine virtuali di Azure e di altre risorse di calcolo. Questo articolo fornisce informazioni su come installare e configurare l'estensione Diagnostica di Azure per Windows e descrive come vengono archiviati i dati in un account di Archiviazione di Azure.

L'estensione di diagnostica viene implementata come estensione macchina virtuale in Azure. Supporta le stesse opzioni di installazione usando modelli di Azure Resource Manager, PowerShell e l'interfaccia della riga di comando di Azure. Per informazioni su come installare e gestire le estensioni delle macchine virtuali, vedere Estensioni e funzionalità delle macchine virtuali per Windows.

Panoramica

Quando si configura l'estensione Diagnostica di Azure per Windows, è necessario specificare un account di archiviazione in cui verranno inviati tutti i dati specificati. Facoltativamente, è possibile aggiungere uno o più sink di dati per inviare i dati a posizioni diverse:

  • Sink di Monitoraggio di Azure: consente di inviare i dati delle prestazioni guest alle metriche di Monitoraggio di Azure.
  • Sink di Hub eventi di Azure: consente di inviare i dati di log e prestazioni guest agli hub eventi per l'inoltro all'esterno di Azure. Non è possibile configurare questo sink nel portale di Azure.

Eseguire l'installazione con il portale di Azure

È possibile installare e configurare l'estensione di diagnostica in una singola macchina virtuale nel portale di Azure. Si userà un'interfaccia anziché lavorare direttamente con la configurazione. Quando si abilita l'estensione Diagnostica, viene usata automaticamente una configurazione predefinita con i contatori delle prestazioni e gli eventi più comuni. È possibile modificare questa configurazione predefinita in base ai requisiti specifici.

Nota

Nei passaggi seguenti vengono descritte le impostazioni più comuni per l'estensione di diagnostica. Per altre informazioni su tutte le opzioni di configurazione, vedere Schema dell'estensione Diagnostica per Windows.

  1. Aprire il menu di una macchina virtuale nel portale di Azure.

  2. Selezionare Impostazioni di diagnostica nella sezione Monitoraggio del menu della macchina virtuale.

  3. Selezionare Abilita monitoraggio a livello di guest se l'estensione di diagnostica non è già stata abilitata.

    Screenshot che mostra l'abilitazione del monitoraggio.

  4. Verrà creato un nuovo account di Archiviazione di Azure per la macchina virtuale. Il nome sarà basato sul nome del gruppo di risorse per la macchina virtuale. Verrà selezionato un set predefinito di contatori e log delle prestazioni guest.

    Screenshot che mostra le impostazioni di Diagnostica.

  5. Nella scheda Contatori prestazioni selezionare le metriche guest da raccogliere da questa macchina virtuale. Usare l'impostazione Personalizzate per una selezione più dettagliata.

    Screenshot che mostra i contatori delle prestazioni.

  6. Nella scheda Log selezionare i log da raccogliere dalla macchina virtuale. I log possono essere inviati a risorse di archiviazione o hub eventi, ma non a Monitoraggio di Azure. Usare l'agente Log Analytics per raccogliere i log guest in Monitoraggio di Azure.

    Screenshot che mostra la scheda Log con log diversi selezionati per una macchina virtuale.

  7. Nella scheda Dump di arresto anomalo specificare i processi per la raccolta di dump di memoria dopo un arresto anomalo del sistema. I dati verranno scritti nell'account di archiviazione per l'impostazione di diagnostica. Facoltativamente, è possibile specificare un contenitore BLOB.

    Screenshot che mostra la scheda Dump di arresto anomalo.

  8. Nella scheda Sink specificare se inviare i dati a percorsi diversi dall'Archiviazione di Azure. Se si seleziona Monitoraggio di Azure, i dati sulle prestazioni guest verranno inviati alle metriche di Monitoraggio di Azure. Non è possibile configurare il sink di Hub eventi usando il portale di Azure.

    Screenshot che mostra la scheda Sink con l'opzione Invia i dati di diagnostica a Monitoraggio di Azure abilitata.

    Se non è stata abilitata un'identità assegnata dal sistema per la macchina virtuale, è possibile che venga visualizzato l'avviso seguente quando si salva una configurazione con il sink di Monitoraggio di Azure. Selezionare il banner per abilitare l'identità assegnata dal sistema.

    Screenshot che mostra l'avviso relativo all'identità gestita.

  9. Nella scheda Agente è possibile modificare l'account di archiviazione, impostare la quota del disco e specificare se verranno raccolti i log dell'infrastruttura di diagnostica.

    Screenshot che mostra la scheda Agente con l'opzione per impostare l'account di archiviazione.

  10. Seleziona Salva per salvare la configurazione.

Nota

La configurazione per l'estensione di diagnostica può essere salvata con il formato JSON o XML, ma qualsiasi configurazione eseguita nel portale di Azure verrà sempre archiviata con il formato JSON. Se si usa XML con un altro metodo di configurazione e quindi si modifica la configurazione con il portale di Azure, le impostazioni verranno convertite in JSON. Inoltre, non è possibile configurare il periodo di conservazione per questi log.

Modello di Resource Manager

Per informazioni su come distribuire l'estensione di diagnostica con i modelli di Azure Resource Manager, vedere Usare il monitoraggio e la diagnostica con una macchina virtuale Windows e i modelli di Azure Resource Manager.

Distribuzione dell'interfaccia della riga di comando di Azure

L'interfaccia della riga di comando di Azure può essere usata per distribuire l'estensione Diagnostica di Azure in una macchina virtuale esistente usando az vm extension set, come nell'esempio seguente.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name IaaSDiagnostics \
  --publisher Microsoft.Azure.Diagnostics \
  --protected-settings protected-settings.json \
  --settings public-settings.json 

Le impostazioni protette sono definite nell'elemento PrivateConfig dello schema di configurazione. L'esempio minimo seguente di un file di impostazioni protette definisce l'account di archiviazione. Per informazioni complete sulle impostazioni private, vedere Configurazione di esempio.

{
    "storageAccountName": "mystorageaccount",
    "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "storageAccountEndPoint": "https://core.windows.net"
}

Le impostazioni pubbliche sono definite nell'elemento PublicConfig dello schema di configurazione. L'esempio minimo seguente di un file di impostazioni pubbliche abilita la raccolta di log dell'infrastruttura di diagnostica, un singolo contatore delle prestazioni e un singolo registro eventi. Per informazioni complete sulle impostazioni pubbliche, vedere Configurazione di esempio.

{
  "StorageAccount": "mystorageaccount",
  "WadCfg": {
    "DiagnosticMonitorConfiguration": {
      "overallQuotaInMB": 5120,
      "PerformanceCounters": {
        "scheduledTransferPeriod": "PT1M",
        "PerformanceCounterConfiguration": [
          {
            "counterSpecifier": "\\Processor Information(_Total)\\% Processor Time",
            "unit": "Percent",
            "sampleRate": "PT60S"
          }
        ]
      },
      "WindowsEventLog": {
        "scheduledTransferPeriod": "PT1M",
        "DataSource": [
          {
            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
          }
        ]
      }
    }
  }
}

Distribuzione PowerShell

PowerShell può essere usato per distribuire l'estensione Diagnostica di Azure in una macchina virtuale esistente usando Set-AzVMDiagnosticsExtension, come nell'esempio seguente.

Set-AzVMDiagnosticsExtension -ResourceGroupName "myvmresourcegroup" `
  -VMName "myvm" `
  -DiagnosticsConfigurationPath "DiagnosticsConfiguration.json"

Le impostazioni private vengono definite nell'elemento PrivateConfig. Le impostazioni pubbliche sono definite nell'elemento PublicConfig dello schema di configurazione. È anche possibile scegliere di specificare i dettagli dell'account di archiviazione come parametri del cmdlet Set-AzVMDiagnosticsExtension, anziché includerli nelle impostazioni private.

L'esempio minimo seguente di file di configurazione abilita la raccolta di log dell'infrastruttura di diagnostica, un singolo contatore delle prestazioni e un singolo registro eventi. Per informazioni complete sulle impostazioni pubbliche e private, vedere Configurazione di esempio.

{
    "PublicConfig": {
        "WadCfg": {
            "DiagnosticMonitorConfiguration": {
                "overallQuotaInMB": 10000,
                "DiagnosticInfrastructureLogs": {
                    "scheduledTransferLogLevelFilter": "Error"
                },
                "PerformanceCounters": {
                    "scheduledTransferPeriod": "PT1M",
                    "PerformanceCounterConfiguration": [
                        {
                            "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                            "sampleRate": "PT3M",
                            "unit": "percent"
                        }
                    ]
                },
                "WindowsEventLog": {
                    "scheduledTransferPeriod": "PT1M",
                        "DataSource": [
                        {
                            "name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
                        }
                    ]
                }
            }
        },
        "StorageAccount": "mystorageaccount",
        "StorageType": "TableAndBlob"
    },
    "PrivateConfig": {
        "storageAccountName": "mystorageaccount",
        "storageAccountKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "storageAccountEndPoint": "https://core.windows.net"
    }
}

Vedere anche Usare PowerShell per abilitare la Diagnostica di Azure in una macchina virtuale che esegue Windows.

Archiviazione di dati

La tabella seguente elenca i diversi tipi di dati raccolti dall'estensione di diagnostica e indica se vengono archiviati come una tabella o un BLOB. I dati archiviati nelle tabelle possono anche essere archiviati in BLOB a seconda dell'impostazione StorageType nella configurazione pubblica.

Dati Tipo di archiviazione Descrizione
WADDiagnosticInfrastructureLogsTable Tabella Monitor di diagnostica e modifiche alla configurazione.
WADDirectoriesTable Tabella Directory monitorate dal monitor di diagnostica. Questo gruppo include i log di IIS, i log delle richieste non riuscite di IIS e le directory personalizzate. La posizione del file di log dei BLOB è specificata nel campo Container e il nome del BLOB si trova nel campo RelativePath. Il campo AbsolutePath indica la posizione e il nome del file esistente nella macchina virtuale di Azure.
WadLogsTable Tabella Log scritti nel codice con il listener di traccia.
WADPerformanceCountersTable Tabella Contatori delle prestazioni.
WADWindowsEventLogsTable Tabella Log eventi di Windows.
wad-iis-failedreqlogfiles BLOB Contiene informazioni dei log delle richieste non riuscite di IIS.
wad-iis-logfiles BLOB Contiene le informazioni sui log di IIS.
"custom" BLOB Contenitore personalizzato basato sulle directory di configurazione monitorate dal monitor di diagnostica. Il nome di questo contenitore BLOB verrà specificato in WADDirectoriesTable.

Strumenti per visualizzare i dati di diagnostica

Sono disponibili diversi strumenti per visualizzare i dati dopo il trasferimento nella risorsa di archiviazione. Ad esempio:

  • Esplora server in Visual Studio: se sono stati installati gli Strumenti di Azure per Microsoft Visual Studio, è possibile usare il nodo Archiviazione di Azure in Esplora server per visualizzare i dati di tabelle e BLOB di sola lettura dagli account di Archiviazione di Azure. È possibile visualizzare i dati dall'account dell'emulatore di archiviazione locale e dagli account di archiviazione creati per Azure. Per altre informazioni, vedere Esplorazione e gestione delle risorse di archiviazione con Esplora server.
  • Microsoft Azure Storage Explorer: questa app autonoma consente di usare facilmente dati di Archiviazione di Azure in Windows, OSX e Linux.
  • Azure Management Studio: questo strumento include Azure Diagnostics Manager. Usarlo per visualizzare, scaricare e gestire i dati di diagnostica raccolti dalle applicazioni in esecuzione in Azure.

Passaggi successivi

Per informazioni sull'inoltro dei dati di monitoraggio a Hub eventi di Azure, vedere Inviare dati dall'estensione Diagnostica di Azure a Hub eventi.