Windows Diagnostics 拡張機能のスキーマ
Azure Diagnostics 拡張機能は Azure Monitor のエージェントで、ゲスト オペレーティング システムと Azure コンピューティング リソースのワークロードから監視データを収集します。 この記事では、Windows 仮想マシンおよびその他のコンピューティング リソースで Diagnostics 拡張機能を構成するために使用するスキーマについて詳細に説明します。
Note
この記事で説明するスキーマは、バージョン 1.3 以降 (Azure SDK 2.4 以降) で有効です。 新しい構成セクションには、追加されたバージョンがコメントで示されています。 スキーマのバージョン 1.0 と 1.2 は、アーカイブされ、使用できなくなりました。
パブリック構成ファイルのスキーマ
次の PowerShell コマンドを実行して、パブリック構成ファイルのスキーマ定義をダウンロードします。
(Get-AzureServiceAvailableExtension -ExtensionName 'PaaSDiagnostics' -ProviderNamespace 'Microsoft.Azure.Diagnostics').PublicConfigurationSchema | Out-File –Encoding utf8 -FilePath 'C:\temp\WadConfig.xsd'
一般的な属性の型
scheduledTransferPeriod 属性は、複数の要素に表示されます。 ストレージへのスケジュールされている転送の間隔です。最も近い分単位に切り上げられます。 値は XML "Duration Data Type" です。
DiagnosticsConfiguration 要素
ツリー: ルート - DiagnosticsConfiguration
バージョン 1.3 で追加。
診断構成ファイルの最上位要素。
属性 xmlns - 診断構成ファイルの XML 名前空間は次のとおりです。
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration
子要素 | 説明 |
---|---|
PublicConfig | 必須。 このページの他の場所の説明を参照してください。 |
PrivateConfig | 省略可能。 このページの他の場所の説明を参照してください。 |
IsEnabled | Boolean です。 このページの他の場所の説明を参照してください。 |
PublicConfig 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig
パブリック診断構成について説明します。
子要素 | 説明 |
---|---|
WadCfg | 必須。 このページの他の場所の説明を参照してください。 |
StorageAccount | データを格納する Azure ストレージ アカウントの名前。 Set-AzureServiceDiagnosticsExtension コマンドレットを実行するときに、パラメーターとして指定することもできます。 |
StorageType | Table、Blob、または TableAndBlob を指定できます。 既定値は Table です。 TableAndBlob を選択すると、種類ごとに 1 回、つまり合計 2 回、診断データが書き込まれます。 |
LocalResourceDirectory | 監視エージェントがイベント データを保存する仮想マシンのディレクトリ。 設定しない場合は、既定のディレクトリが使用されます。 worker/Web ロールの場合: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\ 仮想マシンの場合: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion> 必須属性は次のとおりです。 - path - Azure Diagnostics で使用するシステム上のディレクトリ。 - expandEnvironment - 環境変数をパス名で展開するかどうかを制御します。 |
WadCFG 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG
収集するテレメトリ データを特定して構成します。
DiagnosticMonitorConfiguration 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration
必須
属性 | 説明 |
---|---|
overallQuotaInMB | Azure Diagnostics によって収集された、さまざまな種類の診断データで使用できるローカル ディスク領域の最大量。 既定の設定は 4096 MB です。 |
useProxyServer | Internet Explorer の設定で設定されているプロキシ サーバーの設定を使用するように Azure Diagnostics を構成します。 |
sinks | 1\.5 で追加されました。 省略可能。 シンクの場所を指定すると共に、シンクをサポートするすべての子要素の診断データを送信します。 シンクの例に、Application Insights または Event Hubs があります。 なお、Event Hubs にアップロードするイベントにリソース ID を含めるには、Metrics 要素の下に resourceId プロパティを追加します。 |
子要素 | 説明 |
---|---|
CrashDumps | このページの他の場所の説明を参照してください。 |
DiagnosticInfrastructureLogs | Azure Diagnostics によって生成されたログの収集を有効にします。 診断インフラストラクチャ ログは、診断システム自体のトラブルシューティングに役に立ちます。 オプションの属性は次のとおりです。 - scheduledTransferLogLevelFilter - 収集されたログの最小重大度レベルを構成します。 - scheduledTransferPeriod - ストレージへのスケジュールされている転送の間隔。最も近い分単位に切り上げられます。 値は XML "Duration Data Type" です。 |
Directories | このページの他の場所の説明を参照してください。 |
EtwProviders | このページの他の場所の説明を参照してください。 |
Metrics | このページの他の場所の説明を参照してください。 |
PerformanceCounters | このページの他の場所の説明を参照してください。 |
WindowsEventLog | このページの他の場所の説明を参照してください。 |
DockerSources | このページの他の場所の説明を参照してください。 |
CrashDumps 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - CrashDumps
クラッシュ ダンプの収集を有効にします。
属性 | 説明 |
---|---|
containerName | 省略可能。 クラッシュ ダンプの保存に使用する Azure ストレージ アカウント内の BLOB コンテナーの名前。 |
crashDumpType | 省略可能。 Azure Diagnostics を、小さいクラッシュ ダンプまたはフル クラッシュ ダンプを収集するように構成します。 |
directoryQuotaPercentage | 省略可能。 VM でのクラッシュ ダンプ用に予約する overallQuotaInMB の割合を構成します。 |
子要素 | 説明 |
---|---|
CrashDumpConfiguration | 必須。 各プロセスの構成値を定義します。 次の属性も必須です。 processName - Azure Diagnostics でクラッシュ ダンプを収集するプロセスの名前。 |
Directories 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories
ディレクトリ、IIS 失敗アクセス要求ログ、IIS ログのコンテンツの収集を有効にします。
オプションの scheduledTransferPeriod 属性。 前の説明を参照してください。
子要素 | 説明 |
---|---|
IISLogs | この要素を構成に含めることで、IIS ログの収集を有効にします。 containerName - IIS ログの保存に使用する Azure ストレージ アカウント内の BLOB コンテナーの名前。 |
FailedRequestLogs | この要素を構成に含めることで、IIS サイトまたはアプリケーションへの失敗要求に関するログの収集を有効にします。 また、Web.config の system.WebServer でトレース オプションを有効にする必要もあります。 |
DataSources | 監視するディレクトリの一覧。 |
DataSources 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories - DataSources
監視するディレクトリの一覧。
子要素 | 説明 |
---|---|
DirectoryConfiguration | 必須。 必須属性: containerName - ログ ファイルの保存に使用する Azure ストレージ アカウント内の BLOB コンテナーの名前。 |
DirectoryConfiguration 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories - DataSources - DirectoryConfiguration
Absolute 要素または LocalResource 要素のいずれかを含めることができます。ただし、両方を含めることができません。
子要素 | 説明 |
---|---|
Absolute | 監視するディレクトリの絶対パス。 次の属性は必須です。 - Path - 監視するディレクトリの絶対パス。 - expandEnvironment - Path で環境変数を展開するかどうかを構成します。 |
LocalResource | 監視するローカル リソースの相対パス。 必須属性は次のとおりです。 - Name - 監視するディレクトリを含むローカル リソース - relativePath - 監視するディレクトリを含む名前の相対パス |
EtwProviders 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders
EventSource や ETW マニフェスト ベースのプロバイダーからの ETW イベントの収集を構成します。
子要素 | 説明 |
---|---|
EtwEventSourceProviderConfiguration | EventSource クラスから生成されたイベントの収集を構成します。 必須属性: provider - EventSource イベントのクラス名。 オプションの属性は次のとおりです。 - scheduledTransferLogLevelFilter - ストレージ アカウントへの転送の最小重大度レベル。 - scheduledTransferPeriod - ストレージへのスケジュールされている転送の間隔。最も近い分単位に切り上げられます。 値は XML "Duration Data Type" です。 |
EtwManifestProviderConfiguration | 必須属性: provider - イベント プロバイダーの GUID オプションの属性は次のとおりです。 - scheduledTransferLogLevelFilter - ストレージ アカウントへの転送の最小重大度レベル。 - scheduledTransferPeriod - ストレージへのスケジュールされている転送の間隔。最も近い分単位に切り上げられます。 値は XML "Duration Data Type" です。 |
EtwEventSourceProviderConfiguration 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders- EtwEventSourceProviderConfiguration
EventSource クラスから生成されたイベントの収集を構成します。
子要素 | 説明 |
---|---|
DefaultEvents | オプションの属性: eventDestination - イベントを保存するテーブルの名前 |
Event | 必須属性: id - イベントの ID。 オプションの属性: eventDestination - イベントを保存するテーブルの名前 |
EtwManifestProviderConfiguration 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders - EtwManifestProviderConfiguration
子要素 | 説明 |
---|---|
DefaultEvents | オプションの属性: eventDestination - イベントを保存するテーブルの名前 |
Event | 必須属性: id - イベントの ID。 オプションの属性: eventDestination - イベントを保存するテーブルの名前 |
Metrics 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Metrics
高速クエリ用に最適化されたパフォーマンス カウンター テーブルを生成できます。 PerformanceCounters 要素で定義された各パフォーマンス カウンターが、パフォーマンス カウンター テーブルだけでなくメトリック テーブルにも保存されます。
resourceId 属性は必須です。 Azure Diagnostics のデプロイ先仮想マシンまたは仮想マシン スケール セットのリソース ID です。 Azure Portal から resourceID を取得します。 [参照] ->[リソース グループ] ->[<名前>] の順に選択します。 [プロパティ] タイルをクリックし、 [ID] フィールドの値をコピーします。 この resourceID プロパティは、カスタム メトリックの送信と、Event Hubs に送信するデータへの resourceID プロパティの追加の両方に使用します。 なお、Event Hubs にアップロードするイベントにリソース ID を含めるには、Metrics 要素の下に resourceId プロパティを追加します。
子要素 | 説明 |
---|---|
MetricAggregation | 必須属性: scheduledTransferPeriod - ストレージへのスケジュールされている転送の間隔。最も近い分単位に切り上げられます。 値は XML "Duration Data Type" です。 |
PerformanceCounters 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - PerformanceCounters
パフォーマンス カウンターの収集を有効にします。
オプションの属性:
オプションの scheduledTransferPeriod 属性。 前の説明を参照してください。
子要素 | 説明 |
---|---|
PerformanceCounterConfiguration | 次の属性は必須です。 - counterSpecifier - パフォーマンス カウンターの名前。 たとえば、「 \Processor(_Total)\% Processor Time 」のように入力します。 ホストでカウンター パフォーマンスの一覧を取得するには、typeperf コマンドを実行します。- sampleRate - カウンターをサンプリングする頻度。 オプションの属性: unit - カウンターの測定単位。 値は、UnitType クラスで使用できます。 |
sinks | 1\.5 で追加されました。 省略可能。 sink の場所を指定して、診断データも送信します。 たとえば、Azure Monitor や Event Hubs です。 なお、Event Hubs にアップロードするイベントにリソース ID を含めるには、Metrics 要素の下に resourceId プロパティを追加します。 |
WindowsEventLog 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - WindowsEventLog
Windows イベント ログの収集を有効にします。
オプションの scheduledTransferPeriod 属性。 前の説明を参照してください。
子要素 | 説明 |
---|---|
DataSource | 収集する Windows イベント ログ。 必須属性: name - 収集する Windows イベントを表す XPath クエリ。 次に例を示します。 Application!*[System[(Level <=3)]], System!*[System[(Level <=3)]], System!*[System[Provider[@Name='Microsoft Antimalware']]], Security!*[System[(Level <= 3)] すべてのイベントを収集するには、"*" を指定します。 |
sinks | 1\.5 で追加されました。 省略可能。 シンクの場所を指定すると共に、シンクをサポートするすべての子要素の診断データを送信します。 シンクの例に、Application Insights または Event Hubs があります。 |
Logs 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Logs
バージョン 1.0 および 1.1 に存在します。 1\.2 にはありません。 1\.3 で再び追加されています。
基本的な Azure ログのバッファー構成を定義します。
属性 | Type | 説明 |
---|---|---|
bufferQuotaInMB | unsignedInt | 省略可能。 指定されたデータに使用できるファイル システム ストレージの最大量を指定します。 既定値は 0 です。 |
scheduledTransferLogLevelFilter | string | 省略可能。 転送されるログ エントリの最小重大度レベルを指定します。 既定値は Undefined で、すべてのログを転送します。 他の有効値は、(情報量が多いものから順に) Verbose、Information、Warning、Error、Critical となります。 |
scheduledTransferPeriod | duration | 省略可能。 最も近い分単位の値に丸められた、スケジュールされているデータ転送の間隔を指定します。 既定値は PT0S です。 |
sinks | string | 1\.5 で追加されました。 省略可能。 sink の場所を指定して、診断データも送信します。 たとえば、Application Insights または Event Hubs があります。 なお、Event Hubs にアップロードするイベントにリソース ID を含めるには、Metrics 要素の下に resourceId プロパティを追加します。 |
DockerSources
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - DockerSources
1\.9 で追加。
要素名 | 説明 |
---|---|
Stats | Docker コンテナーの統計情報を収集するようにシステムに通知します。 |
SinksConfig 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig
診断データの送信先の一覧と、その場所に関連付けられている構成。
要素名 | 説明 |
---|---|
Sink | このページの他の場所の説明を参照してください。 |
Sink 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink
バージョン 1.5 で追加。
診断データの送信先を定義します。 Application Insights サービスなど。
属性 | Type | 説明 |
---|---|---|
name | string | シンク名を特定する文字列。 |
要素 | Type | 説明 |
---|---|---|
Application Insights | string | データを Application Insights に送信するときにのみ使用されます。 アクセス先のアクティブな Application Insights アカウントのインストルメンテーション キーが含まれます。 |
Channels | string | 追加フィルタリングごとに 1 つ |
Channels 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Channels
バージョン 1.5 で追加。
シンクを通過するログ データのストリームのフィルターを定義します。
要素 | Type | 説明 |
---|---|---|
Channel | string | このページの他の場所の説明を参照してください。 |
Channel 要素
ツリー: ルート - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Channels - Channel
バージョン 1.5 で追加。
診断データの送信先を定義します。 Application Insights サービスなど。
属性 | Type | 説明 |
---|---|---|
logLevel | string | 転送されるログ エントリの最小重大度レベルを指定します。 既定値は Undefined で、すべてのログを転送します。 他の有効値は、(情報量が多いものから順に) Verbose、Information、Warning、Error、Critical となります。 |
name | string | 参照するチャネルの一意の名前 |
PrivateConfig 要素
ツリー: ルート - DiagnosticsConfiguration - PrivateConfig
バージョン 1.3 で追加。
省略可能
ストレージ アカウントのプライベート詳細 (名前、キー、およびエンドポイント) を保存します。 この情報は仮想マシンに送信されますが、その仮想マシンから取得することはできません。
子要素 | 説明 |
---|---|
StorageAccount | 使用するストレージ アカウント。 次の属性は必須です - name - ストレージ アカウントの名前。 - key - ストレージ アカウントへのキー。 - endpoint - ストレージ アカウントにアクセスするためのエンドポイント。 -sasToken (1.8.1 で追加) - ストレージ アカウント キーの代わりに SAS トークンをプライベート構成に指定できます。指定した場合、ストレージ アカウント キーは無視されます。 SAS トークンの要件: - アカウント SAS トークンのみをサポート - bt のサービスの種類が必要です。 - acuw のアクセス許可が必要です。 - co のリソースの種類が必要です。 - HTTPS プロトコルのみをサポート - 開始時刻と有効期限を有効にする必要があります。 |
IsEnabled 要素
ツリー: ルート - DiagnosticsConfiguration - IsEnabled
Boolean です。 true
を使用して診断を有効にするか、false
を使用して診断を無効にします。
構成例
JSON と XML の両方の場合について Windows 用 Diagnostics 拡張機能の詳細な構成サンプルを次に示します。
JSON
JSON のユース ケースでは、ほとんどの場合、PublicConfig と PrivateConfig は異なる変数として渡されるため、これらを分けて示しています。 このようなケースとしては、Resource Manager テンプレート、PowerShell、Visual Studio があります。
Note
パブリック構成の Azure Monitor シンクの定義には、resourceId と region の 2 つのプロパティがあります。 これらは、クラシック VM と従来の Cloud Services のみに必要です。 region プロパティは、他のリソースには使用できません。ARM VM には、resourceId プロパティを使用して、Event Hubs にアップロードされるログの resourceID フィールドを入力します。
"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"
}
Note
プライベート構成の Azure Monitor シンクの定義には、PrincipalId と Secret の 2 つのプロパティがあります。 これらは、クラシック VM と従来の Cloud Services のみに必要です。 これらのプロパティを他のリソースに使用することはできません。
"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>
Note
パブリック構成の Azure Monitor シンクの定義には、resourceId と region の 2 つのプロパティがあります。 これらは、クラシック VM と従来の Cloud Services のみに必要です。 これらのプロパティは、Resource Manager 仮想マシンまたは Virtual Machine Scale Sets に使用しないでください。 また、プリンシパル ID とシークレットを渡す、Azure Monitor シンクの追加のプライベート構成要素もあります。 これは、クラシック VM と従来の Cloud Services のみに必要です。 Resource Manager VM と VMSSでは、プライベート構成要素の Azure Monitor 定義を除外できます。