Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kapsayıcı içgörüleri, topladığı günlük verilerini Log Analytics çalışma alanında ContainerLogV2 adlı bir tabloda depolar. Bu makalede, bu tablonun şeması ve yapılandırma seçenekleri açıklanmaktadır. Ayrıca bu tabloyu eski ContainerLog tablosuyla karşılaştırır ve bu tablodan geçiş için ayrıntılar sağlar.
Tablo karşılaştırması
ContainerLogV2 , CLI sürüm 2.54.0 ve üzeri için varsayılan şemadır. Bu, yönetilen kimlik doğrulaması ile Kapsayıcı içgörülerini başlatan müşteriler için varsayılan tablodur. ContainerLogV2, veri toplama ayarları kullanılarak CLI sürüm 2.51.0 veya üzeri aracılığıyla açıkça etkinleştirilebilir.
Önemli
ContainerLog tablosu desteği 30 Eylül 2026'da kullanımdan kaldırılacaktır.
Aşağıdaki tabloda ContainerLogV2 ile ContainerLog şemasını kullanma arasındaki temel farklar vurgulanır.
Özellik farkları | Konteyner Günlüğü | ContainerLogV2 |
---|---|---|
Şema | ContainerLog'daki ayrıntılar. | ContainerLogV2'deki ayrıntılar. Ek sütunlar şunlardır: - ContainerName - PodName - PodNamespace - LogLevel
1- KubernetesMetadata
2 |
İşe Alıştırma | Yalnızca ConfigMap aracılığıyla yapılandırılabilir. | Hem ConfigMap hem de DCR aracılığıyla yapılandırılabilir. 3 |
Fiyatlandırma | Yalnızca tam fiyatlı analiz günlükleriyle uyumludur. | Analiz günlüklerine ek olarak düşük maliyetli temel günlükler katmanını destekler. |
Sorgulama | Standart sorgular için envanter tablolarıyla birden çok birleştirme işlemi gerektirir. | Sorgu karmaşıklığını ve birleştirme işlemlerini azaltmak için ek pod ve kapsayıcı meta verileri içerir. |
Çok satırlı | Desteklenmez, çok satırlı girdiler birden çok satıra bölünür. | Çok satırlı çıktılar için toplu ve tekli girişler sağlayan çok satırlı günlüğe kaydetme desteği. |
1 Geçerli bir JSON ise ve adlı LogMessage
bir anahtarı varsa level
değeri kullanılır. Aksi takdirde, LogLevel
öğesini LogMessage
öğesinden çıkarmak için regex tabanlı anahtar kelime eşleştirme kullanılır. Bu çıkarım bazı yanlış sınıflandırmalara neden olabilir.
LogLevel
, CRITICAL
, ERROR
, WARNING
, INFO
, DEBUG
veya TRACE
gibi bir sağlık değeri içeren bir dize alanıdır.
2KubernetesMetadata
, Kubernetes meta verileriyle etkinleştirilen isteğe bağlı bir sütundur. Bu alanın değeri, podLabels
podAnnotations
podUid
Image
ve ImageTag
alanlarına Image repo
sahip JSON'dır.
3 DCR yapılandırması yönetilen kimlik doğrulaması gerektirir.
Not
Alan LogMessage
dinamiktir ve hem JSON hem de düz metin dize biçimlerinin alımını destekler.
Olay Hub'ına ve Depolama Hesabına günlük veri aktarımı, gelen LogMessage
geçerli bir JSON veya geçerli bir düz metin olduğunda desteklenir.
LogMessage
Yanlış biçimlendirilmiş JSON ise, bu günlük iletileri kaçışla birlikte alınacaktır. Varsayılan olarak, 16 KB'tan büyük günlük iletileri kısaltılır.
Çok satırlı günlüğe kaydetme etkinleştirildiğinde, 64 KB'tan büyük günlük iletileri kesilir.
ContainerLogV2 şemasını etkinleştirme
Kümenin Veri Toplama Kuralı 'nı (DCR) veya ConfigMap'i kullanarak bir küme için ContainerLogV2 şemasını etkinleştirin. Her iki ayar da etkinleştirilirse, ConfigMap önceliklidir. Tablo ContainerLog
yalnızca hem DCR hem de ConfigMap açıkça kapalı olarak ayarlandığında kullanılır.
ContainerLogsV2 şemasını etkinleştirmeden önce, ContainerLog tablosunu kullanan uyarı kurallarınız olup olmadığını değerlendirmeniz gerekir. Bu tür uyarıların yeni tabloyu kullanacak şekilde güncelleştirilmesi gerekir. Aşağıdaki Azure Kaynak Grafiği sorgusunu çalıştırarak tabloya başvuran uyarı kurallarını tarayın.
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
Kubernetes meta verileri ve günlükleri filtreleme
Kubernetes meta verileri ve günlükleri filtreleme, ContainerLogsV2 şemasını ek Kubernetes meta verileriyle genişletir. Günlük filtreleme özelliği hem iş yükü hem de platform kapsayıcıları için filtreleme özellikleri sağlar. Bu özellikler, iş yükleriniz için daha zengin bağlam ve gelişmiş görünürlük sağlar.
Not
Kubernetes meta verileri ve günlüklerini filtreleme Grafana panosu şu anda temel günlükleri desteklememektedir.
Özellikler
Geliştirilmiş ContainerLogV2 şeması Kubernetes GünlükLeri Meta Verileri etkinleştirildiğinde, basit günlük sorgularıyla sorun gidermeyi geliştiren ve diğer tablolarla birleştirme gereksinimini ortadan kaldıran adlı
ContainerLogV2
bir sütunKubernetesMetadata
ekler. Bu sütundaki alanlar şunlardır:PodLabels
,PodAnnotations
,PodUid
,Image
, ,ImageID
,ImageRepo
.ImageTag
Bu alanlar, diğer tablolarla birleştirmek zorunda kalmadan günlük sorgularını kullanarak sorun giderme deneyimini geliştirir. Kubernetes meta veri özelliğini etkinleştirme hakkında ayrıntılı bilgi için aşağıya bakın.Günlük düzeyi Bu özellik ContainerLogV2'ye
LogLevel
sütununu, olası değerler kritik, hata, uyarı, bilgi, hata ayıklama, izleme veya bilinmeyen olacak şekilde ekler. Bu, uygulama durumunu önem düzeyine göre değerlendirmenize yardımcı olur. Grafana panosunu ekleyerek, zaman içindeki günlük düzeyi eğilimlerini görselleştirebilir ve etkilenen kaynakları hızla saptayabilirsiniz.Görselleştirme için Grafana panosu Grafana panosu, günlük düzeyinin renk kodlu bir görselleştirmesini sağlar ve ayrıca Günlük Hacmi, Günlük Hızı, Günlük Kayıtları, Günlükler hakkında içgörüler sağlar. Zamana bağlı analizler, günlük seviyesindeki eğilimler üzerine zamana dayalı dinamik içgörüler ve hayati gerçek zamanlı izleme elde edebilirsiniz. Pano ayrıca bilgisayar, pod ve kapsayıcıya göre ayrıntılı bir döküm sağlar ve bu da ayrıntılı analiz ve noktalı sorun giderme işlemlerini güçlendirmektedir. Grafana panosunu yükleme hakkında ayrıntılı bilgi için aşağıya bakın.
İş yükleri için pod ek açıklaması tabanlı günlük filtreleme Pod ek açıklamaları ile verimli günlük filtreleme. Bu, gürültüden eleme yapmadan ilgili bilgilere odaklanmanızı sağlar. Ek açıklama tabanlı filtreleme, poda açıklama ekleyerek belirli podlar ve kapsayıcılar için günlük koleksiyonunu dışlamanıza olanak tanır ve bu da günlük analizi maliyetini önemli ölçüde azaltmaya yardımcı olur. Ek açıklama tabanlı filtrelemeyi yapılandırmayla ilgili ayrıntılar için bkz. Ek açıklama tabanlı günlük filtreleme.
Platform günlükleri (Sistem Kubernetes Ad Alanları) Platform günlükleri için ConfigMap tabanlı günlük filtreleme, sistem (veya benzer kısıtlanmış) ad alanları içindeki kapsayıcılar tarafından yayılır. Varsayılan olarak, Log Analytics çalışma alanınızdaki verilerin maliyetini en aza indirmek için sistem ad alanından tüm kapsayıcı günlükleri hariç tutulur. Ancak belirli sorun giderme senaryolarında, sistem kapsayıcısının günlükleri önemli bir rol oynar. Örneklerden biri, ad alanı içindeki
coredns
kapsayıcıdırkube-system
.
Kubernetes meta verilerini etkinleştirme
Önemli
Kubernetes meta verilerinin toplanması için yönetilen kimlik doğrulaması ve ContainerLogsV2 gerekir
Aşağıdaki ayarlarla ConfigMap kullanarak Kubernetes meta verilerini etkinleştirin. etkinleştirildiğinde metadata_collection
tüm meta veri alanları varsayılan olarak toplanır.
include_fields
Toplanacak tek tek alanları belirtmek için açıklamayı kaldırın.
[log_collection_settings.metadata_collection]
enabled = true
include_fields = ["podLabels","podAnnotations","podUid","image","imageID","imageRepo","imageTag"]
Birkaç dakika sonra, aşağıda gösterildiği gibi KubernetesMetadata
tablosu için yapılan tüm günlük sorgularına ContainerLogV2
sütunu eklenmelidir.
Grafana panosunu yükleme
Önemli
Kubernetes kümeleri için izlemeyi etkinleştirme yönergelerini kullanarak Grafana'yı etkinleştirdiyseniz Grafana örneğinizin Prometheus ölçümleri için Azure İzleyici çalışma alanınıza zaten erişimi olmalıdır. Kubernetes Günlükleri Meta Veri panosu, günlük verilerini içeren Log Analytics çalışma alanınıza da erişim gerektirir. Grafana örneğinize Log Analytics çalışma alanınız için İzleme Okuyucusu rolü verme konusunda rehberlik almak üzere, Azure İzleyici erişim izinlerini nasıl değiştireceğinizi görün.
ContainerLogV2 Panosu'ndaki Grafana galerisinden panoyu içeri aktarın. Ardından panoyu açıp DataSource, Subscription, ResourceGroup, Cluster, Namespace ve Labels değerlerini seçebilirsiniz.
Not
Grafana Panosu'nu ilk yüklediğinizde henüz seçilmeyen değişkenler nedeniyle hatalar görebilirsiniz. Bunun yinelenmesini önlemek için, bir dizi değişken seçtikten sonra ilk açıkta varsayılan olacak şekilde panoyu kaydedin.
Çok satırlı kayıt
Çok satırlı günlükler etkinleştirildiğinde, önceden bölünmüş kapsayıcı günlükleri bir araya toplanır ve ContainerLogV2 tablosuna tek girdiler olarak gönderilir. ConfigMap kullanarak Kapsayıcı içgörülerinde veri toplamayı yapılandırma bölümünde açıklandığı gibi ConfigMap ile çok satırlı günlüğe kaydetmeyi etkinleştirin.
Not
Yapılandırma haritasında artık yalnızca ilgilendiğiniz dilleri seçmenize olanak tanıyan bir dil belirtimi seçeneği bulunur. Bu özellik, yapılandırma haritasındaki stacktrace_languages seçeneğindeki diller düzenlenerek etkinleştirilebilir.
Sınırlamalar
Çok satırlı günlük kaydı, yalnızca Java, Python, .NET ve Go kullanarak kapsayıcılardan gelen özel durum yığını izlerini birleştirir. Özel özel durumlar ve rastgele günlük iletileri de dahil olmak üzere diğer çok satırlı günlük girişleri birlikte birleştirilmemiştir.
Varsayılan olarak kapsayıcı çalışma zamanı tarafından kesilmesi yerine 16 KB'tan büyük günlük satırı ve günlük satırı 64 KB'a kadar desteklenecekse.
Örnekler
Git özel durum yığını izleme çok satırlı günlüğe kaydetme devre dışı
Go programlama dili özel durum yığını izleme çok satırlı günlüğe kaydetme etkinleştirildi
Java yığın izleme çok satırlı kayıt etkinleştirildi
Python yığın izi çok satırlı kaydı etkinleştirildi
Sonraki adımlar
- ContainerLogv2 için Temel Günlükleri yapılandırın.
- ContainerLogV2'den verileri sorgulamayı öğrenin