Skema log wawasan kontainer
Wawasan kontainer menyimpan data log yang dikumpulkannya dalam tabel yang disebut ContainerLogV2 di ruang kerja Analitik Log. Artikel ini menjelaskan skema tabel ini dan opsi konfigurasi untuknya. Ini juga membandingkan tabel ini dengan tabel ContainerLog warisan dan menyediakan detail untuk bermigrasi dari tabel tersebut.
Perbandingan tabel
ContainerLogV2 adalah skema default untuk CLI versi 2.54.0 dan yang lebih besar. Ini adalah tabel default untuk pelanggan yang onboarding wawasan Kontainer dengan autentikasi identitas terkelola. ContainerLogV2 dapat diaktifkan secara eksplisit melalui CLI versi 2.51.0 atau yang lebih tinggi menggunakan pengaturan pengumpulan data.
Penting
Dukungan untuk tabel ContainerLog akan dihentikan pada 30 September 2026.
Tabel berikut menyoroti perbedaan utama antara menggunakan skema ContainerLogV2 dan ContainerLog.
Perbedaan fitur | ContainerLog | ContainerLogV2 |
---|---|---|
Skema | Detail di ContainerLog. | Detail di ContainerLogV2. Kolom tambahan adalah: - ContainerName - PodName - PodNamespace - LogLevel 1
- KubernetesMetadata 2
|
Onboarding | Hanya dapat dikonfigurasi melalui ConfigMap. | Dapat dikonfigurasi melalui ConfigMap dan DCR. 3 |
Harga | Hanya kompatibel dengan log analitik dengan harga penuh. | Mendukung tingkat log dasar biaya rendah selain log analitik. |
Melakukan Permintaan | Memerlukan beberapa operasi gabungan dengan tabel inventaris untuk kueri standar. | Termasuk metadata pod dan kontainer tambahan untuk mengurangi kompleksitas kueri dan menggabungkan operasi. |
Multibaris | Tidak didukung, entri multibaris dibagi menjadi beberapa baris. | Dukungan untuk pengelogan multibaris untuk memungkinkan entri tunggal terkonsolidasi untuk output multibaris. |
1 Jika LogMessage
JSON valid dan memiliki kunci bernama level
, nilainya akan digunakan. Jika tidak, pencocokan kata kunci berbasis regex digunakan untuk menyimpulkan LogLevel
dari LogMessage
. Inferensi ini dapat mengakibatkan beberapa kesalahan klasifikasi. LogLevel
adalah bidang string dengan nilai kesehatan seperti CRITICAL
, , ERROR
, WARNING
INFO
, DEBUG
, TRACE
, atau UNKNOWN
.
2 KubernetesMetadata
adalah kolom opsional yang diaktifkan dengan metadata Kubernetes. Nilai bidang ini adalah JSON dengan bidang podLabels
, , podAnnotations
, podUid
Image
, ImageTag
, dan Image repo
.
3 Konfigurasi DCR memerlukan autentikasi identitas terkelola.
Catatan
Ekspor ke Event Hub dan Akun Penyimpanan tidak didukung jika JSON yang masuk LogMessage
tidak valid. Untuk performa terbaik, keluarkan log kontainer dalam format JSON.
Mengaktifkan skema ContainerLogV2
Aktifkan skema ContainerLogV2 untuk kluster baik menggunakan Aturan Pengumpulan Data (DCR) kluster atau ConfigMap. Jika kedua pengaturan diaktifkan, ConfigMap lebih diutamakan. Tabel ContainerLog
hanya digunakan ketika DCR dan ConfigMap secara eksplisit diatur ke nonaktif.
Sebelum mengaktifkan skema ContainerLogsV2 , Anda harus menilai apakah Anda memiliki aturan pemberitahuan yang bergantung pada tabel ContainerLog . Setiap pemberitahuan tersebut perlu diperbarui untuk menggunakan tabel baru. Jalankan kueri Azure Resource Graph berikut ini untuk memindai aturan pemberitahuan yang mereferensikan ContainerLog
tabel.
resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "ContainerLog"
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc
Pemfilteran metadata dan log Kubernetes
Pemfilteran metadata dan log Kubernetes memperluas skema ContainerLogsV2 dengan metadata Kubernetes tambahan. Fitur pemfilteran log menyediakan kemampuan pemfilteran untuk beban kerja dan kontainer platform. Fitur-fitur ini memberi Anda konteks yang lebih kaya dan visibilitas yang ditingkatkan ke dalam beban kerja Anda.
Fitur
Skema ContainerLogV2 yang Ditingkatkan Ketika Metadata Log Kubernetes diaktifkan, ia menambahkan kolom untuk
ContainerLogV2
dipanggilKubernetesMetadata
yang meningkatkan pemecahan masalah dengan kueri log sederhana dan menghapus kebutuhan untuk bergabung dengan tabel lain. Bidang dalam kolom ini meliputi:PodLabels
, ,PodAnnotations
,PodUid
,Image
,ImageID
,ImageRepo
.ImageTag
Bidang ini meningkatkan pengalaman pemecahan masalah menggunakan kueri log tanpa harus bergabung dengan tabel lain. Lihat di bawah ini untuk detail tentang mengaktifkan fitur metadata Kubernetes.Tingkat log Fitur ini menambahkan
LogLevel
kolom ke ContainerLogV2 dengan kemungkinan nilai penting, kesalahan, peringatan, info, debug, jejak, atau tidak diketahui. Ini membantu Anda menilai kesehatan aplikasi berdasarkan tingkat keparahan. Menambahkan dasbor Grafana, Anda dapat memvisualisasikan tren tingkat log dari waktu ke waktu dan dengan cepat menentukan sumber daya yang terpengaruh.Dasbor Grafana untuk visualisasi Dasbor Grafana menyediakan visualisasi berkode warna tingkat log dan juga memberikan wawasan tentang Volume Log, Laju Log, Catatan Log, Log. Anda bisa mendapatkan analisis sensitif waktu, wawasan dinamis tentang tren tingkat log dari waktu ke waktu, dan pemantauan real time yang penting. Dasbor juga menyediakan perincian terperinci berdasarkan komputer, pod, dan kontainer, yang memberdayakan analisis mendalam dan pemecahan masalah yang ditentukan. Lihat di bawah ini untuk detail tentang menginstal dasbor Grafana.
Pemfilteran log berbasis anotasi untuk beban kerja Pemfilteran log efisien melalui anotasi pod. Ini memungkinkan Anda untuk fokus pada informasi yang relevan tanpa mengayak kebisingan. Pemfilteran berbasis anotasi memungkinkan Anda mengecualikan pengumpulan log untuk pod dan kontainer tertentu dengan membuat anotasi pod, yang akan membantu mengurangi biaya analitik log secara signifikan. Lihat Pemfilteran log berbasis anotasi untuk detail tentang mengonfigurasi pemfilteran berbasis anotasi.
Pemfilteran log berbasis ConfigMap untuk log platform (System Kubernetes Namespaces) Log platform dipancarkan oleh kontainer dalam namespace sistem (atau yang dibatasi serupa). Secara default, semua log kontainer dari namespace layanan sistem dikecualikan untuk meminimalkan biaya data di ruang kerja Analitik Log Anda. Dalam skenario pemecahan masalah tertentu, log kontainer kontainer kontainer memainkan peran penting. Salah satu contohnya
coredns
adalah kontainer dikube-system
namespace layanan.
Mengaktifkan metadata Kubernetes
Penting
Pengumpulan metadata Kubernetes memerlukan autentikasi identitas terkelola dan ContainerLogsV2
Aktifkan metadata Kubernetes menggunakan ConfigMap dengan pengaturan berikut. Semua bidang metadata dikumpulkan secara default saat metadata_collection
diaktifkan. Batalkan komentar include_fields
untuk menentukan bidang individual yang akan dikumpulkan.
[log_collection_settings.metadata_collection]
enabled = true
include_fields = ["podLabels","podAnnotations","podUid","image","imageID","imageRepo","imageTag"]
Setelah beberapa menit, kolom harus disertakan dengan kueri log apa pun untuk ContainerLogV2
tabel seperti yang KubernetesMetadata
ditunjukkan di bawah ini.
Memasang dasbor Grafana
Penting
Jika Anda mengaktifkan Grafana menggunakan panduan di Mengaktifkan pemantauan untuk kluster Kubernetes, instans Grafana Anda harus sudah memiliki akses ke ruang kerja Azure Monitor untuk metrik Prometheus. Dasbor Metadata Log Kubernetes juga memerlukan akses ke ruang kerja Analitik Log Anda yang berisi data log. Lihat Cara mengubah izin akses ke Azure Monitor untuk panduan tentang memberikan instans Grafana Anda peran Pembaca Pemantauan untuk ruang kerja Analitik Log Anda.
Impor dasbor dari galeri Grafana di Dasbor ContainerLogV2. Anda kemudian dapat membuka dasbor dan memilih nilai untuk DataSource, Langganan, ResourceGroup, Kluster, Namespace, dan Label.
Catatan
Ketika Anda awalnya memuat Dasbor Grafana, Anda mungkin melihat kesalahan karena variabel belum dipilih. Untuk mencegah ini berulang, simpan dasbor setelah memilih sekumpulan variabel sehingga menjadi default pada pembukaan pertama.
Pengelogan multibaris
Dengan pengelogan multibaris diaktifkan, log kontainer yang dibagi sebelumnya dijahit bersama-sama dan dikirim sebagai entri tunggal ke tabel ContainerLogV2. Jika baris log yang dijahit lebih besar dari 64 KB, baris log akan dipotong karena batas ruang kerja Analitik Log. Fitur ini juga memiliki dukungan untuk jejak tumpukan .NET, Go, Python, dan Java, yang muncul sebagai entri tunggal dalam tabel ContainerLogV2. Aktifkan pengelogan multibaris dengan ConfigMap seperti yang dijelaskan dalam Mengonfigurasi pengumpulan data dalam wawasan Kontainer menggunakan ConfigMap.
Catatan
Peta konfigurasi sekarang menampilkan opsi spesifikasi bahasa, di mana pelanggan hanya dapat memilih bahasa yang mereka minati. Fitur ini dapat diaktifkan dengan mengedit bahasa dalam opsi stacktrace_languages di peta konfigurasi.
Cuplikan layar berikut menunjukkan pengelogan multibaris untuk jejak tumpukan pengecualian Go:
Pengelogan multibaris dinonaktifkan
Pengelogan multibaris diaktifkan
Pelacakan tumpukan Java
Pelacakan tumpukan Python
Langkah berikutnya
- Mengonfigurasi Log Dasar untuk ContainerLogv2.
- Pelajari cara mengkueri data dari ContainerLogV2