Schema för Windows-diagnostiktillägg

Azure Diagnostics-tillägget är en agent i Azure Monitor som samlar in övervakningsdata från gästoperativsystemet och arbetsbelastningar för Azure-beräkningsresurser. Den här artikeln beskriver det schema som används för konfiguration av diagnostiktillägget på virtuella Windows-datorer och andra beräkningsresurser.

Anteckning

Schemat i den här artikeln är giltigt för version 1.3 och senare (Azure SDK 2.4 och senare). Nyare konfigurationsavsnitt kommenteras för att visa i vilken version de har lagts till. Version 1.0 och 1.2 av schemat har arkiverats och är inte längre tillgängliga.

Offentligt konfigurationsfilschema

Ladda ned den offentliga konfigurationsfilens schemadefinition genom att köra följande PowerShell-kommando:

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

Vanliga attributtyper

attributet scheduledTransferPeriod visas i flera element. Det är intervallet mellan schemalagda överföringar till lagring som avrundats upp till närmaste minut. Värdet är en XML "Varaktighetsdatatyp".

DiagnosticsConfiguration-element

Träd: Rot – DiagnostikKonfiguration

Har lagts till i version 1.3.

Det översta elementet i diagnostikkonfigurationsfilen.

Attribute xmlns – XML-namnområdet för diagnostikkonfigurationsfilen är:
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration

Underordnade element Beskrivning
PublicConfig Krävs. Se beskrivningen någon annanstans på den här sidan.
PrivateConfig Valfritt. Se beskrivningen någon annanstans på den här sidan.
IsEnabled Boolean. Se beskrivningen någon annanstans på den här sidan.

PublicConfig-element

Träd: Rot – DiagnosticsConfiguration – PublicConfig

Beskriver den offentliga diagnostikkonfigurationen.

Underordnade element Beskrivning
WadCfg Krävs. Se beskrivningen någon annanstans på den här sidan.
StorageAccount Namnet på det Azure Storage-konto som data ska lagras i. Kan också anges som en parameter när du kör cmdleten Set-AzureServiceDiagnosticsExtension.
StorageType Kan vara Table, Blob eller TableAndBlob. Tabellen är standard. När TableAndBlob väljs skrivs diagnostikdata två gånger – en gång till varje typ.
LocalResourceDirectory Katalogen på den virtuella datorn där övervakningsagenten lagrar händelsedata. Om inte, ange används standardkatalogen:

För en arbets-/webbroll: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\

För en virtuell dator: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion>

Obligatoriska attribut är:

- path – Katalogen i systemet som ska användas av Azure Diagnostics.

- expandEnvironment – styr om miljövariabler expanderas i sökvägens namn.

WadCFG-element

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG

Identifierar och konfigurerar telemetridata som ska samlas in.

DiagnosticMonitorConfiguration-element

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration

Obligatorisk

Attribut Beskrivning
overallQuotaInMB Den maximala mängden lokalt diskutrymme som kan förbrukas av olika typer av diagnostikdata som samlas in av Azure Diagnostics. Standardinställningen är 4 096 MB.
useProxyServer Konfigurera Azure Diagnostics att använda proxyserverinställningarna enligt IE-inställningarna.
Sjunker Lade till i 1.5. Valfritt. Pekar på en mottagarplats för att även skicka diagnostikdata för alla underordnade element som stöder mottagare. Mottagarexempel är Application Insights eller Event Hubs. Observera att du måste lägga till egenskapen resourceId under elementet Mått om du vill att händelser som laddas upp till Event Hubs ska ha ett resurs-ID.



Underordnade element Beskrivning
CrashDumps Se beskrivningen någon annanstans på den här sidan.
DiagnosticInfrastructureLogs Aktivera insamling av loggar som genereras av Azure Diagnostics. Loggarna för diagnostikinfrastruktur är användbara för att felsöka själva diagnostiksystemet. Valfria attribut är:

- scheduledTransferLogLevelFilter – Konfigurerar lägsta allvarlighetsgrad för de loggar som samlas in.

- scheduledTransferPeriod – intervallet mellan schemalagda överföringar till lagring avrundat upp till närmaste minut. Värdet är en XML "Varaktighetsdatatyp".
Kataloger Se beskrivningen någon annanstans på den här sidan.
EtwProviders Se beskrivningen någon annanstans på den här sidan.
Mått Se beskrivningen någon annanstans på den här sidan.
PerformanceCounters Se beskrivningen någon annanstans på den här sidan.
WindowsEventLog Se beskrivningen någon annanstans på den här sidan.
DockerSources Se beskrivningen någon annanstans på den här sidan.

CrashDumps-element

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – CrashDumps

Aktivera insamling av kraschdumpar.

Attribut Beskrivning
containerName Valfritt. Namnet på blobcontainern i ditt Azure Storage-konto som ska användas för att lagra kraschdumpar.
crashDumpType Valfritt. Konfigurerar Azure Diagnostics för att samla in mini- eller fullständiga kraschdumpar.
directoryQuotaPercentage Valfritt. Konfigurerar procentandelen overallQuotaInMB som ska reserveras för kraschdumpar på den virtuella datorn.
Underordnade element Beskrivning
CrashDumpConfiguration Krävs. Definierar konfigurationsvärden för varje process.

Följande attribut krävs också:

processName – namnet på den process som du vill Azure Diagnostics samla in en kraschdump för.

Katalogelement

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Kataloger

Aktiverar samlingen av innehållet i en katalog, IIS-loggar för misslyckade åtkomstbegäranden och/eller IIS-loggar.

Valfritt scheduledTransferPeriod-attribut . Se förklaringen tidigare.

Underordnade element Beskrivning
IISLogs Om du inkluderar det här elementet i konfigurationen kan du samla in IIS-loggar:

containerName – namnet på blobcontainern i ditt Azure Storage-konto som ska användas för att lagra IIS-loggarna.
FailedRequestLogs Om du inkluderar det här elementet i konfigurationen kan du samla in loggar om misslyckade begäranden till en IIS-plats eller ett program. Du måste också aktivera spårningsalternativ under systemet. WebServer i Web.config.
Datasources En lista över kataloger som ska övervakas.

DataSources-element

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Kataloger – DataKällor

En lista över kataloger som ska övervakas.

Underordnade element Beskrivning
DirectoryConfiguration Krävs. Obligatoriskt attribut:

containerName – namnet på blobcontainern i ditt Azure Storage-konto som ska användas för att lagra loggfilerna.

DirectoryConfiguration-element

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Kataloger – DataKällor – KatalogKonfiguration

Kan innehålla antingen elementet Absolut eller LocalResource , men inte båda.

Underordnade element Beskrivning
Absolut Den absoluta sökvägen till katalogen som ska övervakas. Följande attribut krävs:

- Sökväg – den absoluta sökvägen till katalogen som ska övervakas.

- expandEnvironment – Konfigurerar om miljövariabler i Sökväg expanderas.
LocalResource Sökvägen i förhållande till en lokal resurs som ska övervakas. Obligatoriska attribut är:

- Namn – den lokala resurs som innehåller katalogen som ska övervakas

- relativePath – sökvägen i förhållande till Namn som innehåller katalogen som ska övervakas

EtwProviders-element

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders

Konfigurerar insamling av ETW-händelser från EventSource- och/eller ETW-manifestbaserade providers.

Underordnade element Beskrivning
EtwEventSourceProviderConfiguration Konfigurerar insamling av händelser som genereras från EventSource-klassen. Obligatoriskt attribut:

provider – klassnamnet för EventSource-händelsen.

Valfria attribut är:

- scheduledTransferLogLevelFilter – minsta allvarlighetsgrad som ska överföras till ditt lagringskonto.

- scheduledTransferPeriod – intervallet mellan schemalagda överföringar till lagring avrundat upp till närmaste minut. Värdet är en XML "Varaktighetsdatatyp".
EtwManifestProviderConfiguration Obligatoriskt attribut:

provider – GUID för händelseprovidern

Valfria attribut är:

- scheduledTransferLogLevelFilter – minsta allvarlighetsgrad som ska överföras till ditt lagringskonto.

- scheduledTransferPeriod – intervallet mellan schemalagda överföringar till lagring avrundat upp till närmaste minut. Värdet är en XML "Varaktighetsdatatyp".

EtwEventSourceProviderConfiguration-element

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders – EtwEventSourceProviderConfiguration

Konfigurerar insamling av händelser som genereras från EventSource-klassen.

Underordnade element Beskrivning
DefaultEvents Valfritt attribut:

eventDestination – namnet på tabellen som händelserna ska lagras i
Händelse Obligatoriskt attribut:

id – ID för händelsen.

Valfritt attribut:

eventDestination – namnet på tabellen som händelserna ska lagras i

EtwManifestProviderConfiguration-element

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders – EtwManifestProviderConfiguration

Underordnade element Beskrivning
DefaultEvents Valfritt attribut:

eventDestination – namnet på tabellen som händelserna ska lagras i
Händelse Obligatoriskt attribut:

id – ID för händelsen.

Valfritt attribut:

eventDestination – namnet på tabellen som händelserna ska lagras i

Måttelement

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Mått

Gör att du kan generera en prestandaräknartabell som är optimerad för snabba frågor. Varje prestandaräknare som definieras i elementet PerformanceCounters lagras i tabellen Mått utöver tabellen Prestandaräknare.

Attributet resourceId krävs. Resurs-ID:t för den virtuella datorn eller vm-skalningsuppsättningen som du distribuerar Azure Diagnostics till. Hämta resourceID från Azure Portal. Välj Bläddra ->Resursgrupper -><Namn>. Klicka på panelen Egenskaper och kopiera värdet från ID-fältet . Den här resourceID-egenskapen används både för att skicka anpassade mått och för att lägga till en resourceID-egenskap till data som skickas till Event Hubs. Observera att du måste lägga till egenskapen resourceId under elementet Mått om du vill att händelser som laddas upp till Event Hubs ska ha ett resurs-ID.

Underordnade element Beskrivning
MetricAggregation Obligatoriskt attribut:

scheduledTransferPeriod – intervallet mellan schemalagda överföringar till lagring avrundat upp till närmaste minut. Värdet är en XML "Varaktighetsdatatyp".

PerformanceCounters-element

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – PerformanceCounters

Aktiverar insamling av prestandaräknare.

Valfritt attribut:

Valfritt scheduledTransferPeriod-attribut . Se förklaringen tidigare.

Underordnat element Beskrivning
PerformanceCounterConfiguration Följande attribut krävs:

- counterSpecifier – namnet på prestandaräknaren. Till exempel \Processor(_Total)\% Processor Time. Om du vill hämta en lista över prestandaräknare på värden kör du kommandot typeperf.

- sampleRate – Hur ofta räknaren ska samplas.

Valfritt attribut:

enhet – Måttenheten för räknaren. Värden är tillgängliga i UnitType-klass
Sjunker Lade till i 1.5. Valfritt. Pekar på en mottagarplats för att även skicka diagnostikdata. Till exempel Azure Monitor eller Event Hubs. Observera att du måste lägga till egenskapen resourceId under elementet Mått om du vill att händelser som laddas upp till Event Hubs ska ha ett resurs-ID.

WindowsEventLog-element

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – WindowsEventLog

Aktiverar insamling av Windows-händelseloggar.

Valfritt scheduledTransferPeriod-attribut . Se förklaringen tidigare.

Underordnat element Beskrivning
DataSource Windows-händelseloggarna som ska samlas in. Obligatoriskt attribut:

name – XPath-frågan som beskriver de Windows-händelser som ska samlas in. Exempel:

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

Om du vill samla in alla händelser anger du "*"
Sjunker Lade till i 1.5. Valfritt. Pekar på en mottagarplats för att även skicka diagnostikdata för alla underordnade element som stöder mottagare. Mottagarexempel är Application Insights eller Event Hubs.

Loggelement

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Loggar

Finns i version 1.0 och 1.1. Saknas i 1.2. Har lagts till i 1.3.

Definierar buffertkonfigurationen för grundläggande Azure-loggar.

Attribut Typ Beskrivning
bufferQuotaInMB unsignedInt Valfritt. Anger den maximala mängden filsystemlagring som är tillgänglig för angivna data.

Standardvärdet är 0.
scheduledTransferLogLevelFilter Sträng Valfritt. Anger lägsta allvarlighetsgrad för loggposter som överförs. Standardvärdet är Odefinierat, vilket överför alla loggar. Andra möjliga värden (i ordning efter minst information) är Utförlig, Information, Varning, Fel och Kritisk.
scheduledTransferPeriod Varaktighet Valfritt. Anger intervallet mellan schemalagda dataöverföringar, avrundade upp till närmaste minut.

Standardvärdet är PT0S.
Sjunker sträng Lade till i 1.5. Valfritt. Pekar på en mottagarplats för att även skicka diagnostikdata. Till exempel Application Insights eller Event Hubs. Observera att du måste lägga till egenskapen resourceId under elementet Mått om du vill att händelser som laddas upp till Event Hubs ska ha ett resurs-ID.

DockerSources

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – DockerSources

Lade till i 1.9.

Elementnamn Beskrivning
Statistik Instruerar systemet att samla in statistik för Docker-containrar

SinksConfig-element

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG – SinksConfig

En lista över platser som diagnostikdata ska skickas till och konfigurationen som är associerad med dessa platser.

Elementnamn Beskrivning
Kanalmottagare Se beskrivningen någon annanstans på den här sidan.

Mottagarelement

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – SinksConfig – Mottagare

Har lagts till i version 1.5.

Definierar platser som diagnostikdata ska skickas till. Till exempel Application Insights-tjänsten.

Attribut Typ Beskrivning
Namn sträng En sträng som identifierar mottagarnamnet.
Element Typ Beskrivning
Application Insights sträng Används endast när data skickas till Application Insights. Innehåller instrumenteringsnyckeln för ett aktivt Application Insights-konto som du har åtkomst till.
Kanaler sträng En för varje ytterligare filtrering som strömmar som du

Kanalelement

Träd: Rot – DiagnosticsConfiguration – PublicConfig – WadCFG – SinksConfig – Mottagare – Kanaler

Har lagts till i version 1.5.

Definierar filter för strömmar av loggdata som passerar genom en mottagare.

Element Typ Beskrivning
Kanal sträng Se beskrivningen någon annanstans på den här sidan.

Kanalelement

Träd: Rot – DiagnostikKonfiguration – PublicConfig – WadCFG – SinksConfig – Mottagare – Kanaler – Kanal

Har lagts till i version 1.5.

Definierar platser som diagnostikdata ska skickas till. Till exempel Application Insights-tjänsten.

Attribut Typ Beskrivning
logLevel sträng Anger den lägsta allvarlighetsgraden för loggposter som överförs. Standardvärdet är Odefinierat, vilket överför alla loggar. Andra möjliga värden (i ordning efter mest till minst information) är Utförlig, Information, Varning, Fel och Kritisk.
Namn sträng Ett unikt namn på kanalen som ska refereras till

PrivateConfig-element

Träd: Rot – DiagnosticsConfiguration – PrivateConfig

Har lagts till i version 1.3.

Valfritt

Lagrar den privata informationen för lagringskontot (namn, nyckel och slutpunkt). Den här informationen skickas till den virtuella datorn, men kan inte hämtas från den.

Underordnade element Beskrivning
StorageAccount Lagringskontot som ska användas. Följande attribut krävs

- name – namnet på lagringskontot.

- key – Nyckeln till lagringskontot.

- endpoint – Slutpunkten för åtkomst till lagringskontot.

-sasToken (tillagd 1.8.1)- Du kan ange en SAS-token i stället för en lagringskontonyckel i den privata konfigurationen. Om det anges ignoreras lagringskontonyckeln.
Krav för SAS-token:
– Stöder endast konto-SAS-token
- b, t tjänsttyper krävs.
- a, c, u, w behörigheter krävs.
- c, o resurstyper krävs.
– Stöder endast HTTPS-protokollet
- Start- och förfallotiden måste vara giltig.

IsEnabled-element

Träd: Rot – DiagnosticsConfiguration – IsEnabled

Boolean. Använd true för att aktivera diagnostiken eller false för att inaktivera diagnostiken.

Exempelkonfiguration

Följande är en fullständig exempelkonfiguration för Windows-diagnostiktillägget som visas i både JSON och XML.

JSON

PublicConfig och PrivateConfig separeras eftersom de i de flesta JSON-användningsfall skickas som olika variabler. Dessa fall omfattar Resource Manager mallar, PowerShell och Visual Studio.

Anteckning

Den offentliga azure monitor-mottagardefinitionen har två egenskaper, resourceId och region. Dessa krävs endast för klassiska virtuella datorer och klassiska molntjänster. Regionegenskapen ska inte användas för andra resurser. Egenskapen resourceId används på virtuella ARM-datorer för att fylla i fältet resourceID i loggar som laddats upp till 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"
}

Anteckning

Den privata azure monitor-mottagardefinitionen har två egenskaper, PrincipalId och Secret. Dessa krävs endast för klassiska virtuella datorer och klassiska molntjänster. Dessa egenskaper bör inte användas för andra resurser.

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

Anteckning

Den offentliga azure monitor-mottagardefinitionen har två egenskaper, resourceId och region. Dessa krävs endast för klassiska virtuella datorer och klassiska molntjänster. Dessa egenskaper bör inte användas för Resource Manager Virtual Machines eller VM-skalningsuppsättningar. Det finns också ytterligare ett privat konfigurationselement för Azure Monitor-mottagaren som skickar ett huvudnamns-ID och en hemlighet. Detta krävs endast för klassiska virtuella datorer och klassiska Cloud Services. För Resource Manager virtuella datorer och VMSS kan Azure Monitor-definitionen i det privata konfigurationselementet undantas.