Windows Diagnostics-extensieschema

Azure Diagnostics-extensie is een agent in Azure Monitor waarmee bewakingsgegevens van het gastbesturingssysteem en workloads van Azure-rekenresources worden verzameld. In dit artikel wordt het schema beschreven dat wordt gebruikt voor de configuratie van de diagnostische extensie op virtuele Windows-machines en andere rekenresources.

Notitie

Het schema in dit artikel is geldig voor versies 1.3 en hoger (Azure SDK 2.4 en hoger). Nieuwere configuratiesecties worden becommentarieerd om weer te geven in welke versie ze zijn toegevoegd. Versie 1.0 en 1.2 van het schema zijn gearchiveerd en niet meer beschikbaar.

Schema van openbaar configuratiebestand

Download de schemadefinitie van het openbare configuratiebestand door de volgende PowerShell-opdracht uit te voeren:

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

Algemene kenmerktypen

Het kenmerk scheduledTransferPeriod wordt weergegeven in verschillende elementen. Dit is het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'.

DiagnosticsConfiguration Element

Structuur: Root - DiagnosticsConfiguration

Toegevoegd in versie 1.3.

Het element op het hoogste niveau van het configuratiebestand voor diagnostische gegevens.

Kenmerk xmlns: de XML-naamruimte voor het configuratiebestand voor diagnostische gegevens is:
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration

Onderliggende elementen Description
PublicConfig Vereist. Zie de beschrijving elders op deze pagina.
PrivateConfig Optioneel. Zie de beschrijving elders op deze pagina.
Isenabled Booleaanse. Zie de beschrijving elders op deze pagina.

PublicConfig Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig

Beschrijft de configuratie van openbare diagnostische gegevens.

Onderliggende elementen Description
WadCfg Vereist. Zie de beschrijving elders op deze pagina.
StorageAccount De naam van het Azure Storage-account waarin de gegevens moeten worden opgeslagen. Kan ook worden opgegeven als een parameter bij het uitvoeren van de cmdlet Set-AzureServiceDiagnosticsExtension.
StorageType Dit kan Table, Blob of TableAndBlob zijn. Tabel is standaard. Wanneer TableAndBlob is gekozen, worden diagnostische gegevens twee keer geschreven, één keer naar elk type.
LocalResourceDirectory De map op de virtuele machine waar de bewakingsagent gebeurtenisgegevens opslaat. Zo niet, stel in, dan wordt de standaardmap gebruikt:

Voor een werkrol/webrol: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\

Voor een virtuele machine: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion>

Vereiste kenmerken zijn:

- path: de map op het systeem die door Azure Diagnostics moet worden gebruikt.

- expandEnvironment : hiermee bepaalt u of omgevingsvariabelen worden uitgevouwen in de padnaam.

WadCFG-element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG

Identificeert en configureert de telemetriegegevens die moeten worden verzameld.

DiagnosticMonitorConfiguration Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration

Vereist

Kenmerken Description
overallQuotaInMB De maximale hoeveelheid lokale schijfruimte die kan worden gebruikt door de verschillende typen diagnostische gegevens die door Azure Diagnostics worden verzameld. De standaardinstelling is 4096 MB.
useProxyServer Configureer Azure Diagnostics om de proxyserverinstellingen te gebruiken zoals ingesteld in IE-instellingen.
Putten Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden voor alle onderliggende elementen die sinks ondersteunen. Sink-voorbeeld is Application Insights of Event Hubs. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrics moet toevoegen als u wilt dat gebeurtenissen die naar Event Hubs worden geüpload, een resource-id hebben.



Onderliggende elementen Description
CrashDumps Zie de beschrijving elders op deze pagina.
DiagnosticInfrastructureLogs Het verzamelen van logboeken inschakelen die door Azure Diagnostics zijn gegenereerd. De logboeken van de diagnostische infrastructuur zijn handig voor het oplossen van problemen met het diagnostische systeem zelf. Optionele kenmerken zijn:

- scheduledTransferLogLevelFilter : hiermee configureert u het minimale ernstniveau van de verzamelde logboeken.

- scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'.
Mappen Zie de beschrijving elders op deze pagina.
EtwProviders Zie de beschrijving elders op deze pagina.
Metrische gegevens Zie de beschrijving elders op deze pagina.
PerformanceCounters Zie de beschrijving elders op deze pagina.
WindowsEventLog Zie de beschrijving elders op deze pagina.
DockerSources Zie de beschrijving elders op deze pagina.

CrashDumps Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - CrashDumps

Schakel het verzamelen van crashdumps in.

Kenmerken Description
containerName Optioneel. De naam van de blobcontainer in uw Azure Storage-account die moet worden gebruikt voor het opslaan van crashdumps.
crashDumpType Optioneel. Hiermee configureert u Azure Diagnostics voor het verzamelen van mini- of volledige crashdumps.
directoryQuotaPercentage Optioneel. Hiermee configureert u het percentage overallQuotaInMB dat moet worden gereserveerd voor crashdumps op de VM.
Onderliggende elementen Description
CrashDumpConfiguration Vereist. Definieert configuratiewaarden voor elk proces.

Het volgende kenmerk is ook vereist:

processName - De naam van het proces waarvoor u Azure Diagnostics een crashdump wilt verzamelen.

Het element Directory's

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directory's

Hiermee schakelt u het verzamelen van de inhoud van een map, iis mislukte toegangsaanvraaglogboeken en/of IIS-logboeken in.

Optioneel kenmerk scheduledTransferPeriod . Zie de uitleg eerder.

Onderliggende elementen Description
IISLogs Door dit element op te geven in de configuratie, kunt u IIS-logboeken verzamelen:

containerName : de naam van de blobcontainer in uw Azure Storage-account die moet worden gebruikt voor het opslaan van de IIS-logboeken.
FailedRequestLogs Als u dit element in de configuratie optelt, kunt u logboeken verzamelen over mislukte aanvragen naar een IIS-site of -toepassing. U moet ook traceringsopties inschakelen onder systeem. Webserver in Web.config.
Datasources Een lijst met mappen die moeten worden bewaakt.

DataSources Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directory's - DataSources

Een lijst met mappen die moeten worden bewaakt.

Onderliggende elementen Description
DirectoryConfiguration Vereist. Vereist kenmerk:

containerName : de naam van de blobcontainer in uw Azure Storage-account die moet worden gebruikt voor het opslaan van de logboekbestanden.

DirectoryConfiguration Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directory's - DataSources - DirectoryConfiguration

Kan het element Absolute of LocalResource bevatten, maar niet beide.

Onderliggende elementen Description
Absoluut Het absolute pad naar de map die moet worden bewaakt. De volgende kenmerken zijn vereist:

- Pad : het absolute pad naar de map die moet worden bewaakt.

- expandEnvironment: hiermee configureert u of omgevingsvariabelen in Pad worden uitgevouwen.
LocalResource Het pad ten opzichte van een lokale resource die moet worden bewaakt. Vereiste kenmerken zijn:

- Naam : de lokale resource die de map bevat die moet worden bewaakt

- relativePath - Het pad ten opzichte van Naam dat de map bevat die moet worden bewaakt

EtwProviders Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders

Hiermee configureert u het verzamelen van ETW-gebeurtenissen van providers op basis van EventSource en/of ETW Manifest.

Onderliggende elementen Description
EtwEventSourceProviderConfiguration Hiermee configureert u de verzameling gebeurtenissen die zijn gegenereerd op basis van de EventSource-klasse. Vereist kenmerk:

provider : de klassenaam van de EventSource-gebeurtenis.

Optionele kenmerken zijn:

- scheduledTransferLogLevelFilter - Het minimale ernstniveau dat moet worden overgedragen naar uw opslagaccount.

- scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'.
EtwManifestProviderConfiguration Vereist kenmerk:

provider : de GUID van de gebeurtenisprovider

Optionele kenmerken zijn:

- scheduledTransferLogLevelFilter - Het minimale ernstniveau dat moet worden overgedragen naar uw opslagaccount.

- scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'.

EtwEventSourceProviderConfiguration Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders- EtwEventSourceProviderConfiguration

Hiermee configureert u de verzameling gebeurtenissen die zijn gegenereerd op basis van de EventSource-klasse.

Onderliggende elementen Description
DefaultEvents Optioneel kenmerk:

eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen
Gebeurtenis Vereist kenmerk:

id : de id van de gebeurtenis.

Optioneel kenmerk:

eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen

EtwManifestProviderConfiguration Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders - EtwManifestProviderConfiguration

Onderliggende elementen Description
DefaultEvents Optioneel kenmerk:

eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen
Gebeurtenis Vereist kenmerk:

id : de id van de gebeurtenis.

Optioneel kenmerk:

eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen

Element Metrische gegevens

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Metrische gegevens

Hiermee kunt u een prestatiemeteritemstabel genereren die is geoptimaliseerd voor snelle query's. Elk prestatiemeteritem dat is gedefinieerd in het element PerformanceCounters , wordt naast de tabel Prestatiemeteritems opgeslagen in de tabel Metrische gegevens.

Het kenmerk resourceId is vereist. De resource-id van de virtuele machine of virtuele-machineschaalset waarnaar u Azure Diagnostics implementeert. Haal de resourceID op uit de Azure Portal. Selecteer Bladeren ->Resourcegroepen -><Naam>. Klik op de tegel Eigenschappen en kopieer de waarde uit het veld Id . Deze eigenschap resourceID wordt gebruikt voor het verzenden van aangepaste metrische gegevens en voor het toevoegen van een resourceID-eigenschap aan gegevens die naar Event Hubs worden verzonden. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrische gegevens moet toevoegen als u wilt dat gebeurtenissen die worden geüpload naar Event Hubs een resource-id hebben.

Onderliggende elementen Description
MetricAggregation Vereist kenmerk:

scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'.

PerformanceCounters Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - PerformanceCounters

Hiermee schakelt u het verzamelen van prestatiemeteritems in.

Optioneel kenmerk:

Optioneel kenmerk scheduledTransferPeriod . Zie de uitleg eerder.

Onderliggend element Description
PerformanceCounterConfiguration De volgende kenmerken zijn vereist:

- counterSpecifier : de naam van het prestatiemeteritems. Bijvoorbeeld \Processor(_Total)\% Processor Time. Voer de opdracht typeperfuit om een lijst met prestatiemeteritems op uw host op te halen.

- sampleRate : hoe vaak de teller moet worden bemonsterd.

Optioneel kenmerk:

unit : de maateenheid van de teller. Waarden zijn beschikbaar op UnitType-klasse
Putten Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden. Bijvoorbeeld Azure Monitor of Event Hubs. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrische gegevens moet toevoegen als u wilt dat gebeurtenissen die worden geüpload naar Event Hubs een resource-id hebben.

WindowsEventLog Element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - WindowsEventLog

Hiermee schakelt u het verzamelen van Windows-gebeurtenislogboeken in.

Optioneel kenmerk scheduledTransferPeriod . Zie de uitleg eerder.

Onderliggend element Description
DataSource De Windows-gebeurtenislogboeken die moeten worden verzameld. Vereist kenmerk:

name : de XPath-query die de Windows-gebeurtenissen beschrijft die moeten worden verzameld. Bijvoorbeeld:

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

Als u alle gebeurtenissen wilt verzamelen, geeft u '*' op
Putten Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden voor alle onderliggende elementen die sinks ondersteunen. Sink-voorbeeld is Application Insights of Event Hubs.

Logboekenelement

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Logboeken

Aanwezig in versie 1.0 en 1.1. Ontbreekt in 1.2. Terug toegevoegd in 1.3.

Hiermee definieert u de bufferconfiguratie voor eenvoudige Azure-logboeken.

Kenmerk Type Description
bufferQuotaInMB unsignedInt Optioneel. Hiermee geeft u de maximale hoeveelheid opslagruimte van het bestandssysteem op die beschikbaar is voor de opgegeven gegevens.

De standaardwaarde is 0.
scheduledTransferLogLevelFilter Tekenreeks Optioneel. Hiermee geeft u het minimale ernstniveau voor logboekvermeldingen die worden overgedragen. De standaardwaarde is Undefined, waarmee alle logboeken worden overgedragen. Andere mogelijke waarden (in volgorde van de meeste naar de minste informatie) zijn Uitgebreid, Informatie, Waarschuwing, Fout en Kritiek.
scheduledTransferPeriod Duur Optioneel. Hiermee geeft u het interval tussen geplande overdrachten van gegevens, afgerond op de dichtstbijzijnde minuut.

De standaardwaarde is PT0S.
Putten tekenreeks Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden. Bijvoorbeeld Application Insights of Event Hubs. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrische gegevens moet toevoegen als u wilt dat gebeurtenissen die worden geüpload naar Event Hubs een resource-id hebben.

DockerSources

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - DockerSources

Toegevoegd in 1.9.

Naam van element Description
Stats Vertelt het systeem statistieken voor Docker-containers te verzamelen

SinksConfig-element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig

Een lijst met locaties waar diagnostische gegevens naartoe moeten worden verzonden en de configuratie die aan deze locaties is gekoppeld.

Naam van element Description
Sink Zie de beschrijving elders op deze pagina.

Sink-element

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink

Toegevoegd in versie 1.5.

Hiermee definieert u locaties waar diagnostische gegevens naartoe moeten worden verzonden. Bijvoorbeeld de Application Insights-service.

Kenmerk Type Beschrijving
name tekenreeks Een tekenreeks die de sinknaam aangeeft.
Element Type Description
Application Insights tekenreeks Wordt alleen gebruikt bij het verzenden van gegevens naar Application Insights. Bevatten de instrumentatiesleutel voor een actief Application Insights-account waartoe u toegang hebt.
Kanalen tekenreeks Eén voor elke extra filtering van die stream die u

Het element Kanalen

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Kanalen

Toegevoegd in versie 1.5.

Hiermee definieert u filters voor stromen logboekgegevens die via een sink worden doorgegeven.

Element Type Description
Kanaal tekenreeks Zie de beschrijving elders op deze pagina.

Kanaalelement

Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Kanalen - Kanaal

Toegevoegd in versie 1.5.

Hiermee definieert u locaties waar diagnostische gegevens naartoe moeten worden verzonden. Bijvoorbeeld de Application Insights-service.

Kenmerken Type Description
Loglevel tekenreeks Hiermee geeft u het minimale ernstniveau voor logboekvermeldingen die worden overgedragen. De standaardwaarde is Undefined, waarmee alle logboeken worden overgedragen. Andere mogelijke waarden (in volgorde van meest naar minst informatie) zijn Uitgebreid, Informatie, Waarschuwing, Fout en Kritiek.
name tekenreeks Een unieke naam van het kanaal waarnaar moet worden verwezen

PrivateConfig Element

Structuur: Root - DiagnosticsConfiguration - PrivateConfig

Toegevoegd in versie 1.3.

Optioneel

Hiermee worden de privégegevens van het opslagaccount (naam, sleutel en eindpunt) opgeslagen. Deze informatie wordt verzonden naar de virtuele machine, maar kan er niet uit worden opgehaald.

Onderliggende elementen Description
StorageAccount Het opslagaccount dat moet worden gebruikt. De volgende kenmerken zijn vereist

- name : de naam van het opslagaccount.

- key : de sleutel voor het opslagaccount.

- endpoint : het eindpunt voor toegang tot het opslagaccount.

-sasToken (toegevoegd 1.8.1): u kunt een SAS-token opgeven in plaats van een opslagaccountsleutel in de persoonlijke configuratie. Indien opgegeven, wordt de sleutel van het opslagaccount genegeerd.
Vereisten voor het SAS-token:
- Ondersteunt alleen sas-token voor accounts
- b, t servicetypen zijn vereist.
- a, c, u, w machtigingen zijn vereist.
- c, o resourcetypen zijn vereist.
- Ondersteunt alleen het HTTPS-protocol
- Begin- en verlooptijd moeten geldig zijn.

IsEnabled Element

Structuur: Root - DiagnosticsConfiguration - IsEnabled

Booleaanse. Gebruik true om de diagnostische gegevens in te schakelen of false om de diagnostische gegevens uit te schakelen.

Voorbeeldconfiguratie

Hieronder volgt een volledige voorbeeldconfiguratie voor de diagnostische windows-extensie die wordt weergegeven in zowel JSON als XML.

JSON

PublicConfig en PrivateConfig worden gescheiden omdat ze in de meeste JSON-gebruiksgevallen als verschillende variabelen worden doorgegeven. Deze gevallen omvatten Resource Manager-sjablonen, PowerShell en Visual Studio.

Notitie

De definitie van de openbare configuratie van de Azure Monitor-sink heeft twee eigenschappen: resourceId en regio. Deze zijn alleen vereist voor klassieke VM's en klassieke cloudservices. De regio-eigenschap mag niet worden gebruikt voor andere resources. De eigenschap resourceId wordt gebruikt op ARM-VM's om het veld resourceID in te vullen in logboeken die zijn geüpload naar Event Hubs.

"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"
}

Notitie

De definitie van de privéconfiguratie van de Azure Monitor-sink heeft twee eigenschappen, PrincipalId en Secret. Deze zijn alleen vereist voor klassieke VM's en klassieke cloudservices. Deze eigenschappen mogen niet worden gebruikt voor andere resources.

"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>  

Notitie

De definitie van de openbare configuratie van de Azure Monitor-sink heeft twee eigenschappen: resourceId en regio. Deze zijn alleen vereist voor klassieke VM's en klassieke cloudservices. Deze eigenschappen mogen niet worden gebruikt voor Resource Manager Virtual Machines of virtuele-machineschaalsets. Er is ook een extra privéconfiguratie-element voor de Azure Monitor-sink, dat een principal-id en een geheim doorgeeft. Dit is alleen vereist voor klassieke VM's en klassieke Cloud Services. Voor Resource Manager VM's en VMSS kan de Definitie van Azure Monitor in het privéconfiguratie-element worden uitgesloten.