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:
- Log yang dikumpulkan menggunakan Azure Monitor Agent (AMA)
- Log yang diserap menggunakan API Penyerapan Log
- Log yang dikumpulkan oleh metode lain yang menggunakan DCR transformasi ruang kerja
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:
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 InputStreamId == "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
danLogs 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 denganLogs Rows Dropped per Min
, maka tidak ada data yang akan diserap di ruang kerja. PeriksaLogs 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 Nilai ambang 1 untuk diberi tahu setiap kali kesalahan dicatat. |