Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Diagnostics adalah kemampuan dalam Azure yang memungkinkan pengumpulan data diagnostik pada aplikasi yang disebarkan. Anda dapat menggunakan ekstensi diagnostik untuk mengumpulkan data diagnostik seperti log aplikasi atau penghitung kinerja dari komputer virtual (VM) Azure yang menjalankan Windows.
Penting
Migrasi dari ekstensi Azure Diagnostic
Ekstensi Azure Diagnostics akan ditolak pada 31 Maret 2026. Setelah tanggal ini, Microsoft tidak akan lagi memberikan dukungan untuk ekstensi Diagnostik Azure.
Untuk memastikan dukungan dan akses berkelanjutan ke fitur baru, Anda harus bermigrasi dari ekstensi Diagnostik Azure untuk Linux (LAD) dan Windows (WAD) ke Agen Azure Monitor, yang dapat mengumpulkan data yang sama dan mengirimkannya ke beberapa tujuan termasuk ruang kerja Log Analytics, Azure Event Hubs, dan Azure Storage. Hapus LAD atau WAD setelah Anda mengonfigurasi Agen Azure Monitor untuk menghindari data duplikat.
Sebagai alternatif untuk penyimpanan, Anda harus mengirim data ke tabel dengan paket Tambahan di ruang kerja Analitik Log Anda untuk pengelogan hemat biaya.
Untuk memeriksa ekstensi mana yang diinstal pada satu VM, pilih Ekstensi + aplikasi di bawah Pengaturan pada VM Anda. Untuk meninjau ekstensi yang diinstal pada semua komputer virtual dalam langganan tempat Anda memiliki akses, gunakan kueri berikut di Azure Resource Graph:
resources
| where type contains "extension"
| extend parsedProperties = parse_json(properties)
| extend publisher = tostring(parsedProperties.publisher)
| project-away parsedProperties
| where publisher == "Microsoft.Azure.Diagnostics"
| distinct id
Ini menghasilkan hasil yang mirip dengan yang berikut ini:
Nota
Coba bantuan VM untuk diagnostik yang lebih cepat. Kami menyarankan agar Anda menjalankan VM assist untuk Windows atau VM assist untuk Linux. Alat diagnostik berbasis skrip ini membantu Anda mengidentifikasi masalah umum yang memengaruhi Agen Tamu Azure VM dan kesehatan VM secara keseluruhan.
Jika Anda mengalami masalah performa dengan komputer virtual, sebelum menghubungi dukungan, jalankan alat-alat ini.
Mengaktifkan ekstensi diagnostik jika Anda menggunakan model penyebaran Resource Manager
Anda dapat mengaktifkan ekstensi diagnostik saat membuat VM Windows melalui model penyebaran Azure Resource Manager dengan menambahkan konfigurasi ekstensi ke templat Resource Manager. Lihat Membuat komputer virtual Windows dengan pemantauan dan diagnostik dengan menggunakan templat Azure Resource Manager.
Untuk mengaktifkan ekstensi diagnostik pada VM yang ada yang dibuat melalui model penyebaran Resource Manager, Anda dapat menggunakan cmdlet PowerShell Set-AzVMDiagnosticsExtension seperti yang ditunjukkan di bawah ini.
$vm_resourcegroup = "myvmresourcegroup"
$vm_name = "myvm"
$diagnosticsconfig_path = "DiagnosticsPubConfig.xml"
Set-AzVMDiagnosticsExtension -ResourceGroupName $vm_resourcegroup -VMName $vm_name -DiagnosticsConfigurationPath $diagnosticsconfig_path
$diagnosticsconfig_path adalah jalur ke file yang berisi konfigurasi diagnostik di XML, seperti yang dijelaskan dalam sampel di bawah ini.
Jika file konfigurasi diagnostik menentukan elemen StorageAccount dengan nama akun penyimpanan, maka skrip Set-AzVMDiagnosticsExtension akan secara otomatis mengatur ekstensi diagnostik untuk mengirim data diagnostik ke akun penyimpanan tersebut. Agar ini berfungsi, akun penyimpanan harus berada dalam langganan yang sama dengan VM.
Jika tidak ada StorageAccount yang ditentukan dalam konfigurasi diagnostik, maka Anda perlu meneruskan parameter StorageAccountName ke cmdlet. Jika parameter StorageAccountName ditentukan, cmdlet akan selalu menggunakan akun penyimpanan yang ditentukan dalam parameter dan bukan yang ditentukan dalam file konfigurasi diagnostik.
Jika akun penyimpanan diagnostik berada dalam langganan yang berbeda dari VM, maka Anda perlu secara eksplisit meneruskan parameter StorageAccountName dan StorageAccountKey ke cmdlet. Parameter StorageAccountKey tidak diperlukan saat akun penyimpanan diagnostik berada dalam langganan yang sama, karena cmdlet dapat secara otomatis mengkueri dan mengatur nilai kunci saat mengaktifkan ekstensi diagnostik. Namun, jika akun penyimpanan diagnostik berada dalam langganan yang berbeda, cmdlet mungkin tidak dapat mendapatkan kunci secara otomatis dan Anda perlu secara eksplisit menentukan kunci melalui parameter StorageAccountKey .
Set-AzVMDiagnosticsExtension -ResourceGroupName $vm_resourcegroup -VMName $vm_name -DiagnosticsConfigurationPath $diagnosticsconfig_path -StorageAccountName $diagnosticsstorage_name -StorageAccountKey $diagnosticsstorage_key
Setelah ekstensi diagnostik diaktifkan pada VM, Anda bisa mendapatkan pengaturan saat ini dengan menggunakan cmdlet Get-AzVmDiagnosticsExtension .
Get-AzVMDiagnosticsExtension -ResourceGroupName $vm_resourcegroup -VMName $vm_name
Cmdlet mengembalikan PublicSettings, yang berisi konfigurasi diagnostik. Ada dua jenis konfigurasi yang didukung, WadCfg dan xmlCfg. WadCfg adalah konfigurasi JSON, dan xmlCfg adalah konfigurasi XML dalam format yang dikodekan Base64. Untuk membaca XML, Anda perlu mendekodekannya.
$publicsettings = (Get-AzVMDiagnosticsExtension -ResourceGroupName $vm_resourcegroup -VMName $vm_name).PublicSettings
$encodedconfig = (ConvertFrom-Json -InputObject $publicsettings).xmlCfg
$xmlconfig = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($encodedconfig))
Write-Host $xmlconfig
Cmdlet Remove-AzVmDiagnosticsExtension dapat digunakan untuk menghapus ekstensi diagnostik dari VM.
Mengaktifkan ekstensi diagnostik jika Anda menggunakan model penyebaran klasik
Penting
VM yang dibuat melalui model penyebaran klasik akan dihentikan pada 1 September 2023.
Jika Anda menggunakan sumber daya IaaS dari Azure Service Management, silakan selesaikan migrasi Anda pada 1 September 2023. Kami mendorong Anda untuk beralih lebih cepat untuk memanfaatkan banyak penyempurnaan fitur di Azure Resource Manager.
Untuk informasi selengkapnya, lihat Memigrasikan sumber daya IaaS Anda ke Azure Resource Manager pada 1 September 2023.
Anda dapat menggunakan Set-AzureVMDiagnosticsExtension cmdlet untuk mengaktifkan ekstensi diagnostik pada VM yang Anda buat melalui model penyebaran klasik. Contoh berikut menunjukkan cara membuat VM baru melalui model penyebaran klasik dengan ekstensi diagnostik diaktifkan.
$VM = New-AzureVMConfig -Name $VM -InstanceSize Small -ImageName $VMImage
$VM = Add-AzureProvisioningConfig -VM $VM -AdminUsername $Username -Password $Password -Windows
$VM = Set-AzureVMDiagnosticsExtension -DiagnosticsConfigurationPath $Config_Path -VM $VM -StorageContext $Storage_Context
New-AzVM -Location $Location -ServiceName $Service_Name -VM $VM
Untuk mengaktifkan ekstensi diagnostik pada VM yang ada yang dibuat melalui model penyebaran klasik, pertama-tama Get-AzureVM gunakan cmdlet untuk mendapatkan konfigurasi VM. Kemudian perbarui konfigurasi VM untuk menyertakan ekstensi diagnostik dengan menggunakan Set-AzureVMDiagnosticsExtension cmdlet. Terakhir, terapkan konfigurasi yang diperbarui ke VM dengan menggunakan Update-AzureVM.
$VM = Get-AzureVM -ServiceName $Service_Name -Name $VM_Name
$VM_Update = Set-AzureVMDiagnosticsExtension -DiagnosticsConfigurationPath $Config_Path -VM $VM -StorageContext $Storage_Context
Update-AzureVM -ServiceName $Service_Name -Name $VM_Name -VM $VM_Update.VM
Contoh konfigurasi diagnostik
XML berikut dapat digunakan untuk konfigurasi publik diagnostik dengan skrip di atas. Konfigurasi sampel ini akan mentransfer berbagai penghitung kinerja ke akun penyimpanan diagnostik, bersama dengan kesalahan dari aplikasi, keamanan, dan saluran sistem di log peristiwa Windows dan kesalahan apa pun dari log infrastruktur diagnostik.
Konfigurasi perlu diperbarui untuk menyertakan yang berikut ini:
Atribut resourceID dari elemen Metrik perlu diperbarui dengan ID sumber daya untuk VM.
ID sumber daya dapat dibangun dengan menggunakan pola berikut: "/subscriptions/{subscription ID untuk langganan dengan VM}/resourceGroups/{Nama grup sumber daya untuk VM}/providers/Microsoft.Compute/virtualMachines/{Nama VM}".
Misalnya, jika ID langganan untuk langganan tempat VM berjalan adalah 11111111-1111-1111-1111-11111111111111, nama grup sumber daya untuk grup sumber daya adalah MyResourceGroup, dan Nama VM adalah MyWindowsVM, maka nilai untuk resourceID adalah:
<Metrics resourceId="/subscriptions/11111111-1111-1111-1111-111111111111/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/MyWindowsVM" >Untuk informasi selengkapnya tentang bagaimana metrik dihasilkan berdasarkan penghitung kinerja dan konfigurasi metrik, lihat tabel metrik Azure Diagnostics di penyimpanan.
Elemen StorageAccount perlu diperbarui dengan nama akun penyimpanan diagnostik.
<?xml version="1.0" encoding="utf-8"?> <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration"> <WadCfg> <DiagnosticMonitorConfiguration overallQuotaInMB="4096"> <DiagnosticInfrastructureLogs scheduledTransferLogLevelFilter="Error"/> <PerformanceCounters scheduledTransferPeriod="PT1M"> <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Processor Time" sampleRate="PT15S" unit="Percent"> <annotation displayName="CPU utilization" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% Privileged Time" sampleRate="PT15S" unit="Percent"> <annotation displayName="CPU privileged time" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Processor(_Total)\% User Time" sampleRate="PT15S" unit="Percent"> <annotation displayName="CPU user time" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Processor Information(_Total)\Processor Frequency" sampleRate="PT15S" unit="Count"> <annotation displayName="CPU frequency" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\System\Processes" sampleRate="PT15S" unit="Count"> <annotation displayName="Processes" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Process(_Total)\Thread Count" sampleRate="PT15S" unit="Count"> <annotation displayName="Threads" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Process(_Total)\Handle Count" sampleRate="PT15S" unit="Count"> <annotation displayName="Handles" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Memory\% Committed Bytes In Use" sampleRate="PT15S" unit="Percent"> <annotation displayName="Memory usage" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Memory\Available Bytes" sampleRate="PT15S" unit="Bytes"> <annotation displayName="Memory available" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Memory\Committed Bytes" sampleRate="PT15S" unit="Bytes"> <annotation displayName="Memory committed" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Memory\Commit Limit" sampleRate="PT15S" unit="Bytes"> <annotation displayName="Memory commit limit" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Memory\Pool Paged Bytes" sampleRate="PT15S" unit="Bytes"> <annotation displayName="Memory paged pool" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\Memory\Pool Nonpaged Bytes" sampleRate="PT15S" unit="Bytes"> <annotation displayName="Memory non-paged pool" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\% Disk Time" sampleRate="PT15S" unit="Percent"> <annotation displayName="Disk active time" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\% Disk Read Time" sampleRate="PT15S" unit="Percent"> <annotation displayName="Disk active read time" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\% Disk Write Time" sampleRate="PT15S" unit="Percent"> <annotation displayName="Disk active write time" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Disk Transfers/sec" sampleRate="PT15S" unit="CountPerSecond"> <annotation displayName="Disk operations" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Disk Reads/sec" sampleRate="PT15S" unit="CountPerSecond"> <annotation displayName="Disk read operations" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Disk Writes/sec" sampleRate="PT15S" unit="CountPerSecond"> <annotation displayName="Disk write operations" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Disk Bytes/sec" sampleRate="PT15S" unit="BytesPerSecond"> <annotation displayName="Disk speed" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Disk Read Bytes/sec" sampleRate="PT15S" unit="BytesPerSecond"> <annotation displayName="Disk read speed" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Disk Write Bytes/sec" sampleRate="PT15S" unit="BytesPerSecond"> <annotation displayName="Disk write speed" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Avg. Disk Queue Length" sampleRate="PT15S" unit="Count"> <annotation displayName="Disk average queue length" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Avg. Disk Read Queue Length" sampleRate="PT15S" unit="Count"> <annotation displayName="Disk average read queue length" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\PhysicalDisk(_Total)\Avg. Disk Write Queue Length" sampleRate="PT15S" unit="Count"> <annotation displayName="Disk average write queue length" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\LogicalDisk(_Total)\% Free Space" sampleRate="PT15S" unit="Percent"> <annotation displayName="Disk free space (percentage)" locale="en-us"/> </PerformanceCounterConfiguration> <PerformanceCounterConfiguration counterSpecifier="\LogicalDisk(_Total)\Free Megabytes" sampleRate="PT15S" unit="Count"> <annotation displayName="Disk free space (MB)" locale="en-us"/> </PerformanceCounterConfiguration> </PerformanceCounters> <Metrics resourceId="(Update with resource ID for the VM)" > <MetricAggregation scheduledTransferPeriod="PT1H"/> <MetricAggregation scheduledTransferPeriod="PT1M"/> </Metrics> <WindowsEventLog scheduledTransferPeriod="PT1M"> <DataSource name="Application!*[System[(Level = 1 or Level = 2)]]"/> <DataSource name="Security!*[System[(Level = 1 or Level = 2)]"/> <DataSource name="System!*[System[(Level = 1 or Level = 2)]]"/> </WindowsEventLog> </DiagnosticMonitorConfiguration> </WadCfg> <StorageAccount>(Update with diagnostics storage account name)</StorageAccount> </PublicConfig>
Langkah selanjutnya
- Untuk panduan tambahan tentang menggunakan kemampuan Diagnostik Azure dan teknik lain untuk memecahkan masalah, lihat Mengaktifkan Diagnostik di Azure Cloud Services dan Virtual Machines.
- Skema konfigurasi diagnostik menjelaskan berbagai opsi konfigurasi XML untuk ekstensi diagnostik.