Windows Diagnostics-extensieschema
Azure Diagnostics-extensie is een agent in Azure Monitor waarmee bewakingsgegevens van het gastbesturingssysteem en workloads van Azure-rekenresources worden verzameld. In dit artikel wordt het schema beschreven dat wordt gebruikt voor de configuratie van de diagnostische extensie op virtuele Windows-machines en andere rekenresources.
Notitie
Het schema in dit artikel is geldig voor versies 1.3 en hoger (Azure SDK 2.4 en hoger). Nieuwere configuratiesecties worden becommentarieerd om weer te geven in welke versie ze zijn toegevoegd. Versie 1.0 en 1.2 van het schema zijn gearchiveerd en niet meer beschikbaar.
Schema van openbaar configuratiebestand
Download de schemadefinitie van het openbare configuratiebestand door de volgende PowerShell-opdracht uit te voeren:
(Get-AzureServiceAvailableExtension -ExtensionName 'PaaSDiagnostics' -ProviderNamespace 'Microsoft.Azure.Diagnostics').PublicConfigurationSchema | Out-File –Encoding utf8 -FilePath 'C:\temp\WadConfig.xsd'
Algemene kenmerktypen
Het kenmerk scheduledTransferPeriod wordt weergegeven in verschillende elementen. Dit is het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'.
DiagnosticsConfiguration Element
Structuur: Root - DiagnosticsConfiguration
Toegevoegd in versie 1.3.
Het element op het hoogste niveau van het configuratiebestand voor diagnostische gegevens.
Kenmerk xmlns: de XML-naamruimte voor het configuratiebestand voor diagnostische gegevens is:
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration
Onderliggende elementen | Description |
---|---|
PublicConfig | Vereist. Zie de beschrijving elders op deze pagina. |
PrivateConfig | Optioneel. Zie de beschrijving elders op deze pagina. |
Isenabled | Booleaanse. Zie de beschrijving elders op deze pagina. |
PublicConfig Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig
Beschrijft de configuratie van openbare diagnostische gegevens.
Onderliggende elementen | Description |
---|---|
WadCfg | Vereist. Zie de beschrijving elders op deze pagina. |
StorageAccount | De naam van het Azure Storage-account waarin de gegevens moeten worden opgeslagen. Kan ook worden opgegeven als een parameter bij het uitvoeren van de cmdlet Set-AzureServiceDiagnosticsExtension. |
StorageType | Dit kan Table, Blob of TableAndBlob zijn. Tabel is standaard. Wanneer TableAndBlob is gekozen, worden diagnostische gegevens twee keer geschreven, één keer naar elk type. |
LocalResourceDirectory | De map op de virtuele machine waar de bewakingsagent gebeurtenisgegevens opslaat. Zo niet, stel in, dan wordt de standaardmap gebruikt: Voor een werkrol/webrol: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\ Voor een virtuele machine: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion> Vereiste kenmerken zijn: - path: de map op het systeem die door Azure Diagnostics moet worden gebruikt. - expandEnvironment : hiermee bepaalt u of omgevingsvariabelen worden uitgevouwen in de padnaam. |
WadCFG-element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG
Identificeert en configureert de telemetriegegevens die moeten worden verzameld.
DiagnosticMonitorConfiguration Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration
Vereist
Kenmerken | Description |
---|---|
overallQuotaInMB | De maximale hoeveelheid lokale schijfruimte die kan worden gebruikt door de verschillende typen diagnostische gegevens die door Azure Diagnostics worden verzameld. De standaardinstelling is 4096 MB. |
useProxyServer | Configureer Azure Diagnostics om de proxyserverinstellingen te gebruiken zoals ingesteld in IE-instellingen. |
Putten | Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden voor alle onderliggende elementen die sinks ondersteunen. Sink-voorbeeld is Application Insights of Event Hubs. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrics moet toevoegen als u wilt dat gebeurtenissen die naar Event Hubs worden geüpload, een resource-id hebben. |
Onderliggende elementen | Description |
---|---|
CrashDumps | Zie de beschrijving elders op deze pagina. |
DiagnosticInfrastructureLogs | Het verzamelen van logboeken inschakelen die door Azure Diagnostics zijn gegenereerd. De logboeken van de diagnostische infrastructuur zijn handig voor het oplossen van problemen met het diagnostische systeem zelf. Optionele kenmerken zijn: - scheduledTransferLogLevelFilter : hiermee configureert u het minimale ernstniveau van de verzamelde logboeken. - scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'. |
Mappen | Zie de beschrijving elders op deze pagina. |
EtwProviders | Zie de beschrijving elders op deze pagina. |
Metrische gegevens | Zie de beschrijving elders op deze pagina. |
PerformanceCounters | Zie de beschrijving elders op deze pagina. |
WindowsEventLog | Zie de beschrijving elders op deze pagina. |
DockerSources | Zie de beschrijving elders op deze pagina. |
CrashDumps Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - CrashDumps
Schakel het verzamelen van crashdumps in.
Kenmerken | Description |
---|---|
containerName | Optioneel. De naam van de blobcontainer in uw Azure Storage-account die moet worden gebruikt voor het opslaan van crashdumps. |
crashDumpType | Optioneel. Hiermee configureert u Azure Diagnostics voor het verzamelen van mini- of volledige crashdumps. |
directoryQuotaPercentage | Optioneel. Hiermee configureert u het percentage overallQuotaInMB dat moet worden gereserveerd voor crashdumps op de VM. |
Onderliggende elementen | Description |
---|---|
CrashDumpConfiguration | Vereist. Definieert configuratiewaarden voor elk proces. Het volgende kenmerk is ook vereist: processName - De naam van het proces waarvoor u Azure Diagnostics een crashdump wilt verzamelen. |
Het element Directory's
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directory's
Hiermee schakelt u het verzamelen van de inhoud van een map, iis mislukte toegangsaanvraaglogboeken en/of IIS-logboeken in.
Optioneel kenmerk scheduledTransferPeriod . Zie de uitleg eerder.
Onderliggende elementen | Description |
---|---|
IISLogs | Door dit element op te geven in de configuratie, kunt u IIS-logboeken verzamelen: containerName : de naam van de blobcontainer in uw Azure Storage-account die moet worden gebruikt voor het opslaan van de IIS-logboeken. |
FailedRequestLogs | Als u dit element in de configuratie optelt, kunt u logboeken verzamelen over mislukte aanvragen naar een IIS-site of -toepassing. U moet ook traceringsopties inschakelen onder systeem. Webserver in Web.config. |
Datasources | Een lijst met mappen die moeten worden bewaakt. |
DataSources Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directory's - DataSources
Een lijst met mappen die moeten worden bewaakt.
Onderliggende elementen | Description |
---|---|
DirectoryConfiguration | Vereist. Vereist kenmerk: containerName : de naam van de blobcontainer in uw Azure Storage-account die moet worden gebruikt voor het opslaan van de logboekbestanden. |
DirectoryConfiguration Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directory's - DataSources - DirectoryConfiguration
Kan het element Absolute of LocalResource bevatten, maar niet beide.
Onderliggende elementen | Description |
---|---|
Absoluut | Het absolute pad naar de map die moet worden bewaakt. De volgende kenmerken zijn vereist: - Pad : het absolute pad naar de map die moet worden bewaakt. - expandEnvironment: hiermee configureert u of omgevingsvariabelen in Pad worden uitgevouwen. |
LocalResource | Het pad ten opzichte van een lokale resource die moet worden bewaakt. Vereiste kenmerken zijn: - Naam : de lokale resource die de map bevat die moet worden bewaakt - relativePath - Het pad ten opzichte van Naam dat de map bevat die moet worden bewaakt |
EtwProviders Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders
Hiermee configureert u het verzamelen van ETW-gebeurtenissen van providers op basis van EventSource en/of ETW Manifest.
Onderliggende elementen | Description |
---|---|
EtwEventSourceProviderConfiguration | Hiermee configureert u de verzameling gebeurtenissen die zijn gegenereerd op basis van de EventSource-klasse. Vereist kenmerk: provider : de klassenaam van de EventSource-gebeurtenis. Optionele kenmerken zijn: - scheduledTransferLogLevelFilter - Het minimale ernstniveau dat moet worden overgedragen naar uw opslagaccount. - scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'. |
EtwManifestProviderConfiguration | Vereist kenmerk: provider : de GUID van de gebeurtenisprovider Optionele kenmerken zijn: - scheduledTransferLogLevelFilter - Het minimale ernstniveau dat moet worden overgedragen naar uw opslagaccount. - scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'. |
EtwEventSourceProviderConfiguration Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders- EtwEventSourceProviderConfiguration
Hiermee configureert u de verzameling gebeurtenissen die zijn gegenereerd op basis van de EventSource-klasse.
Onderliggende elementen | Description |
---|---|
DefaultEvents | Optioneel kenmerk: eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen |
Gebeurtenis | Vereist kenmerk: id : de id van de gebeurtenis. Optioneel kenmerk: eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen |
EtwManifestProviderConfiguration Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders - EtwManifestProviderConfiguration
Onderliggende elementen | Description |
---|---|
DefaultEvents | Optioneel kenmerk: eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen |
Gebeurtenis | Vereist kenmerk: id : de id van de gebeurtenis. Optioneel kenmerk: eventDestination - De naam van de tabel waarin de gebeurtenissen moeten worden opgeslagen |
Element Metrische gegevens
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Metrische gegevens
Hiermee kunt u een prestatiemeteritemstabel genereren die is geoptimaliseerd voor snelle query's. Elk prestatiemeteritem dat is gedefinieerd in het element PerformanceCounters , wordt naast de tabel Prestatiemeteritems opgeslagen in de tabel Metrische gegevens.
Het kenmerk resourceId is vereist. De resource-id van de virtuele machine of virtuele-machineschaalset waarnaar u Azure Diagnostics implementeert. Haal de resourceID op uit de Azure Portal. Selecteer Bladeren ->Resourcegroepen -><Naam>. Klik op de tegel Eigenschappen en kopieer de waarde uit het veld Id . Deze eigenschap resourceID wordt gebruikt voor het verzenden van aangepaste metrische gegevens en voor het toevoegen van een resourceID-eigenschap aan gegevens die naar Event Hubs worden verzonden. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrische gegevens moet toevoegen als u wilt dat gebeurtenissen die worden geüpload naar Event Hubs een resource-id hebben.
Onderliggende elementen | Description |
---|---|
MetricAggregation | Vereist kenmerk: scheduledTransferPeriod - Het interval tussen geplande overdrachten naar opslag afgerond op de dichtstbijzijnde minuut. De waarde is een XML-gegevenstype 'Duur'. |
PerformanceCounters Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - PerformanceCounters
Hiermee schakelt u het verzamelen van prestatiemeteritems in.
Optioneel kenmerk:
Optioneel kenmerk scheduledTransferPeriod . Zie de uitleg eerder.
Onderliggend element | Description |
---|---|
PerformanceCounterConfiguration | De volgende kenmerken zijn vereist: - counterSpecifier : de naam van het prestatiemeteritems. Bijvoorbeeld \Processor(_Total)\% Processor Time . Voer de opdracht typeperf uit om een lijst met prestatiemeteritems op uw host op te halen.- sampleRate : hoe vaak de teller moet worden bemonsterd. Optioneel kenmerk: unit : de maateenheid van de teller. Waarden zijn beschikbaar op UnitType-klasse |
Putten | Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden. Bijvoorbeeld Azure Monitor of Event Hubs. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrische gegevens moet toevoegen als u wilt dat gebeurtenissen die worden geüpload naar Event Hubs een resource-id hebben. |
WindowsEventLog Element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - WindowsEventLog
Hiermee schakelt u het verzamelen van Windows-gebeurtenislogboeken in.
Optioneel kenmerk scheduledTransferPeriod . Zie de uitleg eerder.
Onderliggend element | Description |
---|---|
DataSource | De Windows-gebeurtenislogboeken die moeten worden verzameld. Vereist kenmerk: name : de XPath-query die de Windows-gebeurtenissen beschrijft die moeten worden verzameld. Bijvoorbeeld: Application!*[System[(Level <=3)]], System!*[System[(Level <=3)]], System!*[System[Provider[@Name='Microsoft Antimalware']]], Security!*[System[(Level <= 3)] Als u alle gebeurtenissen wilt verzamelen, geeft u '*' op |
Putten | Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden voor alle onderliggende elementen die sinks ondersteunen. Sink-voorbeeld is Application Insights of Event Hubs. |
Logboekenelement
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Logboeken
Aanwezig in versie 1.0 en 1.1. Ontbreekt in 1.2. Terug toegevoegd in 1.3.
Hiermee definieert u de bufferconfiguratie voor eenvoudige Azure-logboeken.
Kenmerk | Type | Description |
---|---|---|
bufferQuotaInMB | unsignedInt | Optioneel. Hiermee geeft u de maximale hoeveelheid opslagruimte van het bestandssysteem op die beschikbaar is voor de opgegeven gegevens. De standaardwaarde is 0. |
scheduledTransferLogLevelFilter | Tekenreeks | Optioneel. Hiermee geeft u het minimale ernstniveau voor logboekvermeldingen die worden overgedragen. De standaardwaarde is Undefined, waarmee alle logboeken worden overgedragen. Andere mogelijke waarden (in volgorde van de meeste naar de minste informatie) zijn Uitgebreid, Informatie, Waarschuwing, Fout en Kritiek. |
scheduledTransferPeriod | Duur | Optioneel. Hiermee geeft u het interval tussen geplande overdrachten van gegevens, afgerond op de dichtstbijzijnde minuut. De standaardwaarde is PT0S. |
Putten | tekenreeks | Toegevoegd in 1.5. Optioneel. Verwijst naar een sinklocatie om ook diagnostische gegevens te verzenden. Bijvoorbeeld Application Insights of Event Hubs. Houd er rekening mee dat u de eigenschap resourceId onder het element Metrische gegevens moet toevoegen als u wilt dat gebeurtenissen die worden geüpload naar Event Hubs een resource-id hebben. |
DockerSources
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - DockerSources
Toegevoegd in 1.9.
Naam van element | Description |
---|---|
Stats | Vertelt het systeem statistieken voor Docker-containers te verzamelen |
SinksConfig-element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig
Een lijst met locaties waar diagnostische gegevens naartoe moeten worden verzonden en de configuratie die aan deze locaties is gekoppeld.
Naam van element | Description |
---|---|
Sink | Zie de beschrijving elders op deze pagina. |
Sink-element
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink
Toegevoegd in versie 1.5.
Hiermee definieert u locaties waar diagnostische gegevens naartoe moeten worden verzonden. Bijvoorbeeld de Application Insights-service.
Kenmerk | Type | Beschrijving |
---|---|---|
name | tekenreeks | Een tekenreeks die de sinknaam aangeeft. |
Element | Type | Description |
---|---|---|
Application Insights | tekenreeks | Wordt alleen gebruikt bij het verzenden van gegevens naar Application Insights. Bevatten de instrumentatiesleutel voor een actief Application Insights-account waartoe u toegang hebt. |
Kanalen | tekenreeks | Eén voor elke extra filtering van die stream die u |
Het element Kanalen
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Kanalen
Toegevoegd in versie 1.5.
Hiermee definieert u filters voor stromen logboekgegevens die via een sink worden doorgegeven.
Element | Type | Description |
---|---|---|
Kanaal | tekenreeks | Zie de beschrijving elders op deze pagina. |
Kanaalelement
Structuur: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Kanalen - Kanaal
Toegevoegd in versie 1.5.
Hiermee definieert u locaties waar diagnostische gegevens naartoe moeten worden verzonden. Bijvoorbeeld de Application Insights-service.
Kenmerken | Type | Description |
---|---|---|
Loglevel | tekenreeks | Hiermee geeft u het minimale ernstniveau voor logboekvermeldingen die worden overgedragen. De standaardwaarde is Undefined, waarmee alle logboeken worden overgedragen. Andere mogelijke waarden (in volgorde van meest naar minst informatie) zijn Uitgebreid, Informatie, Waarschuwing, Fout en Kritiek. |
name | tekenreeks | Een unieke naam van het kanaal waarnaar moet worden verwezen |
PrivateConfig Element
Structuur: Root - DiagnosticsConfiguration - PrivateConfig
Toegevoegd in versie 1.3.
Optioneel
Hiermee worden de privégegevens van het opslagaccount (naam, sleutel en eindpunt) opgeslagen. Deze informatie wordt verzonden naar de virtuele machine, maar kan er niet uit worden opgehaald.
Onderliggende elementen | Description |
---|---|
StorageAccount | Het opslagaccount dat moet worden gebruikt. De volgende kenmerken zijn vereist - name : de naam van het opslagaccount. - key : de sleutel voor het opslagaccount. - endpoint : het eindpunt voor toegang tot het opslagaccount. -sasToken (toegevoegd 1.8.1): u kunt een SAS-token opgeven in plaats van een opslagaccountsleutel in de persoonlijke configuratie. Indien opgegeven, wordt de sleutel van het opslagaccount genegeerd. Vereisten voor het SAS-token: - Ondersteunt alleen sas-token voor accounts - b, t servicetypen zijn vereist. - a, c, u, w machtigingen zijn vereist. - c, o resourcetypen zijn vereist. - Ondersteunt alleen het HTTPS-protocol - Begin- en verlooptijd moeten geldig zijn. |
IsEnabled Element
Structuur: Root - DiagnosticsConfiguration - IsEnabled
Booleaanse. Gebruik true
om de diagnostische gegevens in te schakelen of false
om de diagnostische gegevens uit te schakelen.
Voorbeeldconfiguratie
Hieronder volgt een volledige voorbeeldconfiguratie voor de diagnostische windows-extensie die wordt weergegeven in zowel JSON als XML.
JSON
PublicConfig en PrivateConfig worden gescheiden omdat ze in de meeste JSON-gebruiksgevallen als verschillende variabelen worden doorgegeven. Deze gevallen omvatten Resource Manager-sjablonen, PowerShell en Visual Studio.
Notitie
De definitie van de openbare configuratie van de Azure Monitor-sink heeft twee eigenschappen: resourceId en regio. Deze zijn alleen vereist voor klassieke VM's en klassieke cloudservices. De regio-eigenschap mag niet worden gebruikt voor andere resources. De eigenschap resourceId wordt gebruikt op ARM-VM's om het veld resourceID in te vullen in logboeken die zijn geüpload naar Event Hubs.
"PublicConfig" {
"WadCfg": {
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 10000,
"DiagnosticInfrastructureLogs": {
"scheduledTransferLogLevelFilter": "Error"
},
"PerformanceCounters": {
"scheduledTransferPeriod": "PT1M",
"sinks": "AzureMonitorSink",
"PerformanceCounterConfiguration": [
{
"counterSpecifier": "\\Processor(_Total)\\% Processor Time",
"sampleRate": "PT1M",
"unit": "percent"
}
]
},
"Directories": {
"scheduledTransferPeriod": "PT5M",
"IISLogs": {
"containerName": "iislogs"
},
"FailedRequestLogs": {
"containerName": "iisfailed"
},
"DataSources": [
{
"containerName": "mynewprocess",
"Absolute": {
"path": "C:\\MyNewProcess",
"expandEnvironment": false
}
},
{
"containerName": "badapp",
"Absolute": {
"path": "%SYSTEMDRIVE%\\BadApp",
"expandEnvironment": true
}
},
{
"containerName": "goodapp",
"LocalResource": {
"relativePath": "..\\PeanutButter",
"name": "Skippy"
}
}
]
},
"EtwProviders": {
"sinks": "",
"EtwEventSourceProviderConfiguration": [
{
"scheduledTransferPeriod": "PT5M",
"provider": "MyProviderClass",
"Event": [
{
"id": 0
},
{
"id": 1,
"eventDestination": "errorTable"
}
],
"DefaultEvents": {
}
}
],
"EtwManifestProviderConfiguration": [
{
"scheduledTransferPeriod": "PT2M",
"scheduledTransferLogLevelFilter": "Information",
"provider": "5974b00b-84c2-44bc-9e58-3a2451b4e3ad",
"Event": [
{
"id": 0
}
],
"DefaultEvents": {
}
}
]
},
"WindowsEventLog": {
"scheduledTransferPeriod": "PT5M",
"DataSource": [
{
"name": "System!*[System[Provider[@Name='Microsoft Antimalware']]]"
},
{
"name": "System!*[System[Provider[@Name='NTFS'] and (EventID=55)]]"
},
{
"name": "System!*[System[Provider[@Name='disk'] and (EventID=7 or EventID=52 or EventID=55)]]"
}
]
},
"Logs": {
"scheduledTransferPeriod": "PT1M",
"scheduledTransferLogLevelFilter": "Verbose",
"sinks": "ApplicationInsights.AppLogs"
},
"CrashDumps": {
"directoryQuotaPercentage": 30,
"dumpType": "Mini",
"containerName": "wad-crashdumps",
"CrashDumpConfiguration": [
{
"processName": "mynewprocess.exe"
},
{
"processName": "badapp.exe"
}
]
}
},
"SinksConfig": {
"Sink": [
{
"name": "AzureMonitorSink",
"AzureMonitor":
{
"ResourceId": "{insert resourceId if a classic VM or cloud service, else property not needed}",
"Region": "{insert Azure region of resource if a classic VM or cloud service, else property not needed}"
}
},
{
"name": "ApplicationInsights",
"ApplicationInsights": "{Insert InstrumentationKey}",
"Channels": {
"Channel": [
{
"logLevel": "Error",
"name": "Errors"
},
{
"logLevel": "Verbose",
"name": "AppLogs"
}
]
}
},
{
"name": "EventHub",
"EventHub": {
"Url": "https://myeventhub-ns.servicebus.windows.net/diageventhub",
"SharedAccessKeyName": "SendRule",
"usePublisherId": false
}
},
{
"name": "secondaryEventHub",
"EventHub": {
"Url": "https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub",
"SharedAccessKeyName": "SendRule",
"usePublisherId": false
}
},
{
"name": "secondaryStorageAccount",
"StorageAccount": {
"name": "secondarydiagstorageaccount",
"endpoint": "https://core.windows.net"
}
}
]
}
},
"StorageAccount": "diagstorageaccount",
"StorageType": "TableAndBlob"
}
Notitie
De definitie van de privéconfiguratie van de Azure Monitor-sink heeft twee eigenschappen, PrincipalId en Secret. Deze zijn alleen vereist voor klassieke VM's en klassieke cloudservices. Deze eigenschappen mogen niet worden gebruikt voor andere resources.
"PrivateConfig" {
"storageAccountName": "diagstorageaccount",
"storageAccountKey": "{base64 encoded key}",
"storageAccountEndPoint": "https://core.windows.net",
"storageAccountSasToken": "{sas token}",
"EventHub": {
"Url": "https://myeventhub-ns.servicebus.windows.net/diageventhub",
"SharedAccessKeyName": "SendRule",
"SharedAccessKey": "{base64 encoded key}"
},
"AzureMonitorAccount": {
"ServicePrincipalMeta": {
"PrincipalId": "{Insert service principal client Id}",
"Secret": "{Insert service principal client secret}"
}
},
"SecondaryStorageAccounts": {
"StorageAccount": [
{
"name": "secondarydiagstorageaccount",
"key": "{base64 encoded key}",
"endpoint": "https://core.windows.net",
"sasToken": "{sas token}"
}
]
},
"SecondaryEventHubs": {
"EventHub": [
{
"Url": "https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub",
"SharedAccessKeyName": "SendRule",
"SharedAccessKey": "{base64 encoded key}"
}
]
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<PublicConfig>
<WadCfg>
<DiagnosticMonitorConfiguration overallQuotaInMB="10000">
<PerformanceCounters scheduledTransferPeriod="PT1M" sinks="AzureMonitorSink">
<PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT1M" unit="percent" />
</PerformanceCounters>
<Directories scheduledTransferPeriod="PT5M">
<IISLogs containerName="iislogs" />
<FailedRequestLogs containerName="iisfailed" />
<DataSources>
<DirectoryConfiguration containerName="mynewprocess">
<Absolute path="C:\MyNewProcess" expandEnvironment="false" />
</DirectoryConfiguration>
<DirectoryConfiguration containerName="badapp">
<Absolute path="%SYSTEMDRIVE%\BadApp" expandEnvironment="true" />
</DirectoryConfiguration>
<DirectoryConfiguration containerName="goodapp">
<LocalResource name="Skippy" relativePath="..\PeanutButter"/>
</DirectoryConfiguration>
</DataSources>
</Directories>
<EtwProviders>
<EtwEventSourceProviderConfiguration
provider="MyProviderClass"
scheduledTransferPeriod="PT5M">
<Event id="0"/>
<Event id="1" eventDestination="errorTable"/>
<DefaultEvents />
</EtwEventSourceProviderConfiguration>
<EtwManifestProviderConfiguration provider="5974b00b-84c2-44bc-9e58-3a2451b4e3ad" scheduledTransferLogLevelFilter="Information" scheduledTransferPeriod="PT2M">
<Event id="0"/>
<DefaultEvents eventDestination="defaultTable"/>
</EtwManifestProviderConfiguration>
</EtwProviders>
<WindowsEventLog scheduledTransferPeriod="PT5M">
<DataSource name="System!*[System[Provider[@Name='Microsoft Antimalware']]]"/>
<DataSource name="System!*[System[Provider[@Name='NTFS'] and (EventID=55)]]" />
<DataSource name="System!*[System[Provider[@Name='disk'] and (EventID=7 or EventID=52 or EventID=55)]]" />
</WindowsEventLog>
<Logs bufferQuotaInMB="1024"
scheduledTransferPeriod="PT1M"
scheduledTransferLogLevelFilter="Verbose"
sinks="ApplicationInsights.AppLogs"/> <!-- sinks attribute added in 1.5 -->
<CrashDumps containerName="wad-crashdumps" directoryQuotaPercentage="30" dumpType="Mini">
<CrashDumpConfiguration processName="mynewprocess.exe" />
<CrashDumpConfiguration processName="badapp.exe"/>
</CrashDumps>
<DockerSources> <!-- Added in 1.9 -->
<Stats enabled="true" sampleRate="PT1M" scheduledTransferPeriod="PT1M" />
</DockerSources>
</DiagnosticMonitorConfiguration>
<SinksConfig> <!-- Added in 1.5 -->
<Sink name="AzureMonitorSink">
<AzureMonitor> <!-- Added in 1.11 -->
<resourceId>{insert resourceId}</ResourceId> <!-- Parameter only needed for classic VMs and Classic Cloud Services, exclude VMSS and Resource Manager VMs-->
<Region>{insert Azure region of resource}</Region> <!-- Parameter only needed for classic VMs and Classic Cloud Services, exclude VMSS and Resource Manager VMs -->
</AzureMonitor>
</Sink>
<Sink name="ApplicationInsights">
<ApplicationInsights>{Insert InstrumentationKey}</ApplicationInsights>
<Channels>
<Channel logLevel="Error" name="Errors" />
<Channel logLevel="Verbose" name="AppLogs" />
</Channels>
</Sink>
<Sink name="EventHub"> <!-- Added in 1.7 -->
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/diageventhub" SharedAccessKeyName="SendRule" usePublisherId="false" />
</Sink>
<Sink name="secondaryEventHub"> <!-- Added in 1.7 -->
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub" SharedAccessKeyName="SendRule" usePublisherId="false" />
</Sink>
<Sink name="secondaryStorageAccount"> <!-- Added in 1.7 -->
<StorageAccount name="secondarydiagstorageaccount" endpoint="https://core.windows.net" />
</Sink>
</SinksConfig>
</WadCfg>
<StorageAccount>diagstorageaccount</StorageAccount>
<StorageType>TableAndBlob</StorageType> <!-- Added in 1.8 -->
</PublicConfig>
<PrivateConfig> <!-- Added in 1.3 -->
<StorageAccount name="" key="" endpoint="" sasToken="{sas token}" /> <!-- sasToken in Private config added in 1.8.1 -->
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/diageventhub" SharedAccessKeyName="SendRule" SharedAccessKey="{base64 encoded key}" />
<AzureMonitorAccount>
<ServicePrincipalMeta> <!-- Added in 1.11; only needed for classic VMs and Classic cloud services -->
<PrincipalId>{Insert service principal clientId}</PrincipalId>
<Secret>{Insert service principal client secret}</Secret>
</ServicePrincipalMeta>
</AzureMonitorAccount>
<SecondaryStorageAccounts>
<StorageAccount name="secondarydiagstorageaccount" key="{base64 encoded key}" endpoint="https://core.windows.net" sasToken="{sas token}" />
</SecondaryStorageAccounts>
<SecondaryEventHubs>
<EventHub Url="https://myeventhub-ns.servicebus.windows.net/secondarydiageventhub" SharedAccessKeyName="SendRule" SharedAccessKey="{base64 encoded key}" />
</SecondaryEventHubs>
</PrivateConfig>
<IsEnabled>true</IsEnabled>
</DiagnosticsConfiguration>
Notitie
De definitie van de openbare configuratie van de Azure Monitor-sink heeft twee eigenschappen: resourceId en regio. Deze zijn alleen vereist voor klassieke VM's en klassieke cloudservices. Deze eigenschappen mogen niet worden gebruikt voor Resource Manager Virtual Machines of virtuele-machineschaalsets. Er is ook een extra privéconfiguratie-element voor de Azure Monitor-sink, dat een principal-id en een geheim doorgeeft. Dit is alleen vereist voor klassieke VM's en klassieke Cloud Services. Voor Resource Manager VM's en VMSS kan de Definitie van Azure Monitor in het privéconfiguratie-element worden uitgesloten.