Bagikan melalui


Membuat aturan pengumpulan data (DCR) di Azure Monitor

Ada beberapa metode untuk membuat aturan pengumpulan data (DCR) di Azure Monitor. Dalam beberapa kasus, Azure Monitor akan membuat dan mengelola DCR sesuai dengan pengaturan yang Anda konfigurasi di portal Azure. Anda bahkan mungkin tidak menyadari bahwa Anda bekerja dengan DCR dalam beberapa kasus ini. Namun, untuk skenario lain, Anda mungkin perlu membuat DCR Anda sendiri atau mengedit yang sudah ada dengan langsung bekerja dengan definisi mereka di JSON. Artikel ini menjelaskan berbagai metode untuk membuat DCR dan rekomendasi tentang mengedit dan memecahkan masalahnya.

Nota

Artikel ini menjelaskan cara membuat dan mengedit DCR itu sendiri. Untuk membuat dan mengedit asosiasi aturan pengumpulan data, lihat Membuat dan mengelola asosiasi aturan pengumpulan data.

Hak akses

Anda memerlukan izin berikut untuk membuat DCR dan asosiasi DCR:

Peran bawaan Ruang Lingkup Alasan
Kontributor Pemantauan
  • Berlangganan dan/atau
  • Grup sumber daya dan/atau
  • DCR yang ada
Buat atau edit DCR, tetapkan aturan ke komputer, sebarkan asosiasi.
Kontributor Mesin Virtual
Administrator Sumber Daya Azure Connected Machine
  • Mesin virtual, set skala mesin virtual
  • Server dengan dukungan Azure Arc
Menyebarkan ekstensi agen pada VM (komputer virtual).
Peran apa pun yang menyertakan tindakan Microsoft.Resources/deployments/*
  • Berlangganan dan/atau
  • Grup sumber daya dan/atau
  • DCR yang ada
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.

Membuat atau mengedit DCR menggunakan portal Azure

portal Azure memberikan pengalaman yang disederhanakan untuk membuat DCR untuk skenario tertentu. Dengan menggunakan metode ini, Anda tidak perlu memahami struktur DCR, meskipun Anda mungkin terbatas dalam konfigurasi yang dapat Anda lakukan dan mungkin perlu mengedit definisi DCR nanti untuk mengimplementasikan fitur lanjutan seperti transformasi. Pengalaman akan bervariasi untuk setiap skenario, jadi lihat dokumentasi untuk skenario tertentu yang sedang Anda kerjakan seperti yang dijelaskan dalam tabel berikut.

Skenario Deskripsi
Mengaktifkan wawasan VM Saat Anda mengaktifkan Wawasan VM pada VM, agen Azure Monitor diinstal dan DCR dibuat dan dikaitkan dengan komputer virtual. DCR ini mengumpulkan serangkaian penghitung kinerja yang telah ditentukan sebelumnya dan tidak boleh dimodifikasi. Lihat Mengaktifkan Wawasan VM.
Mengumpulkan data klien dari VM Buat DCR di portal Azure menggunakan antarmuka terpandu untuk memilih sumber data yang berbeda dari sistem operasi klien VM. Contohnya termasuk peristiwa Windows, peristiwa Syslog, dan log teks. Agen Azure Monitor secara otomatis diinstal jika perlu, dan asosiasi dibuat antara DCR dan setiap VM yang Anda pilih. Lihat Mengumpulkan data dengan Agen Azure Monitor.
Ekspor metrik Buat DCR di portal Azure menggunakan antarmuka terpandu untuk memilih metrik dari berbagai jenis sumber daya yang akan dikumpulkan. Asosiasi dibuat antara DCR dan setiap sumber daya yang Anda pilih. Lihat Membuat aturan pengumpulan data (DCR) untuk ekspor metrik.
Pembuatan tabel Saat Anda membuat tabel baru di ruang kerja Analitik Log menggunakan portal Microsoft Azure, Anda mengunggah data sampel yang digunakan Azure Monitor untuk membuat DCR, termasuk transformasi, yang dapat digunakan dengan API Penyerapan Log. Anda tidak dapat mengubah DCR ini di portal Azure tetapi dapat memodifikasinya menggunakan salah satu metode yang dijelaskan dalam artikel ini. Lihat Membuat tabel kustom.
Pemantauan Kubernetes Untuk memantau kluster Kubernetes, Anda mengaktifkan Container Insights untuk log dan Prometheus untuk metrik. DCR untuk masing-masing dibuat dan dikaitkan dengan versi kontainer agen Azure Monitor di kluster. Anda mungkin perlu memodifikasi DCR wawasan Kontainer untuk menambahkan transformasi. Lihat Mengaktifkan pemantauan untuk kluster Kubernetes dan Transformasi data dalam wawasan Kontainer.
Transformasi ruang kerja DCR DCR transformasi ruang kerja menyediakan transformasi untuk skenario pengumpulan data yang belum menggunakan DCR. Anda dapat membuat DCR ini dengan menggunakan portal Azure untuk membuat transformasi untuk tabel tertentu. Lihat Membuat DCR transformasi ruang kerja.

Membuat atau mengedit DCR menggunakan JSON

Selain mengedit DCR yang ada, Anda dapat membuat yang baru 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.

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.

Setelah Anda memiliki definisi DCR, Anda dapat menyebarkannya ke Azure Monitor menggunakan templat portal Azure, CLI, PowerShell, API, atau ARM.

Petunjuk / Saran

Untuk melihat definisi JSON dari DCR, lihat Melihat definisi DCR.

Membuat atau mengedit DCR dengan CLI

Gunakan perintah az monitor data-collection rule create untuk membuat DCR dari file JSON Anda. Anda dapat menggunakan perintah yang sama ini untuk memperbarui DCR yang ada.

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.

Cuplikan layar yang memperlihatkan pesan kesalahan untuk DCR saat menggunakan perintah PowerShell.

Cuplikan layar yang memperlihatkan pesan kesalahan untuk DCR saat menggunakan API.

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

Menggunakan templat ARM untuk mengedit DCR di tempat

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.

  1. Pilih DCR yang ingin Anda ubah di portal Microsoft Azure, dan pilih Ekspor templat. Lalu klik Sebarkan untuk menyebarkan ulang templat yang sama.

    Cuplikan layar yang memperlihatkan opsi Ekspor templat untuk aturan pengumpulan data di portal Microsoft Azure.

  2. Klik Edit templat untuk membuka versi JSON yang dapat diedit untuk DCR. Jangan ubah nilai parameter.

    Cuplikan layar yang memperlihatkan opsi Edit templat untuk aturan pengumpulan data di portal Microsoft Azure.

  3. Buat perubahan yang diperlukan pada DCR lalu klik Simpan.

    Cuplikan layar yang memperlihatkan JSON yang dapat diedit untuk aturan pengumpulan data di portal Microsoft Azure.

  4. 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.

    Cuplikan layar yang memperlihatkan opsi tinjau + buat untuk aturan pengumpulan data di portal Microsoft Azure.

  5. Jika DCR valid tanpa kesalahan, penyebaran akan berhasil dan DCR akan diperbarui dengan konfigurasi baru. Klik Buka sumber daya untuk membuka DCR yang dimodifikasi.

    Cuplikan layar yang memperlihatkan penyebaran yang berhasil untuk aturan pengumpulan data di portal Microsoft Azure.

  6. 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.

    Cuplikan layar yang memperlihatkan penyebaran yang gagal untuk aturan pengumpulan data di portal Microsoft Azure.

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, mungkin sulit untuk menentukan akar penyebab masalah. Gunakan fitur pemantauan DCR , yang mencakup metrik dan log untuk membantu memecahkan 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.

Jika Anda tidak melihat data dikumpulkan, ikuti langkah-langkah dasar ini untuk memecahkan masalah.

  1. Periksa metrik seperti Logs Ingestion Bytes per Min dan Logs Rows Received per Min untuk memastikan bahwa data mencapai Azure Monitor. Jika tidak, periksa sumber data Anda untuk memastikan bahwa sumber data mengirim data seperti yang diharapkan.
  2. Periksa Logs Rows Dropped per Min untuk melihat apakah ada baris yang dihilangkan. Ini mungkin tidak menunjukkan kesalahan karena baris dapat dihilangkan oleh transformasi. Jika baris yang dihilangkan sama dengan Logs Rows Dropped per Min , maka tidak ada data yang diserap di ruang kerja. Periksa Logs Transformation Errors per Min untuk melihat apakah ada kesalahan transformasi.
  3. Periksa Logs Transformation Errors per Min untuk menentukan apakah ada kesalahan dari transformasi yang diterapkan ke data masuk. Ini bisa disebabkan oleh perubahan struktur data atau transformasi itu sendiri.
  4. DCRLogErrors Periksa tabel untuk setiap kesalahan penyerapan yang mungkin telah dicatat. Ini dapat memberikan detail tambahan dalam mengidentifikasi akar penyebab masalah.

Langkah selanjutnya