Schema dell'estensione di diagnostica Di Windows

Diagnostica di Azure'estensione è un agente in Monitoraggio di Azure che raccoglie i dati di monitoraggio dal sistema operativo guest e dai carichi di lavoro delle risorse di calcolo di Azure. Questo articolo illustra in dettaglio lo schema usato per la configurazione dell'estensione diagnostica nelle macchine virtuali Windows e in altre risorse di calcolo.

Nota

Lo schema in questo articolo è valido per le versioni 1.3 e successive (Azure SDK 2.4 e versioni successive). Le sezioni di configurazione più recenti hanno commenti per indicare in quale versione sono state aggiunte. La versione 1.0 e 1.2 dello schema è stata archiviata e non è più disponibile.

Schema del file di configurazione pubblico

Scaricare la definizione dello schema del file di configurazione pubblico eseguendo il comando PowerShell seguente:

(Get-AzureServiceAvailableExtension -ExtensionName 'PaaSDiagnostics' -ProviderNamespace 'Microsoft.Azure.Diagnostics').PublicConfigurationSchema | Out-File –Encoding utf8 -FilePath 'C:\temp\WadConfig.xsd'  

Tipi di attributi comuni

L'attributo scheduledTransferPeriod è presente in diversi elementi. Si tratta dell'intervallo tra trasferimenti pianificati per l'archivio, arrotondato per eccesso al minuto più vicino. Il valore è un "Tipo di dati di durata" XML.

Elemento DiagnosticsConfiguration

Albero: radice - DiagnosticsConfiguration

Aggiunto nella versione 1.3.

Elemento di livello superiore del file di configurazione della diagnostica.

Xmlns attributo : lo spazio dei nomi XML per il file di configurazione di diagnostica è:
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration

Elementi figlio Descrizione
PublicConfig Obbligatorio. Vedere la descrizione altrove in questa pagina.
PrivateConfig Facoltativa. Vedere la descrizione altrove in questa pagina.
IsEnabled Proprietà di tipo Boolean. Vedere la descrizione altrove in questa pagina.

Elemento PublicConfig

Albero: radice - DiagnosticsConfiguration - PublicConfig

Descrive la configurazione della diagnostica pubblica.

Elementi figlio Descrizione
WadCfg Obbligatorio. Vedere la descrizione altrove in questa pagina.
StorageAccount Nome dell'account di archiviazione di Azure in cui archiviare i dati. Può anche essere specificato come parametro quando si esegue il cmdlet Set-AzureServiceDiagnosticsExtension.
StorageType Può essere Table, Blob o TableAndBlob. Table è il valore predefinito. Quando si sceglie TableAndBlob, i dati di diagnostica vengono scritti due volte, una volta per ogni tipo.
LocalResourceDirectory Directory nella macchina virtuale in cui l'agente di monitoraggio archivia i dati degli eventi. Se non impostata, verrà usata la directory predefinita:

Per un ruolo di lavoro/Web: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\

Per una macchina virtuale: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion>

Gli attributi obbligatori sono i seguenti:

- path: directory nel sistema che dovrà essere usata da Diagnostica di Azure.

- expandEnvironment: definisce se le variabili di ambiente vengono espanse nel nome del percorso.

Elemento WadCFG

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG

Identifica e configura i dati di telemetria da raccogliere.

Elemento DiagnosticMonitorConfiguration

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration

Necessario

Attributi Descrizione
overallQuotaInMB Spazio massimo sul disco locale che può essere usato dai vari tipi di dati di diagnostica raccolti da Diagnostica di Azure. L'impostazione predefinita è 4096 MB.
useProxyServer Configurare Diagnostica di Azure per l'uso delle impostazioni del server proxy definite nelle impostazioni di Internet Explorer.
Lavandini Aggiunto nella versione 1.5. Facoltativa. Punta a una posizione di sink per inviare anche dati di diagnostica per tutti gli elementi figlio che supportano i sink. Un esempio di sink può essere Application Insights o Hub eventi. Si noti che è necessario aggiungere la proprietà resourceId nell'elemento Metrics se si desidera che gli eventi caricati in Hub eventi abbiano un ID risorsa.



Elementi figlio Descrizione
CrashDumps Vedere la descrizione altrove in questa pagina.
DiagnosticInfrastructureLogs Abilita la raccolta dei log generati da Diagnostica di Azure. I log dell'infrastruttura di diagnostica sono utili per la risoluzione dei problemi del sistema di diagnostica stesso. Gli attributi facoltativi sono i seguenti:

- scheduledTransferLogLevelFilter: consente di configurare il livello di gravità minimo dei log raccolti.

- scheduledTransferPeriod: intervallo tra trasferimenti pianificati per l'archivio, arrotondato per eccesso al minuto più vicino. Il valore è un "Tipo di dati di durata" XML.
Directory Vedere la descrizione altrove in questa pagina.
EtwProviders Vedere la descrizione altrove in questa pagina.
Metriche Vedere la descrizione altrove in questa pagina.
PerformanceCounters Vedere la descrizione altrove in questa pagina.
WindowsEventLog Vedere la descrizione altrove in questa pagina.
DockerSources Vedere la descrizione altrove in questa pagina.

Elemento CrashDumps

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - CrashDumps

Abilitare la raccolta di dump di arresto anomalo del sistema.

Attributi Descrizione
Containername Facoltativa. Nome del contenitore BLOB dell'account di archiviazione di Azure da usare per archiviare i dump di arresto anomalo del sistema.
crashDumpType Facoltativa. Configura Diagnostica di Azure per la raccolta di dump di arresto anomalo del sistema completi o mini.
directoryQuotaPercentage Facoltativa. Configura la percentuale di overallQuotaInMB da riservare per i dump di arresto anomalo del sistema nella macchina virtuale.
Elementi figlio Descrizione
CrashDumpConfiguration Obbligatorio. Definisce i valori di configurazione di ogni processo.

Anche l'attributo seguente è obbligatorio:

processName: nome del processo per il quale Diagnostica di Azure dovrà raccogliere un dump di arresto anomalo del sistema.

Elemento Directories

Albero: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directory

Abilita la raccolta del contenuto di una directory, dei log delle richieste di accesso IIS non riuscite e/o dei log IIS.

Attributo scheduledTransferPeriod facoltativo. Vedere la spiegazione indicata in precedenza.

Elementi figlio Descrizione
IISLogs Includendo questo elemento nella configurazione viene abilitata la raccolta di log IIS:

containerName: nome del contenitore BLOB dell'account di archiviazione di Azure da usare per archiviare i log IIS.
FailedRequestLogs Con questo elemento nella configurazione è possibile raccogliere i log relativi alle richieste non riuscite per un'applicazione o un sito IIS. È anche necessario abilitare le opzioni di traccia sotto system.WebServer in Web.config.
DataSources Elenco di directory da monitorare.

Elemento DataSources

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories - DataSources

Elenco di directory da monitorare.

Elementi figlio Descrizione
DirectoryConfiguration Obbligatorio. Attributo obbligatorio:

containerName: nome del contenitore BLOB dell'account di archiviazione di Azure da usare per archiviare i file log.

Elemento DirectoryConfiguration

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories - DataSources - DirectoryConfiguration

Può includere l'elemento Absolute o LocalResource, ma non entrambi.

Elementi figlio Descrizione
Assoluto Percorso assoluto della directory da monitorare. Gli attributi seguenti sono obbligatori:

- Path: percorso assoluto della directory da monitorare.

- expandEnvironment: definisce se le variabili di ambiente vengono espanse in Path.
LocalResource Percorso relativo di una risorsa locale da monitorare. Gli attributi obbligatori sono i seguenti:

- Name: nome della risorsa locale che contiene la directory da monitorare

- relativePath: percorso relativo del nome che contiene la directory da monitorare

Elemento EtwProviders

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders

Configura la raccolta di eventi ETW da EventSource e/o da provider basati su manifesti ETW.

Elementi figlio Descrizione
EtwEventSourceProviderConfiguration Configura la raccolta di eventi generati dalla classe EventSource. Attributo obbligatorio:

provider: nome della classe dell'evento EventSource.

Gli attributi facoltativi sono i seguenti:

- scheduledTransferLogLevelFilter: livello di gravità minimo per il trasferimento nell'account di archiviazione.

- scheduledTransferPeriod: intervallo tra trasferimenti pianificati per l'archivio, arrotondato per eccesso al minuto più vicino. Il valore è un "Tipo di dati di durata" XML.
EtwManifestProviderConfiguration Attributo obbligatorio:

provider: GUID del provider di eventi

Gli attributi facoltativi sono i seguenti:

- scheduledTransferLogLevelFilter: livello di gravità minimo per il trasferimento nell'account di archiviazione.

- scheduledTransferPeriod: intervallo tra trasferimenti pianificati per l'archivio, arrotondato per eccesso al minuto più vicino. Il valore è un "Tipo di dati di durata" XML.

Elemento EtwEventSourceProviderConfiguration

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders- EtwEventSourceProviderConfiguration

Configura la raccolta di eventi generati dalla classe EventSource.

Elementi figlio Descrizione
DefaultEvents Attributo facoltativo:

eventDestination: nome della tabella nella quale archiviare gli eventi
Event Attributo obbligatorio:

id: ID dell'evento.

Attributo facoltativo:

eventDestination: nome della tabella nella quale archiviare gli eventi

Elemento EtwManifestProviderConfiguration

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders - EtwManifestProviderConfiguration

Elementi figlio Descrizione
DefaultEvents Attributo facoltativo:

eventDestination: nome della tabella nella quale archiviare gli eventi
Event Attributo obbligatorio:

id: ID dell'evento.

Attributo facoltativo:

eventDestination: nome della tabella nella quale archiviare gli eventi

Elemento Metrics

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Metrics

Consente di generare una tabella di contatori delle prestazioni ottimizzata per le query veloci. Ogni contatore delle prestazioni definito nell'elemento PerformanceCounters viene archiviato nella tabella delle metriche oltre che nella tabella dei contatori delle prestazioni.

L'attributo resourceId è obbligatorio. L'ID risorsa della macchina virtuale o del set di scalabilità di macchine virtuali in cui si distribuisce Diagnostica di Azure. Ottenere l'attributo resourceID dal portale di Azure. Selezionare Sfoglia ->Gruppi di risorse -><Nome>. Fare clic sul riquadro Proprietà e copiare il valore del campo ID. Questa proprietà resourceID viene usata sia per l'invio di metriche personalizzate che per l'aggiunta di una proprietà resourceID ai dati inviati a Hub eventi. Si noti che è necessario aggiungere la proprietà resourceId nell'elemento Metrics se si desidera che gli eventi caricati in Hub eventi abbiano un ID risorsa.

Elementi figlio Descrizione
MetricAggregation Attributo obbligatorio:

scheduledTransferPeriod: intervallo tra trasferimenti pianificati per l'archivio, arrotondato per eccesso al minuto più vicino. Il valore è un "Tipo di dati di durata" XML.

Elemento PerformanceCounters

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - PerformanceCounters

Abilita la raccolta dei contatori delle prestazioni.

Attributo facoltativo:

Attributo scheduledTransferPeriod facoltativo. Vedere la spiegazione indicata in precedenza.

Elemento figlio Descrizione
PerformanceCounterConfiguration Gli attributi seguenti sono obbligatori:

- counterSpecifier: nome del contatore delle prestazioni. Ad esempio, \Processor(_Total)\% Processor Time. Per ottenere un elenco di contatori delle prestazioni nell'host eseguire il comando typeperf.

- sampleRate: frequenza di campionamento del contatore.

Attributo facoltativo:

unit: unità di misura del contatore. I valori sono disponibili nella classe UnitType
Lavandini Aggiunto nella versione 1.5. Facoltativa. Punta a una posizione di sink per l'invio di dati di diagnostica, Ad esempio, Monitoraggio di Azure o Hub eventi. Si noti che è necessario aggiungere la proprietà resourceId nell'elemento Metrics se si desidera che gli eventi caricati in Hub eventi abbiano un ID risorsa.

Elemento WindowsEventLog

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - WindowsEventLog

Abilita la raccolta dei log eventi di Windows.

Attributo scheduledTransferPeriod facoltativo. Vedere la spiegazione indicata in precedenza.

Elemento figlio Descrizione
DataSource Log eventi di Windows da raccogliere. Attributo obbligatorio:

name : query XPath che descrive gli eventi di Windows da raccogliere. Ad esempio:

Application!*[System[(Level <=3)]], System!*[System[(Level <=3)]], System!*[System[Provider[@Name='Microsoft Antimalware']]], Security!*[System[(Level <= 3)]

Per raccogliere tutti gli eventi, specificare "*"
Lavandini Aggiunto nella versione 1.5. Facoltativa. Punta a una posizione di sink per inviare anche dati di diagnostica per tutti gli elementi figlio che supportano i sink. Un esempio di sink può essere Application Insights o Hub eventi.

Elemento Logs

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Logs

Presente nella versione 1.0 e 1.1. Assente nella versione 1.2. Aggiunto nuovamente nella versione 1.3.

Definisce la configurazione del buffer per i log di base di Azure.

Attributo Type Descrizione
bufferQuotaInMB unsignedInt Facoltativa. Specifica lo spazio massimo di archiviazione del file system disponibile per i dati specificati.

Il valore predefinito è 0.
scheduledTransferLogLevelFilter string Facoltativa. Specifica il livello di gravità minimo per le voci di log trasferite. Il valore predefinito è Non definito, con il quale verranno trasferiti tutti i log. Altri valori possibili (dal più dettagliato al meno dettagliato) sono Dettagli, Informazioni, Avviso, Errore e Critico.
scheduledTransferPeriod duration Facoltativa. Specifica l'intervallo tra trasferimenti di dati pianificati, arrotondato per eccesso al minuto più vicino.

Il valore predefinito è PT0S.
Lavandini string Aggiunto nella versione 1.5. Facoltativa. Punta a una posizione di sink per l'invio di dati di diagnostica, ad esempio Application Insights o Hub eventi. Si noti che è necessario aggiungere la proprietà resourceId nell'elemento Metrics se si desidera che gli eventi caricati in Hub eventi abbiano un ID risorsa.

DockerSources

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - DockerSources

Elementi aggiunti nella versione 1.9.

Nome dell'elemento Descrizione
Statistiche Indica al sistema di raccogliere statistiche per i contenitori Docker

Elemento SinksConfig

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig

Elenco di posizioni a cui inviare i dati di diagnostica e la configurazione associata a tali posizioni.

Nome dell'elemento Descrizione
Sink Vedere la descrizione altrove in questa pagina.

Elemento Sink

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink

Aggiunto nella versione 1.5.

Definisce le posizioni a cui inviare i dati di diagnostica, ad esempio il servizio Application Insights.

Attributo Type Descrizione
nome string Stringa che identifica il nome del sink.
Elemento Tipo Descrizione
Application Insights string Usato solo per inviare dati ad Application Insights. Contiene la chiave di strumentazione per un account di Application Insights attivo a cui è possibile accedere.
Canali string Uno per ogni filtro aggiuntivo per i flussi

Elemento Channels

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Channels

Aggiunto nella versione 1.5.

Definisce i filtri per i flussi di dati di log che attraversano un sink.

Elemento Tipo Descrizione
Channel string Vedere la descrizione altrove in questa pagina.

Elemento Channel

Albero: radice - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Channels - Channel

Aggiunto nella versione 1.5.

Definisce le posizioni a cui inviare i dati di diagnostica, ad esempio il servizio Application Insights.

Attributi Tipo Descrizione
Loglevel string Specifica il livello di gravità minimo per le voci di log trasferite. Il valore predefinito è Non definito, con il quale verranno trasferiti tutti i log. Altri valori possibili (dal più dettagliato al meno dettagliato) sono Dettagli, Informazioni, Avviso, Errore e Critico.
nome string Nome univoco per fare riferimento al canale

Elemento PrivateConfig

Albero: radice - DiagnosticsConfiguration - PrivateConfig

Aggiunto nella versione 1.3.

Facoltativo

Archivia le informazioni private dell'account di archiviazione, ovvero nome, chiave ed endpoint. Queste informazioni vengono inviate alla macchina virtuale, ma non possono essere recuperate dalla macchina virtuale stessa.

Elementi figlio Descrizione
StorageAccount Account di archiviazione da usare. Gli attributi seguenti sono obbligatori:

- name: nome dell'account di archiviazione.

- key: chiave dell'account di archiviazione.

- endpoint: endpoint per accedere all'account di archiviazione.

-sasToken (aggiunta la versione 1.8.1): è possibile specificare un token di firma di accesso condiviso anziché una chiave dell'account di archiviazione nella configurazione privata. Se specificato, la chiave dell'account di archiviazione viene ignorata.
Requisiti per il token di firma di accesso condiviso:
- Supporta solo il token di firma di accesso condiviso dell'account
Sono obbligatori i tipi di servizio - b e t.
Sono obbligatorie le autorizzazioni - a, c, u, w.
Sono obbligatori i tipi di risorse - c, o.
- Supporta solo il protocollo HTTPS
-I valori dell'ora di inizio e di scadenza devono essere validi.

Elemento IsEnabled

Albero: radice - DiagnosticsConfiguration - IsEnabled

Proprietà di tipo Boolean. Usare true per abilitare la diagnostica o false per disabilitarla.

Configurazione di esempio

Di seguito è riportata una configurazione di esempio completa per l'estensione diagnostica di Windows illustrata sia in JSON che in XML.

JSON

PublicConfig e PrivateConfig sono separati perché nella maggior parte dei casi di utilizzo JSON vengono passati come variabili diverse. Questi casi includono Resource Manager modelli, PowerShell e Visual Studio.

Nota

La definizione del sink di Monitoraggio di Azure di configurazione pubblica ha due proprietà, resourceId e area. Questi sono necessari solo per le macchine virtuali classiche e i servizio cloud classici. La proprietà region non deve essere usata per altre risorse, la proprietà resourceId viene usata nelle macchine virtuali ARM per popolare il campo resourceID nei log caricati in Hub eventi.

"PublicConfig" {
    "WadCfg": {
        "DiagnosticMonitorConfiguration": {
            "overallQuotaInMB": 10000,
            "DiagnosticInfrastructureLogs": {
                "scheduledTransferLogLevelFilter": "Error"
            },
            "PerformanceCounters": {
                "scheduledTransferPeriod": "PT1M",
                "sinks": "AzureMonitorSink",
                "PerformanceCounterConfiguration": [
                    {
                        "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                        "sampleRate": "PT1M",
                        "unit": "percent"
                    }
                ]
            },
            "Directories": {
                "scheduledTransferPeriod": "PT5M",
                "IISLogs": {
                    "containerName": "iislogs"
                },
                "FailedRequestLogs": {
                    "containerName": "iisfailed"
                },
                "DataSources": [
                    {
                        "containerName": "mynewprocess",
                        "Absolute": {
                            "path": "C:\\MyNewProcess",
                            "expandEnvironment": false
                        }
                    },
                    {
                        "containerName": "badapp",
                        "Absolute": {
                            "path": "%SYSTEMDRIVE%\\BadApp",
                            "expandEnvironment": true
                        }
                    },
                    {
                        "containerName": "goodapp",
                        "LocalResource": {
                            "relativePath": "..\\PeanutButter",
                            "name": "Skippy"
                        }
                    }
                ]
            },
            "EtwProviders": {
                "sinks": "",
                "EtwEventSourceProviderConfiguration": [
                    {
                        "scheduledTransferPeriod": "PT5M",
                        "provider": "MyProviderClass",
                        "Event": [
                            {
                                "id": 0
                            },
                            {
                                "id": 1,
                                "eventDestination": "errorTable"
                            }
                        ],
                        "DefaultEvents": {
                        }
                    }
                ],
                "EtwManifestProviderConfiguration": [
                    {
                        "scheduledTransferPeriod": "PT2M",
                        "scheduledTransferLogLevelFilter": "Information",
                        "provider": "5974b00b-84c2-44bc-9e58-3a2451b4e3ad",
                        "Event": [
                            {
                                "id": 0
                            }
                        ],
                        "DefaultEvents": {
                        }
                    }
                ]
            },
            "WindowsEventLog": {
                "scheduledTransferPeriod": "PT5M",
                "DataSource": [
                    {
                        "name": "System!*[System[Provider[@Name='Microsoft Antimalware']]]"
                    },
                    {
                        "name": "System!*[System[Provider[@Name='NTFS'] and (EventID=55)]]"
                    },
                    {
                        "name": "System!*[System[Provider[@Name='disk'] and (EventID=7 or EventID=52 or EventID=55)]]"
                    }
                ]
            },
            "Logs": {
                "scheduledTransferPeriod": "PT1M",
                "scheduledTransferLogLevelFilter": "Verbose",
                "sinks": "ApplicationInsights.AppLogs"
            },
            "CrashDumps": {
                "directoryQuotaPercentage": 30,
                "dumpType": "Mini",
                "containerName": "wad-crashdumps",
                "CrashDumpConfiguration": [
                    {
                        "processName": "mynewprocess.exe"
                    },
                    {
                        "processName": "badapp.exe"
                    }
                ]
            }
        },
        "SinksConfig": {
            "Sink": [
                {
                    "name": "AzureMonitorSink",
                    "AzureMonitor":
                    {
                        "ResourceId": "{insert resourceId if a classic VM or cloud service, else property not needed}",
                        "Region": "{insert Azure region of resource if a classic VM or cloud service, else property not needed}"
                    }
                },
                {
                    "name": "ApplicationInsights",
                    "ApplicationInsights": "{Insert InstrumentationKey}",
                    "Channels": {
                        "Channel": [
                            {
                                "logLevel": "Error",
                                "name": "Errors"
                            },
                            {
                                "logLevel": "Verbose",
                                "name": "AppLogs"
                            }
                        ]
                    }
                },
                {
                    "name": "EventHub",
                    "EventHub": {
                        "Url": "https://myeventhub-ns.servicebus.windows.net/diageventhub",
                        "SharedAccessKeyName": "SendRule",
                        "usePublisherId": false
                    }
                },
                {
                    "name": "secondaryEventHub",
                    "EventHub": {
                        "Url": "https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub",
                        "SharedAccessKeyName": "SendRule",
                        "usePublisherId": false
                    }
                },
                {
                    "name": "secondaryStorageAccount",
                    "StorageAccount": {
                        "name": "secondarydiagstorageaccount",
                        "endpoint": "https://core.windows.net"
                    }
                }
            ]
        }
    },
    "StorageAccount": "diagstorageaccount",
    "StorageType": "TableAndBlob"
}

Nota

La definizione del sink di Monitoraggio di Azure di configurazione privata ha due proprietà, PrincipalId e Secret. Questi sono necessari solo per le macchine virtuali classiche e i servizio cloud classici. Queste proprietà non devono essere usate per altre risorse.

"PrivateConfig" {
    "storageAccountName": "diagstorageaccount",
    "storageAccountKey": "{base64 encoded key}",
    "storageAccountEndPoint": "https://core.windows.net",
    "storageAccountSasToken": "{sas token}",
    "EventHub": {
        "Url": "https://myeventhub-ns.servicebus.windows.net/diageventhub",
        "SharedAccessKeyName": "SendRule",
        "SharedAccessKey": "{base64 encoded key}"
    },
    "AzureMonitorAccount": {
        "ServicePrincipalMeta": {
            "PrincipalId": "{Insert service principal client Id}",
            "Secret": "{Insert service principal client secret}"
        }
    },
    "SecondaryStorageAccounts": {
        "StorageAccount": [
            {
                "name": "secondarydiagstorageaccount",
                "key": "{base64 encoded key}",
                "endpoint": "https://core.windows.net",
                "sasToken": "{sas token}"
            }
        ]
    },
    "SecondaryEventHubs": {
        "EventHub": [
            {
                "Url": "https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub",
                "SharedAccessKeyName": "SendRule",
                "SharedAccessKey": "{base64 encoded key}"
            }
        ]
    }
}

XML

<?xml version="1.0" encoding="utf-8"?>  
<DiagnosticsConfiguration  xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">   
  <PublicConfig>  
    <WadCfg>  
      <DiagnosticMonitorConfiguration overallQuotaInMB="10000">  

        <PerformanceCounters scheduledTransferPeriod="PT1M" sinks="AzureMonitorSink">  
          <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT1M" unit="percent" />  
        </PerformanceCounters>  

        <Directories scheduledTransferPeriod="PT5M">  
          <IISLogs containerName="iislogs" />  
          <FailedRequestLogs containerName="iisfailed" />  

          <DataSources>  
            <DirectoryConfiguration containerName="mynewprocess">  
              <Absolute path="C:\MyNewProcess" expandEnvironment="false" />  
            </DirectoryConfiguration>  
            <DirectoryConfiguration containerName="badapp">  
              <Absolute path="%SYSTEMDRIVE%\BadApp" expandEnvironment="true" />  
            </DirectoryConfiguration>  
            <DirectoryConfiguration containerName="goodapp">  
              <LocalResource name="Skippy" relativePath="..\PeanutButter"/>  
            </DirectoryConfiguration>  
          </DataSources>  

        </Directories>  

        <EtwProviders>  
          <EtwEventSourceProviderConfiguration   
                       provider="MyProviderClass"   
                       scheduledTransferPeriod="PT5M">  
            <Event id="0"/>  
            <Event id="1" eventDestination="errorTable"/>  
            <DefaultEvents />  
          </EtwEventSourceProviderConfiguration>  
          <EtwManifestProviderConfiguration provider="5974b00b-84c2-44bc-9e58-3a2451b4e3ad" scheduledTransferLogLevelFilter="Information" scheduledTransferPeriod="PT2M">  
            <Event id="0"/>  
            <DefaultEvents eventDestination="defaultTable"/>  
          </EtwManifestProviderConfiguration>  
        </EtwProviders>  

        <WindowsEventLog scheduledTransferPeriod="PT5M">  
          <DataSource name="System!*[System[Provider[@Name='Microsoft Antimalware']]]"/>  
          <DataSource name="System!*[System[Provider[@Name='NTFS'] and (EventID=55)]]" />  
          <DataSource name="System!*[System[Provider[@Name='disk'] and (EventID=7 or EventID=52 or EventID=55)]]" />  
        </WindowsEventLog>  

        <Logs  bufferQuotaInMB="1024"   
             scheduledTransferPeriod="PT1M"   
             scheduledTransferLogLevelFilter="Verbose"   
             sinks="ApplicationInsights.AppLogs"/>  <!-- sinks attribute added in 1.5 -->  

        <CrashDumps containerName="wad-crashdumps" directoryQuotaPercentage="30" dumpType="Mini">  
          <CrashDumpConfiguration processName="mynewprocess.exe" />  
          <CrashDumpConfiguration processName="badapp.exe"/>  
        </CrashDumps>  

        <DockerSources> <!-- Added in 1.9 -->
          <Stats enabled="true" sampleRate="PT1M" scheduledTransferPeriod="PT1M" />
        </DockerSources>

      </DiagnosticMonitorConfiguration>  

      <SinksConfig>   <!-- Added in 1.5 -->  
        <Sink name="AzureMonitorSink">
            <AzureMonitor> <!-- Added in 1.11 -->
                <resourceId>{insert resourceId}</ResourceId> <!-- Parameter only needed for classic VMs and Classic Cloud Services, exclude VMSS and Resource Manager VMs-->
                <Region>{insert Azure region of resource}</Region> <!-- Parameter only needed for classic VMs and Classic Cloud Services, exclude VMSS and Resource Manager VMs -->
            </AzureMonitor>
        </Sink>
        <Sink name="ApplicationInsights">   
          <ApplicationInsights>{Insert InstrumentationKey}</ApplicationInsights>   
          <Channels>   
            <Channel logLevel="Error" name="Errors"  />   
            <Channel logLevel="Verbose" name="AppLogs"  />   
          </Channels>   
        </Sink>   
        <Sink name="EventHub"> <!-- Added in 1.7 -->
          <EventHub Url="https://myeventhub-ns.servicebus.windows.net/diageventhub" SharedAccessKeyName="SendRule" usePublisherId="false" />
        </Sink>
        <Sink name="secondaryEventHub"> <!-- Added in 1.7 -->
          <EventHub Url="https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub" SharedAccessKeyName="SendRule" usePublisherId="false" />
        </Sink>
        <Sink name="secondaryStorageAccount"> <!-- Added in 1.7 -->
          <StorageAccount name="secondarydiagstorageaccount" endpoint="https://core.windows.net" />
        </Sink>
   </SinksConfig>

  </WadCfg>  

  <StorageAccount>diagstorageaccount</StorageAccount>
  <StorageType>TableAndBlob</StorageType> <!-- Added in 1.8 -->  
  </PublicConfig>  

  <PrivateConfig>  <!-- Added in 1.3 -->  
    <StorageAccount name="" key="" endpoint="" sasToken="{sas token}"  />  <!-- sasToken in Private config added in 1.8.1 -->  
    <EventHub Url="https://myeventhub-ns.servicebus.windows.net/diageventhub" SharedAccessKeyName="SendRule" SharedAccessKey="{base64 encoded key}" />

    <AzureMonitorAccount>
        <ServicePrincipalMeta> <!-- Added in 1.11; only needed for classic VMs and Classic cloud services -->
            <PrincipalId>{Insert service principal clientId}</PrincipalId>
            <Secret>{Insert service principal client secret}</Secret>
        </ServicePrincipalMeta>
    </AzureMonitorAccount>

    <SecondaryStorageAccounts>
       <StorageAccount name="secondarydiagstorageaccount" key="{base64 encoded key}" endpoint="https://core.windows.net" sasToken="{sas token}" />
    </SecondaryStorageAccounts>

    <SecondaryEventHubs>
       <EventHub Url="https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub" SharedAccessKeyName="SendRule" SharedAccessKey="{base64 encoded key}" />
    </SecondaryEventHubs>

  </PrivateConfig>  
  <IsEnabled>true</IsEnabled>  
</DiagnosticsConfiguration>  

Nota

La definizione del sink di Monitoraggio di Azure della configurazione pubblica dispone di due proprietà, resourceId e area. Questi sono necessari solo per le macchine virtuali classiche e i servizio cloud classici. Queste proprietà non devono essere usate per le macchine virtuali di Resource Manager o i set di scalabilità di macchine virtuali. È inoltre disponibile un altro elemento di configurazione privata per il sink di Monitoraggio di Azure, che viene passato in un ID entità di sicurezza e segreto. Questo è necessario solo per le macchine virtuali classiche e i servizi cloud classici. Per le macchine virtuali di Resource Manager e VMSS la definizione di Monitoraggio di Azure nell'elemento di configurazione privato può essere escluso.