Membuat pengaturan diagnostik dalam skala besar menggunakan Kebijakan dan Inisiatif Azure

Untuk memantau sumber daya Azure, anda perlu membuat pengaturan diagnostik untuk setiap sumber daya. Proses ini bisa sulit dikelola ketika Anda memiliki banyak sumber daya. Untuk menyederhanakan proses pembuatan dan penerapan pengaturan diagnostik dalam skala besar, gunakan Azure Policy untuk secara otomatis menghasilkan pengaturan diagnostik untuk sumber daya baru dan yang sudah ada.

Setiap jenis sumber daya Azure memiliki sekumpulan kategori unik yang tercantum dalam pengaturan diagnostik. Oleh karena itu, setiap jenis sumber daya memerlukan definisi kebijakan terpisah. Beberapa jenis sumber daya memiliki definisi kebijakan bawaan yang dapat Anda tetapkan tanpa modifikasi. Untuk jenis sumber daya lainnya, Anda dapat membuat definisi kustom.

Grup kategori log

Grup kategori log, kelompokkan jenis log yang sama. Grup kategori memudahkan untuk merujuk ke beberapa log dalam satu perintah. Grup kategori allLogs ada yang berisi semua log. Ada juga grup kategori audit yang mencakup semua log audit. Dengan menggunakan ke grup kategori, Anda dapat menentukan kebijakan yang diperbarui secara dinamis saat kategori log baru ditambahkan ke grup.

Definisi kebijakan bawaan untuk Azure Monitor

Umumnya ada tiga definisi kebijakan bawaan untuk setiap jenis sumber daya, sesuai dengan tiga tujuan untuk mengirim diagnostik ke:

  • Ruang Kerja Log Analytics
  • Akun Azure Storage
  • Event hubs

Tetapkan kebijakan untuk jenis sumber daya sesuai dengan tujuan mana yang Anda butuhkan.

Serangkaian kebijakan dan inisiatif bawaan berdasarkan grup kategori log audit telah dikembangkan untuk membantu Anda menerapkan pengaturan diagnostik hanya dengan beberapa langkah. Untuk informasi selengkapnya, lihat Mengaktifkan pengaturan Diagnostik menurut grup kategori menggunakan kebijakan bawaan.

Untuk daftar lengkap kebijakan bawaan untuk Azure Monitor, lihat Definisi bawaan Azure Policy untuk Azure Monitor

Definisi kebijakan kustom

Untuk jenis sumber daya yang tidak memiliki kebijakan bawaan, Anda perlu membuat definisi kebijakan kustom. Anda dapat membuat kebijakan baru secara manual di portal Azure dengan menyalin kebijakan bawaan yang ada lalu memodifikasinya untuk jenis sumber daya Anda. Atau, buat kebijakan secara terprogram dengan menggunakan skrip di Galeri PowerShell.

Skrip Create-AzDiagPolicy membuat file kebijakan untuk jenis sumber daya tertentu yang dapat Anda pasang menggunakan PowerShell atau Azure CLI. Gunakan prosedur berikut untuk membuat definisi kebijakan kustom untuk pengaturan diagnostik:

  1. Pastikan Anda telah menginstal Azure PowerShell.

  2. Pasang skrip dengan menggunakan perintah berikut:

    Install-Script -Name Create-AzDiagPolicy
    
  3. Jalankan skrip menggunakan parameter untuk menentukan di mana mengirim log. Anda akan diminta untuk menentukan tipe langganan dan sumber daya.

    Misalnya, untuk membuat definisi kebijakan yang dikirim ke ruang kerja Analitik Log dan Event Hub, gunakan perintah berikut:

    Create-AzDiagPolicy.ps1 -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    

    Atau, Anda dapat menentukan jenis langganan dan sumber daya dalam perintah. Misalnya, untuk membuat definisi kebijakan yang dikirim ke ruang kerja Analitik Log dan Event Hub untuk database SQL Server, gunakan perintah berikut:

    Create-AzDiagPolicy.ps1 -SubscriptionID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ResourceType Microsoft.Sql/servers/databases  -ExportLA -ExportEH -ExportDir ".\PolicyFiles"  
    
  4. Skrip membuat folder terpisah untuk setiap definisi kebijakan. Setiap folder berisi tiga file bernama azurepolicy.json, azurepolicy.rules.json, and azurepolicy.parameters.json. Jika Anda ingin membuat kebijakan secara manual di portal Microsoft Azure, Anda dapat menyalin dan menempelkan konten azurepolicy.json karena menyertakan seluruh definisi kebijakan. Gunakan dua file lain dengan PowerShell atau Azure CLI untuk membuat definisi kebijakan dari baris perintah.

    Contoh berikut menunjukkan cara memasang definisi kebijakan dari PowerShell dan Azure CLI. Masing-masing contoh mencakup metadata untuk menentukan kategori Pemantauan untuk mengelompokkan definisi kebijakan baru dengan definisi kebijakan bawaan.

    New-AzPolicyDefinition -name "Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace" -policy .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json -parameter .\Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json -mode All -Metadata '{"category":"Monitoring"}'
    
    az policy definition create --name 'deploy-diag-setting-sql-database--workspace' --display-name 'Deploy Diagnostic Settings for SQL Server database to Log Analytics workspace'  --rules 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.rules.json' --params 'Apply-Diag-Settings-LA-Microsoft.Sql-servers-databases\azurepolicy.parameters.json' --subscription 'AzureMonitor_Docs' --mode All
    

Inisiatif

Daripada membuat tugas untuk setiap definisi kebijakan, strategi umum adalah membuat inisiatif yang menyertakan definisi kebijakan untuk membuat pengaturan diagnostik untuk setiap layanan Azure. Buat tugas antara inisiatif dan grup manajemen, langganan, atau grup sumber daya tergantung cara Anda mengelola lingkungan. Strategi ini menawarkan manfaat berikut:

  • Buat satu tugas untuk inisiatif sebagai gantinya beberapa tugas untuk setiap jenis sumber daya. Gunakan inisiatif yang sama untuk beberapa grup pemantauan, langganan, atau grup sumber daya.
  • Ubah inisiatif saat Anda perlu menambahkan tipe atau tujuan sumber daya baru. Misalnya, persyaratan awal Anda mungkin hanya mengirim data ke ruang kerja Analitik Log, tetapi nanti Anda ingin menambahkan Event Hub. Ubah inisiatif daripada membuat tugas baru.

Untuk detail pembuatan inisiatif, lihat Membuat dan menetapkan definisi inisiatif. Pertimbangkan rekomendasi berikut:

  • Atur Kategori ke Pemantauan untuk mengelompokkannya dengan definisi kebijakan bawaan dan kustom terkait.
  • Alih-alih menentukan detail untuk ruang kerja Analitik Log dan Event Hub untuk definisi kebijakan yang disertakan dalam inisiatif, gunakan parameter inisiatif umum. Parameter ini memungkinkan Anda untuk dengan mudah menentukan nilai umum untuk semua definisi kebijakan dan mengubah nilai itu jika perlu.

Screenshot that shows settings for initiative definition.

Penugasan

Tetapkan inisiatif ke grup manajemen Azure, langganan, atau grup sumber daya tergantung pada lingkup sumber daya Anda untuk dipantau. Grup manajemen sangat berguna untuk kebijakan pencakupan, terutama jika organisasi Anda memiliki beberapa langganan.

Screenshot of the settings for the Basics tab in the Assign initiative section of the Diagnostic settings to Log Analytics workspace in the Azure portal.

Dengan menggunakan parameter inisiatif, Anda dapat menentukan ruang kerja atau detail lainnya sekali untuk semua definisi kebijakan dalam inisiatif.

Screenshot that shows initiative parameters on the Parameters tab.

Remediasi

Inisiatif akan diterapkan ke setiap komputer virtual saat dibuat. Tugas remediasi menyebarkan definisi kebijakan dalam inisiatif ke sumber daya yang ada, jadi Anda dapat membuat pengaturan diagnostik untuk sumber daya apa pun yang sudah dibuat.

Saat Anda membuat tugas menggunakan portal Microsoft Azure, Anda memiliki opsi untuk membuat tugas remediasi secara bersamaan. Lihat Remidiasi sumber daya yang tidak mematuhi Azure Policy untuk detail tentang remidiasi.

Screenshot that shows initiative remediation for a Log Analytics workspace.

Pemecahan Masalah

Kategori metrik tidak didukung

Saat menerapkan pengaturan diagnostik, Anda menerima pesan kesalahan, kurang lebih seperti Kategori metrik 'xxxx' tidak didukung. Anda dapat menerima kesalahan ini meskipun sebelumnya penyebaran Anda berhasil.

Masalah terjadi saat menggunakan templat Azure Resource Manager, pengaturan diagnostik REST API, Azure CLI atau Azure PowerShell. Pengaturan diagnostik yang dibuat melalui portal Azure tidak terpengaruh karena hanya nama kategori yang didukung yang disajikan.

Masalahnya disebabkan oleh perubahan terbaru pada API yang mendasarinya. Kategori metrik selain 'AllMetrics' tidak didukung dan tidak pernah ada kecuali untuk beberapa layanan Azure tertentu. Sebelumnya, nama kategori lain diabaikan saat menyebarkan pengaturan diagnostik. Backend Azure Monitor hanya mengarahkan kategori ini ke 'AllMetrics'. Mulai Februari 2021, backend diperbarui untuk secara khusus mengonfirmasi bahwa kategori metrik yang diberikan akurat. Perubahan ini menyebabkan beberapa penyebaran gagal.

Jika Anda menerima kesalahan ini, perbarui penyebaran Anda untuk mengganti nama kategori metrik apa pun dengan 'AllMetrics' untuk memperbaiki masalah. Jika penyebaran sebelumnya menambahkan beberapa kategori, hanya satu dengan referensi 'AllMetrics' yang harus disimpan. Jika Anda terus mengalami masalah, hubungi dukungan Azure melalui portal Microsoft Azure.

Pengaturan menghilang karena karakter non-ASCII di resourceID

Pengaturan diagnostik tidak mendukung resourceID dengan karakter non-ASCII (misalnya, Preproducción). Karena Anda tidak dapat mengganti nama sumber daya di Azure, satu-satunya opsi Anda adalah membuat sumber daya baru tanpa karakter non-ASCII. Jika karakter berada dalam grup sumber daya, Anda dapat memindahkan sumber daya di bawahnya ke grup yang baru. Jika tidak, Anda harus membuat ulang sumber daya.

Langkah berikutnya