Dela via


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.

Kommentar

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 lades till. Version 1.0 och 1.2 av schemat har arkiverats och inte längre är 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 avrundas 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 Obligatoriskt. Se beskrivning någon annanstans på den här sidan.
PrivateConfig Valfritt. Se beskrivning någon annanstans på den här sidan.
IsEnabled Boolesk. Se beskrivning någon annanstans på den här sidan.

PublicConfig-element

Träd: Rot – DiagnosticsConfiguration – PublicConfig

Beskriver konfigurationen för offentlig diagnostik.

Underordnade element beskrivning
WadCfg Obligatoriskt. Se beskrivning 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

Obligatoriskt

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 för att använda proxyserverinställningarna enligt inställningarna i Internet Explorer.
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 Metrics om du vill att händelser som laddas upp till Event Hubs ska ha ett resurs-ID.



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

- scheduledTransferLogLevelFilter – Konfigurerar den lägsta allvarlighetsgraden för de insamlade loggarna.

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

CrashDumps-element

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

Aktivera samlingen med 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 Obligatoriskt. Definierar konfigurationsvärden för varje process.

Följande attribut krävs också:

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

Katalogelement

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

Aktiverar samlingen av innehållet i en katalog, loggar för IIS-begä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 – DataSources

En lista över kataloger som ska övervakas.

Underordnade element beskrivning
DirectoryConfiguration Obligatoriskt. 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 – DataSources – 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ägen ska 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 – DiagnostikKonfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders

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

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

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

Valfria attribut är:

- scheduledTransferLogLevelFilter – den 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 – den 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 – DiagnostikKonfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders – EtwEventSourceProviderConfiguration

Konfigurerar insamling av händelser som genererats 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:t 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:t för händelsen.

Valfritt attribut:

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

Måttelement

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

Gör att du kan generera en prestandaräknaretabell 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 vm-dator eller vm-skalningsuppsättning som du distribuerar Azure Diagnostics till. Hämta resourceID från Azure-portalen. 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 Metrics 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 – DiagnostikKonfiguration – 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. 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:

unit – 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 Metrics 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. Till 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 – DiagnostikKonfiguration – 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 osigneradInt Valfritt. Anger den maximala mängden filsystemlagring som är tillgänglig för angivna data.

Standardvärdet är 0.
scheduledTransferLogLevelFilter sträng Valfritt. 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 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 Metrics om du vill att händelser som laddas upp till Event Hubs ska ha ett resurs-ID.

DockerSources

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

Lades till i 1.9.

Elementnamn beskrivning
Statistik Meddelar 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
Sjunka Se beskrivning någon annanstans på den här sidan.

Mottagarelement

Träd: Rot – DiagnostikKonfiguration – 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 – DiagnostikKonfiguration – 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 beskrivning 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 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 – DiagnostikKonfiguration – 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 (lade till 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 – DiagnostikKonfiguration – IsEnabled

Boolesk. 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.

Kommentar

Den offentliga konfigurationsdefinitionen för Azure Monitor-mottagare 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"
}

Kommentar

Azure Monitor-mottagardefinitionen för privat konfiguration 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>  

Kommentar

Den offentliga konfigurationsdefinitionen för Azure Monitor-mottagare 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 molntjänster. För virtuella Resource Manager-datorer och VMSS kan Azure Monitor-definitionen i det privata konfigurationselementet undantas.