Bagikan melalui


Memantau dan memecahkan masalah pengumpulan data DCR di Azure Monitor

Artikel ini menyediakan metrik dan log terperinci yang dapat Anda gunakan untuk memantau performa dan memecahkan masalah apa pun yang terkait dengan pengumpulan data di Azure Monitor. Telemetri ini saat ini tersedia untuk skenario pengumpulan data yang ditentukan oleh aturan pengumpulan data (DCR) seperti agen Azure Monitor dan API penyerapan Log.

Penting

Artikel ini hanya mengacu pada skenario pengumpulan data yang menggunakan DCR, termasuk yang berikut ini:

Lihat dokumentasi untuk skenario lain untuk informasi pemantauan dan pemecahan masalah apa pun yang mungkin tersedia.

Fitur diagnostik DCR mencakup metrik dan log kesalahan yang dikeluarkan selama pemrosesan log. Metrik DCR memberikan informasi tentang volume data yang diserap, jumlah dan sifat kesalahan pemrosesan apa pun, dan statistik yang terkait dengan transformasi data. Log kesalahan DCR dihasilkan kapan saja pemrosesan data tidak berhasil dan data tidak mencapai tujuannya.

Log Kesalahan DCR

Log kesalahan dihasilkan ketika data mencapai alur penyerapan Azure Monitor tetapi gagal mencapai tujuannya. Contoh kondisi kesalahan meliputi:

  • Kesalahan pengiriman log
  • Kesalahan transformasi di mana struktur log membuat transformasi KQL tidak valid
  • Panggilan API Penyerapan Log:
    • dengan respons HTTP selain 200/202
    • dengan payload yang berisi data cacat
    • dengan payload selama batas penyerapan apa pun
    • pembatasan karena kelebihan batas panggilan API

Untuk menghindari pengelogan berlebihan dari kesalahan persisten yang terkait dengan aliran data yang sama, beberapa kesalahan hanya akan dicatat dalam jumlah terbatas setiap jam diikuti oleh pesan kesalahan ringkasan. Kesalahan kemudian dibisukan hingga akhir jam. Berapa kali kesalahan tertentu dicatat dapat bervariasi tergantung pada wilayah tempat DCR disebarkan.

Beberapa kesalahan penyerapan log tidak akan dicatat karena tidak dapat dikaitkan dengan DCR. Kesalahan berikut mungkin tidak dicatat:

  • Kegagalan yang disebabkan oleh URI panggilan cacat (kode respons HTTP 404)
  • Kesalahan server internal tertentu (kode respons HTTP 500)

Mengaktifkan log kesalahan DCR

Log kesalahan DCR diimplementasikan sebagai log sumber daya di Azure Monitor. Aktifkan pengumpulan log dengan membuat pengaturan diagnostik untuk DCR. Setiap DCR akan memerlukan pengaturan diagnostiknya sendiri. Lihat Membuat pengaturan diagnostik di Azure Monitor untuk proses terperinci. Pilih kategori Kesalahan Log dan Kirim ke ruang kerja Analitik Log. Anda mungkin ingin memilih ruang kerja yang sama yang digunakan oleh DCR, atau Anda mungkin ingin mengonsolidasikan semua log kesalahan Anda dalam satu ruang kerja.

Mengambil log kesalahan DCR

Log kesalahan ditulis ke tabel DCRLogErrors di ruang kerja Analitik Log yang Anda tentukan dalam pengaturan diagnostik. Berikut ini adalah contoh kueri yang dapat Anda gunakan di Analitik Log untuk mengambil log ini.

Mengambil semua log kesalahan untuk DCR tertentu

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"

Mengambil semua log kesalahan untuk aliran input tertentu dalam DCR tertentu

DCRLogErrors
| where _ResourceId == "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/microsoft.insights/datacollectionrules/my-dcr"
| where InputStream == "Custom-MyTable_CL"

Metrik DCR

Metrik DCR dikumpulkan secara otomatis untuk semua DCR, dan Anda dapat menganalisisnya menggunakan penjelajah metrik seperti metrik platform untuk sumber daya Azure lainnya. Aliran input disertakan sebagai dimensi sehingga jika Anda memiliki DCR dengan beberapa aliran input, Anda dapat menganalisis masing-masing dengan memfilter atau memisahkan. Beberapa metrik menyertakan dimensi lain seperti yang ditunjukkan pada tabel di bawah ini.

Metric Dimensi Deskripsi
Byte Penyerapan Log per Menit Aliran Input Jumlah total byte yang diterima per menit.
Permintaan Penyerapan Log per Menit Aliran input
Kode respons HTTP
Jumlah panggilan yang diterima per menit
Baris Log Dihilangkan per Menit Aliran input Jumlah baris log yang dihilangkan selama pemrosesan per menit. Ini termasuk baris yang dihilangkan karena kriteria pemfilteran dalam transformasi KQL dan baris yang dihilangkan karena kesalahan.
Baris Log Diterima per Menit Aliran input Jumlah baris log yang diterima untuk diproses per menit.
Durasi Transformasi Log per Menit Aliran input Runtime transformasi KQL rata-rata per menit. Mewakili efisiensi kode transformasi KQL. Aliran data dengan waktu proses transformasi yang lebih lama dapat mengalami keterlambatan dalam pemrosesan data dan latensi data yang lebih besar.
Kesalahan Transformasi Log per Menit Aliran input
Jenis kesalahan
Jumlah kesalahan pemrosesan yang ditemui per menit

Pemecahan masalah umum

Jika Anda kehilangan data yang diharapkan di ruang kerja Analitik Log, ikuti langkah-langkah dasar ini untuk memecahkan masalah. Ini mengasumsikan bahwa Anda mengaktifkan pengelogan DCR seperti yang dijelaskan di atas.

  • 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.
  • 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 akan diserap di ruang kerja. Periksa Logs Transformation Errors per Min untuk melihat apakah ada kesalahan transformasi.
  • 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.
  • Periksa DCRLogErrors kesalahan penyerapan yang mungkin telah dicatat. Ini dapat memberikan detail tambahan dalam mengidentifikasi akar penyebab masalah.

Memantau penyerapan log Anda

Sinyal berikut dapat berguna untuk memantau kesehatan pengumpulan log Anda dengan DCR. Buat aturan pemberitahuan untuk mengidentifikasi kondisi ini.

Sinyal Kemungkinan penyebab dan tindakan
Entri baru dalam DCRErrorLogs atau perubahan mendadak dalam Log Transform Errors. - Masalah dengan penyiapan API Penyerapan Log seperti autentikasi, akses ke DCR atau DCE, masalah payload panggilan.
- Perubahan struktur data yang menyebabkan kegagalan transformasi KQL.
- Perubahan konfigurasi tujuan data yang menyebabkan kegagalan pengiriman data.
Perubahan mendadak dalam Logs Ingestion Bytes per Min - Perubahan konfigurasi penyerapan log pada klien, termasuk pengaturan AMA.
- Perubahan dalam struktur log yang dikirim.
Perubahan rasio mendadak antara Logs Ingestion Bytes per Min dan Logs Rows Received per Min - Perubahan dalam struktur log yang dikirim. Periksa perubahan untuk memastikan data diproses dengan benar dengan transformasi KQL.
Perubahan mendadak dalam Logs Transformation Duration per Min - Perubahan struktur log yang memengaruhi efisiensi kriteria pemfilteran log yang ditetapkan dalam transformasi KQL. Periksa perubahan untuk memastikan data diproses dengan benar dengan transformasi KQL.
Logs Ingestion Requests per Min atau Logs Ingestion Bytes per Min mendekati batas layanan API Penyerapan Log. - Periksa dan optimalkan konfigurasi DCR Anda untuk menghindari pembatasan.

Peringatan

Daripada secara reaktif memecahkan masalah, buat aturan pemberitahuan untuk diberi tahu secara proaktif ketika potensi kondisi kesalahan terjadi. Tabel berikut ini menyediakan contoh aturan pemberitahuan yang bisa Anda buat untuk memantau penyerapan log Anda.

Kondisi Detail peringatan
Perubahan baris yang tiba-tiba dihilangkan Aturan pemberitahuan metrik menggunakan ambang batas dinamis untuk Logs Rows Dropped per Min.
Jumlah panggilan API yang mendekati batas layanan Aturan pemberitahuan metrik menggunakan ambang statis untuk Logs Ingestion Requests per Min. Atur ambang batas mendekati 12.000, yang merupakan batas layanan untuk permintaan/menit maksimum per DCR.
Log kesalahan Pemberitahuan kueri log menggunakan DCRLogErrors. Gunakan pengukuran baris Tabel dan Nilaiambang 1 untuk diberi tahu setiap kali kesalahan dicatat.

Langkah berikutnya