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. 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 |
|
Buat atau edit DCR, tetapkan aturan ke komputer, sebarkan asosiasi. |
|
Kontributor Mesin Virtual Administrator Sumber Daya Azure Connected Machine |
|
Menyebarkan ekstensi agen pada VM (komputer virtual). |
| 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.
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.
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.
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, 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.
- 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.