Windows diagnosztikai bővítményséma

Azure Diagnostics bővítmény egy ügynök az Azure Monitorban, amely monitorozási adatokat gyűjt a vendég operációs rendszerből és az Azure számítási erőforrások számítási feladataiból. Ez a cikk a Windows rendszerű virtuális gépeken és más számítási erőforrásokon futó diagnosztikai bővítmény konfigurálásához használt sémát ismerteti.

Megjegyzés

A cikkben szereplő séma az 1.3-s és újabb verziókra (Azure SDK 2.4 és újabb verziók) érvényes. Az újabb konfigurációs szakaszok megjegyzéseket fűznek hozzá, hogy megjelenítsük, milyen verzióban lettek hozzáadva. A séma 1.0-s és 1.2-es verziója archiválva lett, és már nem érhető el.

Nyilvános konfigurációs fájlséma

Töltse le a nyilvános konfigurációs fájl sémadefinícióját a következő PowerShell-parancs végrehajtásával:

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

Gyakori attribútumtípusok

A scheduledTransferPeriod attribútum több elemben is megjelenik. Ez az ütemezett tárolóba történő átvitelek közötti időköz, amely felfelé kerekített a legközelebbi percre. Az érték egy XML "Duration Data Type" (Időtartam adattípusa).

DiagnosticsConfiguration elem

Fa: Gyökér – DiagnosztikaKonfigurálás

Hozzáadva az 1.3-es verzióhoz.

A diagnosztikai konfigurációs fájl legfelső szintű eleme.

Xmlns attribútum – A diagnosztikai konfigurációs fájl XML-névtere a következő:
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration

Gyermekelemek Description
Nyilvános konfiguráció Kötelező. Tekintse meg a leírást a lap más részein.
PrivateConfig Választható. Tekintse meg a leírást a lap más részein.
IsEnabled Logikai. Tekintse meg a leírást a lap más részein.

PublicConfig elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig

A nyilvános diagnosztika konfigurációját ismerteti.

Gyermekelemek Description
WadCfg Kötelező. Tekintse meg a leírást a lap más részein.
StorageAccount Annak az Azure Storage-fióknak a neve, amelyben az adatokat tárolni szeretné. Paraméterként is megadható a Set-AzureServiceDiagnosticsExtension parancsmag végrehajtásakor.
StorageType Lehet Table, Blob vagy TableAndBlob. A tábla alapértelmezés szerint. A TableAndBlob kiválasztásakor a rendszer kétszer írja a diagnosztikai adatokat – minden típushoz egyszer.
LocalResourceDirectory Annak a virtuális gépnek a könyvtára, ahol a figyelési ügynök eseményadatokat tárol. Ha nem, állítsa be az alapértelmezett könyvtárat:

Feldolgozói/webes szerepkör esetén: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\

Virtuális gép esetén: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion>

A szükséges attribútumok a következők:

- path – A rendszer azon könyvtára, amelyet a Azure Diagnostics használ.

- expandEnvironment – Azt szabályozza, hogy a környezeti változók kibontva legyenek-e az elérési út nevében.

WadCFG elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG

Azonosítja és konfigurálja az összegyűjtendő telemetriai adatokat.

DiagnosticMonitorConfiguration elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration

Kötelező

Attribútumok Description
overallQuotaInMB A Azure Diagnostics által gyűjtött diagnosztikai adatok különböző típusai által felhasznált helyi lemezterület maximális mennyisége. Az alapértelmezett beállítás 4096 MB.
useProxyServer Konfigurálja Azure Diagnostics az IE-beállításokban megadott proxykiszolgáló-beállítások használatára.
Mosogató Hozzáadva az 1.5-ös verzióhoz. Választható. Egy fogadóhelyre mutat, ahol diagnosztikai adatokat is küldhet a fogadókat támogató összes gyermekelemről. A fogadó például az Application Insights vagy az Event Hubs. Vegye figyelembe, hogy hozzá kell adnia a ResourceId tulajdonságot a Metrics elemhez, ha azt szeretné, hogy az Event Hubsba feltöltött események erőforrás-azonosítóval rendelkezzenek.



Gyermekelemek Description
CrashDumps Tekintse meg a leírást a lap más részein.
DiagnosticInfrastructureLogs Engedélyezze a Azure Diagnostics által létrehozott naplók gyűjtését. A diagnosztikai infrastruktúra naplói hasznosak a diagnosztikai rendszer hibaelhárításához. A választható attribútumok a következők:

- scheduledTransferLogLevelFilter – Az összegyűjtött naplók minimális súlyossági szintjét konfigurálja.

- scheduledTransferPeriod – A tárolóba történő ütemezett átvitelek közötti időköz a legközelebbi percre kerekített. Az érték egy XML "Duration Data Type" (Időtartam adattípusa).
Könyvtárak Tekintse meg a leírást a lap más részein.
EtwProviders Tekintse meg a leírást a lap más részein.
Metrikák Tekintse meg a leírást a lap más részein.
PerformanceCounters Tekintse meg a leírást a lap más részein.
WindowsEventLog Tekintse meg a leírást a lap más részein.
DockerSources Tekintse meg a leírást a lap más részein.

CrashDumps elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – CrashDumps

Engedélyezze az összeomlási memóriaképek gyűjtését.

Attribútumok Description
containerName Választható. Az Összeomlási memóriaképek tárolásához használandó Azure Storage-fiók blobtárolójának neve.
crashDumpType Választható. A mini- vagy teljes összeomlási memóriaképek gyűjtésére Azure Diagnostics konfigurálja.
directoryQuotaPercentage Választható. A overallQuotaInMB százalékos arányát konfigurálja úgy, hogy a virtuális gépen lévő összeomlási memóriaképek számára legyen fenntartva.
Gyermekelemek Description
CrashDumpConfiguration Kötelező. Az egyes folyamatok konfigurációs értékeit határozza meg.

A következő attribútumra is szükség van:

processName – Annak a folyamatnak a neve, amelyhez Azure Diagnostics összeomlási memóriaképet szeretne gyűjteni.

Könyvtárak elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Könyvtárak

Lehetővé teszi egy könyvtár tartalmának gyűjtését, az IIS sikertelen hozzáférési kérelmek naplóit és/vagy az IIS-naplókat.

Nem kötelező scheduledTransferPeriod attribútum. Lásd korábban a magyarázatot.

Gyermekelemek Description
IIS-naplók A konfiguráció ezen elemének belevétele lehetővé teszi az IIS-naplók gyűjtését:

containerName – Az IIS-naplók tárolására használt blobtároló neve az Azure Storage-fiókban.
FailedRequestLogs A konfiguráció ezen elemének belevétele lehetővé teszi az IIS-webhelyre vagy -alkalmazásra irányuló sikertelen kérelmek naplóinak gyűjtését. A nyomkövetési beállításokat is engedélyeznie kell a rendszerben. WebServer a Web.config-ban .
Datasources A monitorozni kívánt könyvtárak listája.

Adatforrások elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Könyvtárak – Adatforrások

A monitorozni kívánt könyvtárak listája.

Gyermekelemek Description
DirectoryConfiguration Kötelező. Kötelező attribútum:

containerName – Annak a blobtárolónak a neve az Azure Storage-fiókban, amely a naplófájlok tárolására szolgál.

DirectoryConfiguration elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Könyvtárak – Adatforrások – DirectoryConfiguration

Tartalmazhat abszolút vagyLocalResource elemet, de mindkettőt nem.

Gyermekelemek Description
Abszolút A monitorozni kívánt könyvtár abszolút elérési útja. A következő attribútumok szükségesek:

- Elérési út – A monitorozni kívánt könyvtár abszolút elérési útja.

- expandEnvironment – Azt adja meg, hogy a környezeti változók kibontva legyenek-e az Elérési út területen.
LocalResource A monitorozni kívánt helyi erőforráshoz viszonyított elérési út. A szükséges attribútumok a következők:

- Név – A monitorozni kívánt könyvtárat tartalmazó helyi erőforrás

- relativePath – A monitorozni kívánt könyvtárat tartalmazó névhez viszonyított elérési út

EtwProviders elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders

Konfigurálja az ETW-események gyűjtését az EventSource-ból és/vagy az ETW-jegyzékalapú szolgáltatóktól.

Gyermekelemek Description
EtwEventSourceProviderConfiguration Konfigurálja az EventSource-osztályból létrehozott események gyűjteményét. Kötelező attribútum:

provider – Az EventSource-esemény osztályneve.

A választható attribútumok a következők:

- scheduledTransferLogLevelFilter – A tárfiókba való átvitel minimális súlyossági szintje.

- scheduledTransferPeriod – A tárolóba történő ütemezett átvitelek közötti időköz a legközelebbi percre kerekített. Az érték egy XML "Duration Data Type" (Időtartam adattípusa).
EtwManifestProviderConfiguration Kötelező attribútum:

provider – Az eseményszolgáltató GUID azonosítója

A választható attribútumok a következők:

- scheduledTransferLogLevelFilter – A tárfiókba való átvitel minimális súlyossági szintje.

- scheduledTransferPeriod – A tárolóba történő ütemezett átvitelek közötti időköz a legközelebbi percre kerekített. Az érték egy XML "Duration Data Type" (Időtartam adattípusa).

EtwEventSourceProviderConfiguration elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders – EtwEventSourceProviderConfiguration

Konfigurálja az EventSource-osztályból létrehozott események gyűjteményét.

Gyermekelemek Description
DefaultEvents Nem kötelező attribútum:

eventDestination – Az események tárolására használt tábla neve
Esemény Kötelező attribútum:

id – Az esemény azonosítója.

Nem kötelező attribútum:

eventDestination – Az események tárolására használt tábla neve

EtwManifestProviderConfiguration elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – EtwProviders – EtwManifestProviderConfiguration

Gyermekelemek Description
DefaultEvents Nem kötelező attribútum:

eventDestination – Az események tárolására használt tábla neve
Esemény Kötelező attribútum:

id – Az esemény azonosítója.

Nem kötelező attribútum:

eventDestination – Az események tárolására használt tábla neve

Metrikaelem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Metrikák

Lehetővé teszi, hogy gyors lekérdezésekre optimalizált teljesítményszámláló táblát hozzon létre. A PerformanceCounters elemben definiált teljesítményszámlálók a Teljesítményszámláló tábla mellett a Metrics táblában is tárolódnak.

A resourceId attribútum megadása kötelező. Annak a virtuális gépnek vagy virtuálisgép-méretezési csoportnak az erőforrás-azonosítója, amelybe üzembe helyezi Azure Diagnostics. Kérje le az erőforrás-azonosítót a Azure Portal. Válassza a Tallózás ->Erőforráscsoportok -><Név elemet>. Kattintson a Tulajdonságok csempére, és másolja ki az értéket az Azonosító mezőből. Ez a resourceID tulajdonság egyéni metrikák küldéséhez és resourceID tulajdonság az Event Hubsnak küldött adatokhoz való hozzáadásához is használható. Vegye figyelembe, hogy hozzá kell adnia a ResourceId tulajdonságot a Metrics elemhez, ha azt szeretné, hogy az Event Hubsba feltöltött események erőforrás-azonosítóval rendelkezzenek.

Gyermekelemek Description
MetricAggregation Kötelező attribútum:

scheduledTransferPeriod – A tárolóba történő ütemezett átvitelek közötti időköz a legközelebbi percre kerekített. Az érték egy XML "Duration Data Type" (Időtartam adattípusa).

PerformanceCounters elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – PerformanceCounters

Engedélyezi a teljesítményszámlálók gyűjtését.

Nem kötelező attribútum:

Nem kötelező scheduledTransferPeriod attribútum. Lásd korábban a magyarázatot.

Gyermekelem Description
PerformanceCounterConfiguration A következő attribútumok szükségesek:

- counterSpecifier – A teljesítményszámláló neve. Például: \Processor(_Total)\% Processor Time. A gazdagép teljesítményszámlálóinak listájának lekéréséhez futtassa a parancsot typeperf.

- sampleRate – A számláló mintavételi gyakorisága.

Nem kötelező attribútum:

unit – A számláló mértékegysége. Az értékek a UnitType osztályban érhetők el
Mosogató Hozzáadva az 1.5-ös verzióhoz. Választható. A diagnosztikai adatok elküldéséhez egy fogadóhelyre mutat. Ilyen például az Azure Monitor vagy az Event Hubs. Vegye figyelembe, hogy hozzá kell adnia a ResourceId tulajdonságot a Metrics elemhez, ha azt szeretné, hogy az Event Hubsba feltöltött események erőforrás-azonosítóval rendelkezzenek.

WindowsEventLog elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – WindowsEventLog

Engedélyezi a Windows-eseménynaplók gyűjtését.

Nem kötelező scheduledTransferPeriod attribútum. Lásd korábban a magyarázatot.

Gyermekelem Description
Datasource A gyűjtendő Windows-eseménynaplók. Kötelező attribútum:

name – Az összegyűjtendő Windows-eseményeket leíró XPath-lekérdezés. Például:

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

Az összes esemény gyűjtéséhez adja meg a "*" értéket
Mosogató Hozzáadva az 1.5-ös verzióhoz. Választható. Egy fogadóhelyre mutat, ahol diagnosztikai adatokat is küldhet a fogadókat támogató összes gyermekelemről. A fogadó például az Application Insights vagy az Event Hubs.

Naplók elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – Naplók

Az 1.0-s és 1.1-es verzióban jelenik meg. Hiányzik az 1.2-ben. Az 1.3-ban újra hozzáadva.

Meghatározza az alapszintű Azure-naplók pufferkonfigurációját.

Attribútum Típus Description
bufferQuotaInMB unsignedInt Választható. A megadott adatokhoz elérhető fájlrendszer-tárterület maximális mennyiségét adja meg.

Az alapértelmezett érték a 0.
scheduledTransferLogLevelFilter sztring Választható. Meghatározza az átvitt naplóbejegyzések minimális súlyossági szintjét. Az alapértelmezett érték a Nincs definiálva, amely az összes naplót átviszi. Egyéb lehetséges értékek (a legtöbb vagy a legkisebb információ sorrendjében) a következők: Részletes, Információ, Figyelmeztetés, Hiba és Kritikus.
scheduledTransferPeriod Időtartam Választható. Az ütemezett adattovábbítások közötti időközt adja meg, felfelé kerekítve a legközelebbi percre.

Az alapértelmezett érték a PT0S.
Mosogató sztring Hozzáadva az 1.5-ös verzióhoz. Választható. A diagnosztikai adatok elküldéséhez egy fogadóhelyre mutat. Például: Application Insights vagy Event Hubs. Vegye figyelembe, hogy hozzá kell adnia a ResourceId tulajdonságot a Metrics elemhez, ha azt szeretné, hogy az Event Hubsba feltöltött események erőforrás-azonosítóval rendelkezzenek.

DockerSources

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – DiagnosticMonitorConfiguration – DockerSources

Hozzáadva az 1.9-ben.

Elem neve Description
Statisztika Arra utasítja a rendszert, hogy gyűjtse össze a Docker-tárolók statisztikáit

SinksConfig elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – SinksConfig

Azoknak a helyeknek a listája, amelyekbe diagnosztikai adatokat szeretne küldeni, valamint az ezekhez a helyekhez társított konfiguráció.

Elem neve Description
Sink (Fogadó) Tekintse meg a leírást a lap más részein.

Fogadó elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – SinksConfig – Fogadó

Hozzáadva az 1.5-ös verzióhoz.

Meghatározza azokat a helyeket, ahová diagnosztikai adatokat szeretne küldeni. Például az Application Insights szolgáltatás.

Attribútum Típus Description
név sztring A fogadó nevét azonosító sztring.
Elem Típus Description
Application Insights sztring Csak akkor használatos, ha adatokat küld az Application Insightsnak. Tartalmazza egy aktív Application Insights-fiók rendszerállapotkulcsát, amelyhez hozzáféréssel rendelkezik.
Csatornák sztring Egy minden további szűréshez, amelyet a streamel

Csatornák elem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – SinksConfig – Fogadó – Csatornák

Hozzáadva az 1.5-ös verzióhoz.

Szűrőket definiál a fogadón áthaladó naplóadatok adatfolyamaihoz.

Elem Típus Description
Csatorna sztring Tekintse meg a leírást a lap más részein.

Csatornaelem

Fa: Gyökér – DiagnosticsConfiguration – PublicConfig – WadCFG – FogadókKonfigurálás – Fogadó – Csatornák – Csatorna

Hozzáadva az 1.5-ös verzióhoz.

Meghatározza azokat a helyeket, ahová diagnosztikai adatokat szeretne küldeni. Például az Application Insights szolgáltatás.

Attribútumok Típus Description
Loglevel sztring Meghatározza az átvitt naplóbejegyzések minimális súlyossági szintjét. Az alapértelmezett érték a Nincs definiálva, amely az összes naplót átviszi. Egyéb lehetséges értékek (a legtöbb vagy a legkisebb információ sorrendjében) a következők: Részletes, Információ, Figyelmeztetés, Hiba és Kritikus.
név sztring A hivatkozni kívánt csatorna egyedi neve

PrivateConfig elem

Fa: Gyökér – DiagnosticsConfiguration – PrivateConfig

Hozzáadva az 1.3-es verzióhoz.

Választható

Tárolja a tárfiók privát adatait (név, kulcs és végpont). Ezeket az adatokat a rendszer elküldi a virtuális gépnek, de nem kérhető le belőle.

Gyermekelemek Description
StorageAccount A használni kívánt tárfiók. A következő attribútumok szükségesek

- name – A tárfiók neve.

- key – A tárfiók kulcsa.

- endpoint – A tárfiók eléréséhez szükséges végpont.

-sasToken (1.8.1 hozzáadva) – A privát konfigurációban megadhat egy SAS-jogkivonatot tárfiókkulcs helyett. Ha meg van adva, a rendszer figyelmen kívül hagyja a tárfiókkulcsot.
Az SAS-jogkivonat követelményei:
– Csak a fiók SAS-jogkivonatát támogatja
- b, t szolgáltatástípusok megadása kötelező.
- a, c, u, w engedélyek szükségesek.
- c, o az erőforrástípusok megadása kötelező.
– Csak a HTTPS protokollt támogatja
- A kezdési és a lejárati időnek érvényesnek kell lennie.

IsEnabled elem

Fa: Gyökér – DiagnosztikaKonfigurálás – IsEnabled

Logikai. A használatával true engedélyezheti a diagnosztikát, vagy false letilthatja a diagnosztikát.

Konfigurációs példa

Az alábbiakban egy teljes mintakonfigurációt láthat a Windows diagnosztikai bővítményhez, amely a JSON-ban és az XML-ben is megjelenik.

JSON

A PublicConfig és a PrivateConfig el van választva, mert a legtöbb JSON-használati esetben különböző változókként lesznek átadva. Ilyenek például a Resource Manager-sablonok, a PowerShell és a Visual Studio.

Megjegyzés

A nyilvános konfigurációs Azure Monitor-fogadó definíciója két tulajdonsággal rendelkezik: resourceId és régió. Ezek csak a klasszikus virtuális gépekhez és a klasszikus felhőszolgáltatásokhoz szükségesek. A region (régió ) tulajdonságot nem szabad más erőforrásokhoz használni, a resourceId tulajdonságot arm virtuális gépeken használjuk az Event Hubsba feltöltött naplók resourceID mezőjének feltöltéséhez.

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

Megjegyzés

A privát konfigurációs Azure Monitor-fogadó definíciója két tulajdonsággal rendelkezik: PrincipalId és Secret. Ezek csak a klasszikus virtuális gépekhez és a klasszikus felhőszolgáltatásokhoz szükségesek. Ezeket a tulajdonságokat más erőforrásokhoz nem szabad használni.

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

Megjegyzés

A nyilvános konfigurációs Azure Monitor-fogadó definíciója két tulajdonsággal rendelkezik: resourceId és régió. Ezek csak a klasszikus virtuális gépekhez és a klasszikus felhőszolgáltatásokhoz szükségesek. Ezek a tulajdonságok nem használhatók Resource Manager Virtual Machines vagy virtuálisgép-méretezési csoportokhoz. Az Azure Monitor-fogadóhoz egy további privát konfigurációs elem is tartozik, amely egy egyszerű azonosítót és egy titkos kulcsot ad át. Ez csak a klasszikus virtuális gépekhez és a klasszikus Cloud Services szükséges. Resource Manager virtuális gépek és VMSS esetében a privát konfigurációs elem Azure Monitor-definíciója kizárható.