Bagikan melalui


Skema ekstensi diagnostik Windows

Ekstensi Diagnostik Azure adalah agen di Azure Monitor yang mengumpulkan data pemantauan dari sistem operasi tamu dan beban kerja sumber daya komputasi Azure. Artikel ini menjelaskan detail skema yang digunakan untuk konfigurasi ekstensi diagnostik pada komputer virtual Windows dan sumber daya komputasi lainnya.

Catatan

Skema dalam artikel ini berlaku untuk versi 1.3 dan yang lebih baru (Azure SDK 2.4 dan yang lebih baru). Bagian konfigurasi yang lebih baru dikomentari untuk menunjukkan dalam versi apa bagian konfigurasi tersebut ditambahkan. Versi 1.0 dan 1.2 skema telah diarsipkan dan tidak lagi tersedia.

Skema file konfigurasi publik

Unduh definisi skema file konfigurasi publik dengan menjalankan perintah PowerShell berikut:

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

Jenis Atribut Umum

Atribut scheduledTransferPeriod muncul di beberapa elemen. Ini adalah interval antara transfer terjadwal ke penyimpanan yang dibulatkan ke menit terdekat. Nilainya adalah "Jenis Data Durasi" XML.

Elemen DiagnosticsConfiguration

Tree: Root - DiagnosticsConfiguration

Ditambahkan dalam versi 1.3.

Elemen tingkat atas dari file konfigurasi diagnostik.

Attribute xmlns - Kumpulan nama XML untuk file konfigurasi diagnostik adalah:
http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration

Elemen Anak Deskripsi
PublicConfig Harus diisi. Lihat deskripsi di tempat lain di halaman ini.
PrivateConfig Opsional. Lihat deskripsi di tempat lain di halaman ini.
IsEnabled Boolean. Lihat deskripsi di tempat lain di halaman ini.

Elemen PublicConfig

Tree: Root - DiagnosticsConfiguration - PublicConfig

Menjelaskan konfigurasi diagnostik publik.

Elemen Anak Deskripsi
WadCfg Harus diisi. Lihat deskripsi di tempat lain di halaman ini.
StorageAccount Nama akun Azure Storage yang menjadi tempat untuk menyimpan data. Dapat juga ditentukan sebagai parameter saat mengeksekusi cmdlet Set-AzureServiceDiagnosticsExtension.
StorageType Bisa berupa Table, Blob, atau TableAndBlob. Table adalah default. Ketika TableAndBlob dipilih, data diagnostik ditulis dua kali -- sekali untuk setiap jenis.
LocalResourceDirectory Direktori pada komputer virtual tempat Agen Pemantauan menyimpan data peristiwa. Jika tidak disetel, direktori default digunakan:

Untuk peran Pekerja/web: C:\Resources\<guid>\directory\<guid>.<RoleName.DiagnosticStore\

Untuk Virtual Machines: C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics\<WADVersion>\WAD<WADVersion>

Atribut yang wajib diisi adalah:

- path - Direktori pada sistem yang akan digunakan oleh Diagnostik Azure.

- expandEnvironment - Mengontrol apakah variabel lingkungan diperluas dalam nama jalur.

Elemen WadCFG

Tree: Root - DiagnostikConfiguration - PublicConfig - WadCFG

Mengidentifikasi dan mengonfigurasi data telemetri yang akan dikumpulkan.

Elemen DiagnosticMonitorConfiguration

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration

Wajib

Atribut Deskripsi
overallQuotaInMB Jumlah maksimum ruang disk lokal yang dapat dikonsumsi oleh berbagai jenis data diagnostik yang dikumpulkan oleh Diagnostik Azure. Pengaturan defaultnya adalah 4096 MB.
useProxyServer Konfigurasikan Diagnostik Azure untuk menggunakan pengaturan server proksi sebagaimana diatur dalam pengaturan Internet Explorer.
sinks Ditambahkan dalam 1.5. Opsional. Mengarah ke lokasi sink untuk juga mengirim data diagnostik bagi semua elemen anak yang mendukung sink. Contoh sink adalah Application Insights atau Pusat Aktivitas. Ingat bahwa Anda perlu menambahkan properti resourceId di bawah elemen Metrik jika Anda ingin peristiwa yang diunggah ke Pusat Aktivitas memiliki ID sumber daya.



Elemen Anak Deskripsi
CrashDumps Lihat deskripsi di tempat lain di halaman ini.
DiagnosticInfrastructureLogs Memungkinkan kumpulan log yang dihasilkan oleh Diagnostik Azure. Log infrastruktur diagnostik berguna untuk memecahkan masalah sistem diagnostik itu sendiri. Atribut opsional adalah:

- scheduledTransferLogLevelFilter - Mengonfigurasi tingkat keparahan minimum dari log yang dikumpulkan.

- scheduledTransferPeriod - Interval antara transfer terjadwal ke penyimpanan yang dibulatkan ke menit terdekat. Nilainya adalah "Jenis Data Durasi" XML.
Direktori Lihat deskripsi di tempat lain di halaman ini.
EtwProviders Lihat deskripsi di tempat lain di halaman ini.
Metrik Lihat deskripsi di tempat lain di halaman ini.
PerformanceCounters Lihat deskripsi di tempat lain di halaman ini.
WindowsEventLog Lihat deskripsi di tempat lain di halaman ini.
DockerSources Lihat deskripsi di tempat lain di halaman ini.

Elemen CrashDumps

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - CrashDumps

Memungkinkan pengumpulan crash dump.

Atribut Deskripsi
containerName Opsional. Nama kontainer blob di akun Azure Storage Anda yang akan digunakan untuk menyimpan crash dump.
crashDumpType Opsional. Mengonfigurasi Diagnostik Azure untuk mengumpulkan crash dump mini atau penuh.
directoryQuotaPercentage Opsional. Mengonfigurasi persentase overallQuotaInMB yang akan disediakan untuk crash dump pada VM.
Elemen Anak Deskripsi
CrashDumpConfiguration Harus diisi. Menentukan nilai konfigurasi untuk setiap proses.

Atribut berikut juga wajib diisi:

processName - Nama proses yang Anda inginkan untuk Diagnostik Azure untuk mengumpulkan crash dump.

Elemen Directories

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories

Memungkinkan pengumpulan konten direktori, IIS gagal mengakses log permintaan dan/atau log IIS.

Atribut scheduledTransferPeriod opsional. Lihat penjelasan sebelumnya.

Elemen Anak Deskripsi
IISLogs Menyertakan elemen ini dalam konfigurasi memungkinkan pengumpulan log IIS:

containerName - Nama kontainer blob di akun Azure Storage Anda yang akan digunakan untuk menyimpan log IIS.
FailedRequestLogs Menyertakan elemen ini dalam konfigurasi memungkinkan pengumpulan log tentang permintaan yang gagal ke situs atau aplikasi IIS. Anda juga harus mengaktifkan opsi pelacakan di bawah sistem.WebServer di Web.config.
DataSources Daftar direktori untuk dipantau.

Elemen DataSources

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories - DataSources

Daftar direktori untuk dipantau.

Elemen Anak Deskripsi
DirectoryConfiguration Harus diisi. Atribut yang wajib diisi:

containerName - Nama kontainer blob di akun Azure Storage Anda yang akan digunakan untuk menyimpan file log.

Elemen DirectoryConfiguration

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Directories - DataSources - DirectoryConfiguration

Dapat menyertakan elemen Absolute atau LocalResource, tetapi tidak keduanya.

Elemen Anak Deskripsi
Absolute Jalur mutlak ke direktori untuk dipantau. Atribut berikut diperlukan:

- Path - Jalur mutlak ke direktori untuk dipantau.

- expandEnvironment - Mengonfigurasi apakah variabel lingkungan di Path diperluas.
LocalResource Jalur relatif terhadap sumber daya lokal untuk dipantau. Atribut yang wajib diisi adalah:

- Nama - Sumber daya lokal yang berisi direktori untuk dipantau

- relativePath - Jalur yang relatif terhadap Name yang berisi direktori untuk dipantau

Elemen EtwProviders

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders

Mengonfigurasi kumpulan peristiwa ETW dari EventSource dan/atau penyedia berbasis Manifes ETW.

Elemen Anak Deskripsi
EtwEventSourceProviderConfiguration Mengonfigurasi kumpulan peristiwa yang dihasilkan dari Kelas EventSource. Atribut yang wajib diisi:

provider - Nama kelas peristiwa EventSource.

Atribut opsional adalah:

- scheduledTransferLogLevelFilter - Tingkat keparahan minimum untuk ditransfer ke akun penyimpanan Anda.

- scheduledTransferPeriod - Interval antara transfer terjadwal ke penyimpanan yang dibulatkan ke menit terdekat. Nilainya adalah "Jenis Data Durasi" XML.
EtwManifestProviderConfiguration Atribut yang wajib diisi:

provider - GUID penyedia kejadian

Atribut opsional adalah:

- scheduledTransferLogLevelFilter - Tingkat keparahan minimum untuk ditransfer ke akun penyimpanan Anda.

- scheduledTransferPeriod - Interval antara transfer terjadwal ke penyimpanan yang dibulatkan ke menit terdekat. Nilainya adalah "Jenis Data Durasi" XML.

Elemen EtwEventSourceProviderConfiguration

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders- EtwEventSourceProviderConfiguration

Mengonfigurasi kumpulan peristiwa yang dihasilkan dari Kelas EventSource.

Elemen Anak Deskripsi
DefaultEvents Atribut opsional:

eventDestination - Nama tabel yang menjadi tempat menyimpan peristiwa
Kejadian Atribut yang wajib diisi:

id - Id peristiwa.

Atribut opsional:

eventDestination - Nama tabel yang menjadi tempat menyimpan peristiwa

Elemen EtwManifestProviderConfiguration

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - EtwProviders - EtwManifestProviderConfiguration

Elemen Anak Deskripsi
DefaultEvents Atribut opsional:

eventDestination - Nama tabel yang menjadi tempat menyimpan peristiwa
Kejadian Atribut yang wajib diisi:

id - Id peristiwa.

Atribut opsional:

eventDestination - Nama tabel yang menjadi tempat menyimpan peristiwa

Elemen Metrics

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Metrics

Memungkinkan Anda menghasilkan tabel penghitung kinerja yang dioptimalkan untuk kueri yang cepat. Setiap penghitung kinerja yang ditentukan dalam elemen PerformanceCounters disimpan dalam tabel Metrik selain tabel Penghitung Kinerja.

Atribut resourceId wajib diisi. ID sumber daya Dari Virtual Machines atau Set Skala Virtual Machines tempat Anda menyebarkan Diagnostik Azure. Dapatkan resourceID dari portal Azure. Pilih Telusuri ->Grup Sumber Daya -><Nama>. Klik bidang Properti dan salin nilai dari bidang ID. Properti resourceID ini digunakan untuk mengirim metrik kustom dan untuk menambahkan properti resourceID ke data yang dikirim ke Pusat Aktivitas. Ingat bahwa Anda perlu menambahkan properti resourceId di bawah elemen Metrik jika Anda ingin peristiwa yang diunggah ke Pusat Aktivitas memiliki ID sumber daya.

Elemen Anak Deskripsi
MetricAggregation Atribut yang wajib diisi:

scheduledTransferPeriod - Interval antara transfer terjadwal ke penyimpanan yang dibulatkan ke menit terdekat. Nilainya adalah "Jenis Data Durasi" XML.

Elemen PerformanceCounters

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - PerformanceCounters

Memungkinkan pengumpulan penghitung kinerja.

Atribut opsional:

Atribut scheduledTransferPeriod opsional. Lihat penjelasan sebelumnya.

Elemen Anak Deskripsi
PerformanceCounterConfiguration Atribut berikut diperlukan:

- counterSpecifier - Nama penghitung kinerja. Contohnya,\Processor(_Total)\% Processor Time. Untuk mendapatkan daftar penghitung kinerja di host Anda, jalankan perintah typeperf.

- sampleRate - Seberapa sering penghitung harus disampel.

Atribut opsional:

unit - Satuan ukuran penghitung. Nilai tersedia di Kelas UnitType
sinks Ditambahkan dalam 1.5. Opsional. Mengarah ke lokasi sink untuk juga mengirim data diagnostik. Misalnya, Azure Monitor atau Pusat Aktivitas. Ingat bahwa Anda perlu menambahkan properti resourceId di bawah elemen Metrik jika Anda ingin peristiwa yang diunggah ke Pusat Aktivitas memiliki ID sumber daya.

Elemen WindowsEventLog

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - WindowsEventLog

Memungkinkan pengumpulan Log Peristiwa Windows.

Atribut scheduledTransferPeriod opsional. Lihat penjelasan sebelumnya.

Elemen Anak Deskripsi
DataSource Log Peristiwa Windows yang akan dikumpulkan. Atribut yang wajib diisi:

name - Kueri JalurX yang menjelaskan peristiwa Windows yang akan dikumpulkan. Contohnya:

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

Untuk mengumpulkan semua peristiwa, tentukan "*"
sinks Ditambahkan dalam 1.5. Opsional. Mengarah ke lokasi sink untuk juga mengirim data diagnostik bagi semua elemen anak yang mendukung sink. Contoh sink adalah Application Insights atau Pusat Aktivitas.

Elemen Logs

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - Logs

Ada dalam versi 1.0 dan 1.1. Tidak ada dalam 1.2. Ditambahkan kembali dalam 1.3.

Menentukan konfigurasi buffer untuk log Azure dasar.

Atribut Tipe Deskripsi
bufferQuotaInMB unsignedInt Opsional. Menentukan jumlah maksimum penyimpanan sistem file yang tersedia untuk data yang ditentukan.

Defaultnya adalah 0.
scheduledTransferLogLevelFilter tali Opsional. Menentukan tingkat keparahan minimum untuk entri log yang ditransfer. Nilai defaultnya adalah Undefined, yang mentransfer semua log. Nilai lain yang mungkin (dalam urutan informasi paling banyak ke paling sedikit) Verbose, Information, Warning, Error, dan Critical.
scheduledTransferPeriod durasi Opsional. Menentukan interval antara transfer data terjadwal, yang dibulatkan ke atas ke menit terdekat.

Defaultnya adalah PT0S.
sinks tali Ditambahkan dalam 1.5. Opsional. Mengarah ke lokasi sink untuk juga mengirim data diagnostik. Misalnya, Application Insights atau Pusat Aktivitas. Ingat bahwa Anda perlu menambahkan properti resourceId di bawah elemen Metrik jika Anda ingin peristiwa yang diunggah ke Pusat Aktivitas memiliki ID sumber daya.

DockerSources

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - DiagnosticMonitorConfiguration - DockerSources

Ditambahkan dalam 1.9.

Nama Elemen Deskripsi
Stats Memberitahu sistem untuk mengumpulkan statistik untuk kontainer Docker

Elemen SinksConfig

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig

Daftar lokasi tempat mengirim data diagnostik dan konfigurasi yang terkait dengan lokasi tersebut.

Nama Elemen Deskripsi
Sink Lihat deskripsi di tempat lain di halaman ini.

Elemen Sink

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink

Ditambahkan dalam versi 1.5.

Menentukan lokasi tempat mengirim data diagnostik. Misalnya, layanan Application Insights.

Atribut Tipe Deskripsi
nama string String yang mengidentifikasi nama sink.
Elemen Tipe Deskripsi
Application Insights string Digunakan hanya saat mengirim data ke Application Insights. Berisi Kunci Instrumentasi untuk akun Application Insights aktif yang dapat Anda akses.
Saluran string Satu untuk setiap pemfilteran tambahan yang mengalir yang Anda

Elemen Saluran

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Channels

Ditambahkan dalam versi 1.5.

Menentukan filter untuk aliran log yang melewati sink.

Elemen Tipe Deskripsi
Channel string Lihat deskripsi di tempat lain di halaman ini.

Elemen Channel

Tree: Root - DiagnosticsConfiguration - PublicConfig - WadCFG - SinksConfig - Sink - Channels - Channel

Ditambahkan dalam versi 1.5.

Menentukan lokasi tempat mengirim data diagnostik. Misalnya, layanan Application Insights.

Atribut Tipe Deskripsi
logLevel tali Menentukan tingkat keparahan minimum untuk entri log yang ditransfer. Nilai defaultnya adalah Undefined, yang mentransfer semua log. Nilai lain yang mungkin (dalam urutan informasi paling banyak ke paling sedikit) Verbose, Information, Warning, Error, dan Critical.
nama tali Nama unik saluran yang dirujuk

Elemen PrivateConfig

Tree: Root - DiagnosticsConfiguration - PrivateConfig

Ditambahkan dalam versi 1.3.

Opsional

Menyimpan detail privat akun penyimpanan (nama, kunci, dan titik akhir). Informasi ini dikirim ke komputer virtual, tetapi tidak dapat diambil darinya.

Elemen Anak Deskripsi
StorageAccount Akun penyimpanan yang akan digunakan. Atribut berikut wajib diisi

- name - Nama akun penyimpanan.

- key - Kunci ke akun penyimpanan.

- endpoint - Titik akhir untuk mengakses akun penyimpanan.

-sasToken (ditambahkan 1.8.1)- Anda dapat menentukan token SAS alih-alih kunci akun penyimpanan di konfigurasi privat. Jika disediakan, kunci akun penyimpanan diabaikan.
Persyaratan untuk Token SAS:
- Hanya mendukung token SAS akun
- b, t jenis layanan diperlukan.
- a, c, u, w izin diperlukan.
- c, o jenis layanan diperlukan.
- Hanya mendukung protokol HTTPS
- Waktu mulai dan kedaluwarsa harus valid.

Elemen IsEnabled

Tree: Root - DiagnosticsConfiguration - IsEnabled

Boolean. Gunakan true untuk mengaktifkan diagnostik atau false untuk menonaktifkan diagnostik.

Konfigurasi contoh

Berikut ini adalah konfigurasi sampel lengkap untuk ekstensi diagnostik Windows yang ditampilkan di JSON dan XML.

JSON

PublicConfig dan PrivateConfig dipisahkan karena di sebagian besar kasus penggunaan JSON, keduanya diteruskan sebagai variabel yang berbeda. Kasus-kasus ini termasuk templat Resource Manager, PowerShell, dan Visual Studio.

Catatan

Definisi sink Azure Monitor konfigurasi publik memiliki dua properti, resourceId dan region. Ini hanya wajib diisi untuk VM Klasik dan layanan Cloud Klasik. Properti region tidak boleh digunakan untuk sumber daya lain, properti resourceId digunakan pada VM ARM untuk mengisi bidang resourceID dalam log yang diunggah ke Pusat Aktivitas.

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

Catatan

Definisi sink Azure Monitor konfigurasi privat memiliki dua properti, PrincipalId dan Secret. Ini hanya wajib diisi untuk VM Klasik dan layanan Cloud Klasik. Properti ini tidak boleh digunakan untuk sumber daya lain.

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

Catatan

Definisi sink Azure Monitor konfigurasi publik memiliki dua properti, resourceId dan region. Ini hanya wajib diisi untuk VM Klasik dan layanan Cloud Klasik. Properti ini tidak boleh digunakan untuk Virtual Machines Resource Manager atau Set Skala Virtual Machines. Ada juga elemen Konfigurasi Privat tambahan untuk sink Azure Monitor, yang meneruskan Principal Id dan Secret. Ini hanya wajib diisi untuk VM Klasik dan Layanan Cloud Klasik. Untuk VM Resource Manager dan VMSS, definisi Azure Monitor dalam elemen konfigurasi privat dapat dikecualikan.