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.
Ada beberapa metode untuk membuat aturan pengumpulan data (DCR) di Azure Monitor. Untuk banyak skenario, Anda dapat menggunakan portal Microsoft Azure untuk membuat DCR tanpa memahami struktur definisi DCR. Namun, untuk skenario lain, Anda mungkin perlu membuat DCR Anda sendiri atau mengedit yang sudah ada dengan langsung bekerja dengan definisi mereka di JSON. Ini mungkin untuk menggunakan fitur lanjutan seperti transformasi atau untuk menggunakan alat baris perintah untuk membuat dan mengelola DCR.
Peringatan
Jika Anda mengedit aturan pengumpulan data (DCR) yang ada menggunakan portal Microsoft Azure, aturan tersebut akan menimpa perubahan apa pun yang dibuat dengan mengedit JSON DCR secara langsung jika fitur tersebut tidak didukung di portal. Misalnya, jika Anda menambahkan transformasi ke DCR untuk sumber data yang tidak memungkinkan transformasi dibuat di portal, transformasi tersebut akan dihapus jika Anda kemudian mengedit DCR di portal. Dalam hal ini, Anda harus terus membuat perubahan apa pun pada DCR dengan mengedit JSON secara langsung.
Hak akses
Anda memerlukan izin berikut untuk membuat DCR:
| Peran bawaan | Ruang Lingkup | Alasan |
|---|---|---|
| Kontributor Pemantauan |
|
Buat atau edit DCR, tetapkan aturan ke komputer, sebarkan asosiasi. |
| Peran apa pun yang menyertakan tindakan Microsoft.Resources/deployments/* |
|
Menyebarkan templat Azure Resource Manager. |
Penting
Buat DCR Anda di wilayah yang sama dengan ruang kerja Analitik Log tujuan atau ruang kerja Azure Monitor Anda. Anda dapat mengaitkan DCR ke komputer atau kontainer dari langganan atau grup sumber daya apa pun di penyewa. Untuk mengirim data antarpenyewa, Anda harus terlebih dahulu mengaktifkan Azure Lighthouse.
Definisi DCR
Alih-alih membuat definisi DCR dari awal, mulailah dengan DCR yang Anda buat di portal Microsoft Azure dan unduh definisi JSON-nya untuk dimodifikasi. Atau Anda dapat menggunakan salah satu DCR sampel yang menyediakan JSON untuk beberapa skenario umum. Gunakan informasi dalam Struktur aturan pengumpulan data di Azure Monitor untuk mengubah file JSON untuk lingkungan dan persyaratan tertentu Anda.
Untuk melihat definisi JSON dari DCR, lihat Melihat definisi DCR.
Membuat atau mengedit DCR
Setelah Anda memiliki definisi DCR, Anda dapat menyebarkannya ke Azure Monitor menggunakan salah satu metode berikut. Ini adalah metode yang sama untuk membuat DCR baru atau mengedit yang sudah ada.
Membuat atau mengedit DCR dengan CLI
Gunakan perintah az monitor data-collection rule create untuk membuat DCR dari file JSON Anda.
az monitor data-collection rule create --location 'eastus' --resource-group 'my-resource-group' --name 'my-dcr' --rule-file 'C:\MyNewDCR.json' --description 'This is my new DCR'
Nota
Meskipun Anda dapat memilih untuk menggunakan perintah PowerShell atau CLI untuk membuat dan mengedit DCR, metode API dan ARM akan memberikan pesan kesalahan yang lebih rinci jika ada kesalahan kompilasi.
Dalam contoh berikut, DCR menentukan nama tabel yang tidak ada di ruang kerja Analitik Log tujuan. Perintah PowerShell mengembalikan pesan kesalahan generik, tetapi panggilan API akan mengembalikan pesan kesalahan terperinci yang menentukan kesalahan yang tepat.
Strategi untuk mengedit dan menguji DCR
Saat Anda membuat atau mengedit DCR menggunakan definisi JSON-nya, Anda sering kali perlu membuat beberapa pembaruan untuk mencapai fungsionalitas yang Anda inginkan. Anda memerlukan metode yang efisien untuk memperbarui DCR, memecahkan masalahnya jika Anda tidak mendapatkan hasil yang Anda harapkan, lalu membuat pembaruan tambahan. Ini terutama berlaku jika Anda menambahkan transformasi ke DCR karena Anda harus memvalidasi bahwa kueri berfungsi seperti yang diharapkan. Karena Anda tidak dapat mengedit JSON secara langsung di portal Azure, berikut adalah beberapa strategi yang dapat Anda gunakan.
Menggunakan file lokal sebagai sumber DCR
Jika Anda menggunakan file JSON lokal sebagai sumber DCR yang Anda buat dan edit, Anda yakin bahwa Anda selalu memiliki akses ke versi terbaru definisi DCR. Ini sangat ideal jika Anda ingin menggunakan alat kontrol versi seperti GitHub atau Azure DevOps untuk mengelola perubahan Anda. Anda juga dapat menggunakan editor seperti Visual Studio Code untuk membuat perubahan pada DCR lalu menggunakan alat baris perintah untuk memperbarui DCR di Azure Monitor seperti yang dijelaskan di atas.
Berikut ini adalah contoh skrip PowerShell yang dapat Anda gunakan untuk mendorong perubahan ke DCR dari file sumber. Ini memvalidasi bahwa file sumber adalah JSON yang valid sebelum mengirimkannya ke Azure Monitor.
param (
[Parameter(Mandatory = $true)][string]$ResourceId, # Resource ID of the DCR
[Parameter(Mandatory = $true)][string]$FilePath # Path to the DCR JSON file to upload
)
# Read the DCR content from the file
Write-Host "Reading new DCR content from: $FilePath" -ForegroundColor Green
$DCRContent = Get-Content $FilePath -Raw
# Ensure the DCR content is valid JSON
try {
$ParsedDCRContent = $DCRContent | ConvertFrom-Json
} catch {
Write-Host "Invalid JSON content in file: $FilePath" -ForegroundColor Red
exit 1
}
# Create or update the DCR in the specified resource group
Write-Host "Deploying DCR $ResourceId ..." -ForegroundColor Green
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent
Simpan konten DCR ke file sementara
Jika Anda tidak memiliki definisi DCR dalam file lokal, Anda dapat mengambil definisi dari Azure Monitor dan menyimpannya ke file sementara. Anda kemudian dapat mengedit file menggunakan editor seperti Visual Studio Code sebelum mendorong pembaruan ke Azure Monitor.
Berikut ini adalah contoh skrip PowerShell yang dapat Anda gunakan untuk mengedit DCR yang sudah ada di Azure Monitor. Skrip akan mengambil definisi DCR dan menyimpannya ke file sementara sebelum meluncurkan Visual Studio Code. Setelah Anda menunjukkan ke skrip bahwa Anda telah menyimpan perubahan, DCR diperbarui dengan konten baru dan file sementara dihapus.
param ([Parameter(Mandatory=$true)] $ResourceId)
# Get DCR content and save it to a local file
$FilePath = "temp.dcr"
$DCR = Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method GET
$DCR.Content | ConvertFrom-Json | ConvertTo-Json -Depth 20 | Out-File $FilePath
# Open DCR in code editor
code $FilePath | Wait-Process
{
#write DCR content back from the file
$DCRContent = Get-Content $FilePath -Raw
Invoke-AzRestMethod -Path ("$ResourceId"+"?api-version=2023-03-11") -Method PUT -Payload $DCRContent
}
#Delete temporary file
Remove-Item $FilePath
Gunakan templat ARM untuk mengedit DCR langsung di tempatnya
Jika Anda ingin melakukan pengeditan sepenuhnya di portal Microsoft Azure, Anda dapat menggunakan fitur Ekspor templat untuk mengambil templat ARM untuk DCR. Anda kemudian dapat memodifikasi definisi di JSON dan menyebarkannya kembali di portal Azure.
Pilih DCR yang ingin Anda ubah di portal Microsoft Azure, dan pilih Ekspor templat. Lalu klik Sebarkan untuk menyebarkan ulang templat yang sama.
Klik Edit templat untuk membuka versi JSON yang dapat diedit untuk DCR. Jangan ubah nilai parameter.
Buat perubahan yang diperlukan pada DCR lalu klik Simpan.
Jika Anda ingin membuat DCR baru, ubah parameter nama. Jika tidak, biarkan parameter tidak berubah. Klik Tinjau + buat untuk menyebarkan templat yang dimodifikasi dan Buat untuk membuat DCR baru.
Jika DCR valid tanpa kesalahan, penyebaran akan berhasil dan DCR akan diperbarui dengan konfigurasi baru. Klik Buka sumber daya untuk membuka DCR yang dimodifikasi.
Jika DCR memiliki kesalahan kompilasi, maka Anda akan menerima pesan bahwa penyebaran Anda gagal. Klik Detail kesalahan dan Detail operasi untuk melihat detail kesalahan. Klik Sebarkan ulang lalu Edit templat lagi untuk membuat perubahan yang diperlukan pada DCR lalu simpan dan sebarkan lagi.
Memverifikasi dan memecahkan masalah pengumpulan data
Setelah Anda menginstal DCR, mungkin perlu beberapa menit agar perubahan diterapkan dan data dikumpulkan dengan DCR yang diperbarui. Jika Anda tidak melihat data apa pun yang dikumpulkan, gunakan fitur pemantauan DCR , yang mencakup metrik dan log untuk membantu pemecahan masalah.
Metrik DCR dikumpulkan secara otomatis untuk semua DCR, dan Anda dapat menganalisisnya menggunakan penjelajah metrik seperti metrik platform untuk sumber daya Azure lainnya. Aktifkan log kesalahan DCR untuk mendapatkan informasi kesalahan terperinci saat pemrosesan data tidak berhasil.
- Periksa metrik seperti
Logs Ingestion Bytes per MindanLogs Rows Received per Minuntuk memastikan bahwa data mencapai Azure Monitor. Jika tidak, periksa sumber data Anda untuk memastikan bahwa sumber data mengirim data seperti yang diharapkan. - Periksa
Logs Rows Dropped per Minuntuk melihat apakah ada baris yang dihilangkan. Ini mungkin tidak menunjukkan kesalahan karena baris dapat dihilangkan oleh transformasi. Jika baris yang dihilangkan sama denganLogs Rows Dropped per Min, maka tidak ada data yang diserap di ruang kerja. PeriksaLogs Transformation Errors per Minuntuk melihat apakah ada kesalahan transformasi. - Periksa
Logs Transformation Errors per Minuntuk menentukan apakah ada kesalahan dari transformasi yang diterapkan ke data masuk. Ini bisa disebabkan oleh perubahan struktur data atau transformasi itu sendiri. -
DCRLogErrorsPeriksa tabel untuk setiap kesalahan penyerapan yang mungkin telah dicatat. Ini dapat memberikan detail tambahan dalam mengidentifikasi akar penyebab masalah.