Kapsayıcı içgörülerinde günlük toplamayı yapılandırma
Bu makalede, Kubernetes kümeniz eklendikten sonra Kapsayıcı içgörülerinde veri toplamayı yapılandırma hakkında ayrıntılar sağlanır. Kümenizde Kapsayıcı içgörülerini etkinleştirme yönergeleri için bkz . Kubernetes kümeleri için izlemeyi etkinleştirme.
Yapılandırma yöntemleri
Kapsayıcı içgörülerinde toplanan verileri yapılandırmak ve filtrelemek için kullanılan iki yöntem vardır. Ayara bağlı olarak, iki yöntem arasında seçim yapabilir veya birini veya diğerini kullanmanız gerekebilir. aşağıdaki tabloda iki yöntem, aşağıdaki bölümlerde ayrıntılı bilgilerle açıklanmıştır.
Metot | Açıklama |
---|---|
Veri toplama kuralı (DCR) | Veri toplama kuralları, Azure İzleyici işlem hattını kullanarak veri toplamayı destekleyen yönergeler kümesidir. Kapsayıcı içgörülerini etkinleştirdiğinizde bir DCR oluşturulur ve azure portalını veya diğer yöntemleri kullanarak bu DCR'deki ayarları değiştirebilirsiniz. |
ConfigMap | ConfigMap'ler , yapılandırma dosyası veya ortam değişkenleri gibi gizli olmayan verileri depolamanıza olanak tanıyan bir Kubernetes mekanizmasıdır. Kapsayıcı içgörüleri, toplaması gereken verileri tanımlayan belirli ayarlara sahip her kümede bir ConfigMap arar. |
DCR kullanarak veri toplamayı yapılandırma
Container insights tarafından oluşturulan DCR, MSCI-cluster-region-cluster-name<>< olarak adlandırılır.> Bu DCR'yi aboneliğinizdeki diğer kişilerle birlikte görüntüleyebilir ve Azure İzleyici'de veri toplama kuralları (DCR) oluşturma ve düzenleme bölümünde açıklanan yöntemleri kullanarak düzenleyebilirsiniz. Belirli özelleştirmeler için DCR'yi doğrudan değiştirebilmenize karşın, aşağıda açıklanan yöntemleri kullanarak en gerekli yapılandırmayı gerçekleştirebilirsiniz. Daha gelişmiş yapılandırmalar için doğrudan DCR'yi düzenleme hakkında ayrıntılı bilgi için bkz . Kapsayıcı içgörülerinde veri dönüştürmeleri.
Önemli
AKS kümeleri, sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği kullanmalıdır. Küme bir hizmet sorumlusu kullanıyorsa, kümeyi sistem tarafından atanan yönetilen kimliği veya kullanıcı tarafından atanan yönetilen kimliği kullanacak şekilde güncelleştirmeniz gerekir.
Azure portalı ile DCR'yi yapılandırma
Azure portalını kullanarak Kapsayıcı içgörüleri'nde veri toplama için önceden ayarlanmış birden çok yapılandırma arasından seçim yapabilirsiniz. Bu yapılandırmalar, belirli önceliklerinize bağlı olarak farklı tablo kümelerini ve koleksiyon sıklıklarını içerir. Ayrıca ayarları yalnızca ihtiyacınız olan verileri toplayacak şekilde özelleştirebilirsiniz. Kapsayıcı içgörüleri etkinleştirildikten sonra mevcut kümenizdeki yapılandırmayı özelleştirmek için Azure portalını kullanabilir veya kümenizde Kapsayıcı içgörülerini etkinleştirdiğinizde bu yapılandırmayı gerçekleştirebilirsiniz.
Azure portalında kümeyi seçin.
Menünün İzleme bölümünde İçgörüler seçeneğini belirleyin.
Kapsayıcı içgörüleri kümede zaten etkinleştirildiyse İzleme Ayarları düğmesini seçin. Aksi takdirde Azure İzleyici'yi Yapılandır'ı seçin ve izlemeyi etkinleştirme hakkında ayrıntılı bilgi için bkz. Azure İzleyici ile Kubernetes kümenizde izlemeyi etkinleştirme.
AKS ve Arc özellikli Kubernetes için Kümeyi henüz yönetilen kimlik kimlik doğrulamasına geçirmediyseniz Yönetilen kimliği kullan'ı seçin.
Maliyet ön ayarlarından birini seçin.
Maliyet ön ayarı Toplama sıklığı Ad alanı filtreleri Syslog koleksiyonu Toplanan veriler Standart 1 m Hiçbiri Etkin değil Tüm standart kapsayıcı içgörüleri tabloları Maliyet için iyileştirilmiş 5 m kube-system, gatekeeper-system, azure-arc dışlar Etkin değil Tüm standart kapsayıcı içgörüleri tabloları Syslog 1 m Hiçbiri Varsayılan olarak etkin Tüm standart kapsayıcı içgörüleri tabloları Günlükler ve Olaylar 1 m Hiçbiri Etkin değil ContainerLog/ContainerLogV2
KubeEvents
KubePodInventoryAyarları özelleştirmek istiyorsanız Koleksiyon ayarlarını düzenle'ye tıklayın.
Veri Akışı Adı Açıklama Toplama sıklığı Aracının veri toplama sıklıklarını belirler. Geçerli değerler 1m - 1m aralıklarla 30m'dir Varsayılan değer 1m'dir. Ad alanı filtreleme Kapalı: Tüm ad alanları üzerinde veri toplar.
Include: Yalnızca ad alanları alanındaki değerlerden veri toplar.
Dışla: Ad alanları alanındaki değerler dışında tüm ad alanlarından veri toplar.
NamespaceFilteringMode temelinde envanter ve performans verilerini toplamak için kubernetes ad alanlarını virgülle ayırmış dizi. Örneğin, dahil et ayarına sahip ad alanları = ["kube-system", "default"] yalnızca bu iki ad alanını toplar. Dışla ayarıyla aracı, kube-system ve varsayılan dışında diğer tüm ad alanlarının verilerini toplar.Toplanan Veriler Hangi Kapsayıcı içgörüleri tablolarının toplayacağını tanımlar. Her gruplandırma açıklaması için aşağıya bakın. ContainerLogV2'yi etkinleştirme ContainerLogV2 şemasını etkinleştirmek için Boole bayrağı. true olarak ayarlanırsa, stdout/stderr Günlükleri ContainerLogV2 tablosuna alınır. Aksi takdirde kapsayıcı günlükleri, ConfigMap'te aksi belirtilmedikçe ContainerLog tablosuna alınıyor. Tek tek akışları belirtirken, ContainerLog veya ContainerLogV2 için karşılık gelen tabloyu eklemeniz gerekir. Syslog koleksiyonunu etkinleştirme Kümeden Syslog koleksiyonunu etkinleştirir. Toplanan veriler seçeneği, küme için doldurulan tabloları seçmenize olanak tanır. Tablolar en yaygın senaryolara göre gruplandırılır. Tek tek tabloları belirtmek için DCR'yi başka bir yöntem kullanarak değiştirmeniz gerekir.
Gruplama Tablolar Notlar Tümü (Varsayılan) Tüm standart kapsayıcı içgörüleri tabloları Varsayılan Container insights görselleştirmelerini etkinleştirmek için gereklidir Performans Perf, InsightsMetrics Günlükler ve olaylar ContainerLog veya ContainerLogV2, KubeEvents, KubePodInventory Yönetilen Prometheus ölçümlerini etkinleştirdiyseniz önerilir İş Yükleri, Dağıtımlar ve HPA'lar InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices Kalıcı Birimler InsightsMetrics, KubePVInventory Ayarları kaydetmek için Yapılandır'a tıklayın.
DCR için geçerli tablolar ve ölçümler
DCR'deki koleksiyon sıklığı ve ad alanı filtreleme ayarları tüm Kapsayıcı içgörüleri verilerine uygulanmaz. Aşağıdaki tablolar, Kapsayıcı içgörüleri tarafından kullanılan Log Analytics çalışma alanında yer alan tabloları ve topladığı ölçümleri ve her birine uygulanan ayarları listeler.
Tablo adı | Ara? | Ad alanları mı? | Açıklamalar |
---|---|---|---|
ContainerInventory | Yes | Yes | |
ContainerNodeInventory | Yes | Hayır | Kubernetes Node ad alanı kapsamlı bir kaynak olmadığından ad alanları için veri toplama ayarı geçerli değildir |
KubeNodeInventory | Yes | Hayır | Ad alanları için veri toplama ayarı geçerli değil Kubernetes Node, ad alanı kapsamlı bir kaynak değil |
KubePodInventory | Yes | Yes | |
KubePVInventory | Yes | Yes | |
KubeServices | Yes | Yes | |
KubeEvents | Hayır | Evet | Kubernetes Olayları için aralık için veri toplama ayarı geçerli değildir |
Perf | Yes | Yes | Kubernetes Düğümü ad alanı kapsamlı bir nesne olmadığından, ad alanları için veri toplama ayarı Kubernetes Node ile ilgili ölçümler için geçerli değildir. |
InsightsMetrics | Yes | Yes | Veri toplama ayarları yalnızca şu ad alanlarını toplayan ölçümler için geçerlidir: container.azm.ms/kubestate, container.azm.ms/pv ve container.azm.ms/gpu |
Ölçüm ad alanı | Ara? | Ad alanları mı? | Açıklamalar |
---|---|---|---|
Insights.container/node | Yes | Hayır | Düğüm, ad alanı kapsamlı bir kaynak değildir |
Insights.container/pods | Yes | Yes | |
Insights.container/containers | Yes | Yes | |
Insights.container/persistentvolumes | Yes | Yes |
DCR'de akış değerleri
CLI veya ARM kullanarak toplayacak tabloları belirttiğinizde, Log Analytics çalışma alanında belirli bir tabloya karşılık gelen bir akış adı belirtirsiniz. Aşağıdaki tabloda, her tablonun akış adı listelenir.
Not
Veri toplama kuralının yapısı hakkında bilgi sahibiyseniz, bu tablodaki akış adları DCR'nin Veri akışları bölümünde belirtilir.
Akış | Kapsayıcı içgörüleri tablosu |
---|---|
Microsoft-ContainerInventory | ContainerInventory |
Microsoft-ContainerLog | ContainerLog |
Microsoft-ContainerLogV2 | ContainerLogV2 |
Microsoft-ContainerLogV2-HighScale | ContainerLogV2 (Yüksek ölçek modu)1 |
Microsoft-ContainerNodeInventory | ContainerNodeInventory |
Microsoft-InsightsMetrics | InsightsMetrics |
Microsoft-KubeEvents | KubeEvents |
Microsoft-KubeMonAgentEvents | KubeMonAgentEvents |
Microsoft-KubeNodeInventory | KubeNodeInventory |
Microsoft-KubePodInventory | KubePodInventory |
Microsoft-KubePVInventory | KubePVInventory |
Microsoft-KubeServices | KubeServices |
Microsoft-Perf | Perf |
1 Aynı DCR'de hem Microsoft-ContainerLogV2 hem de Microsoft-ContainerLogV2-HighScale kullanmamalısınız. Bu, yinelenen verilere neden olur.
DCR'i birden çok kümeyle paylaşma
Kubernetes kümesinde Kapsayıcı içgörülerini etkinleştirdiğinizde, bu küme için yeni bir DCR oluşturulur ve her küme için DCR bağımsız olarak değiştirilebilir. Özel izleme yapılandırmalarına sahip birden çok kümeniz varsa, tek bir DCR'yi birden çok kümeyle paylaşmak isteyebilirsiniz. Ardından, kendisiyle ilişkilendirilmiş tüm kümeler için otomatik olarak uygulanan tek bir DCR'de değişiklik yapabilirsiniz.
DCR, veri toplama kuralı ilişkilendirmeleri (DCRA) olan bir kümeyle ilişkilendirilir. Her küme için mevcut DCR ilişkilendirmelerini görüntülemek ve kaldırmak için önizleme DCR deneyimini kullanın. Daha sonra bu özelliği kullanarak birden çok küme için tek bir DCR'ye ilişkilendirme ekleyebilirsiniz.
ConfigMap kullanarak veri toplamayı yapılandırma
ConfigMap'ler , yapılandırma dosyası veya ortam değişkenleri gibi gizli olmayan verileri depolamanıza olanak sağlayan bir Kubernetes mekanizmasıdır. Kapsayıcı içgörüleri, toplaması gereken verileri tanımlayan belirli ayarlara sahip her kümede bir ConfigMap arar.
Önemli
ConfigMap genel bir listedir ve Kapsayıcı içgörüleri için aracıya yalnızca bir ConfigMap uygulanabilir. Başka bir ConfigMap uygulanması önceki ConfigMap koleksiyon ayarlarını geçersiz kılacaktır.
Önkoşullar
- Kapsayıcı iş yüklerinden stdout, stderr ve ortam değişkenlerini toplamak için desteklenen en düşük aracı sürümü ciprod06142019 veya üzeridir.
ConfigMap'i yapılandırma ve dağıtma
ConfigMap yapılandırma dosyanızı yapılandırmak ve kümenize dağıtmak için aşağıdaki yordamı kullanın:
Kapsayıcı içgörüleri için ConfigMap'iniz yoksa şablon ConfigMap YAML dosyasını indirin ve bir düzenleyicide açın.
ConfigMap YAML dosyasını özelleştirmelerinizle düzenleyin. Şablon, açıklamaları olan tüm geçerli ayarları içerir. Bir ayarı etkinleştirmek için açıklama karakterini (#) kaldırın ve değerini ayarlayın.
Aşağıdaki kubectl komutunu çalıştırarak bir ConfigMap oluşturun:
kubectl config set-context <cluster-name> kubectl apply -f <configmap_yaml_file.yaml> # Example: kubectl config set-context my-cluster kubectl apply -f container-azm-ms-agentconfig.yaml
Yapılandırma değişikliğinin geçerlilik kazanması birkaç dakika sürebilir. Ardından kümedeki tüm Azure İzleyici Aracısı podları yeniden başlatılır. Yeniden başlatma, tüm Azure İzleyici Aracısı podları için sıralı bir yeniden başlatmadır, bu nedenle hepsi aynı anda yeniden başlatılmaz. Yeniden başlatmalar tamamlandığında aşağıdaki sonuca benzer bir ileti alırsınız:
configmap "container-azm-ms-agentconfig" created`.
Yapılandırmayı doğrulama
Yapılandırmanın bir kümeye başarıyla uygulandığını doğrulamak için aşağıdaki komutu kullanarak aracı podundan günlükleri gözden geçirin.
kubectl logs ama-logs-fdf58 -n kube-system -c ama-logs
Azure İzleyici Aracısı podlarından yapılandırma hataları varsa çıktıda aşağıdakine benzer hatalar gösterilir:
***************Start Config Processing********************
config::unsupported/missing config schema version - 'v21' , using defaults
Yapılandırma değişiklikleriyle ilgili daha fazla sorun giderme gerçekleştirmek için aşağıdaki seçenekleri kullanın:
Aracı podundan aynı
kubectl logs
komutu kullanın.Aşağıdakine benzer hatalar için canlı günlükleri gözden geçirin:
config::error::Exception while parsing config map for log collection/env variable settings: \nparse error on value \"$\" ($end), using defaults, please check config map for errors
Veriler Log Analytics çalışma alanınızdaki tabloya
KubeMonAgentEvents
saatte bir, yapılandırma hataları için hata önem derecesiyle gönderilir. Hata yoksa, tablodaki girdide hata bildirmeyen önem derecesine sahip veriler bulunur. sütunu,Tags
hatanın oluştuğu pod ve kapsayıcı kimliği ve ayrıca son saat içindeki ilk oluşum, son oluşum ve sayı hakkında daha fazla bilgi içerir.
Şema sürümünü doğrulama
Desteklenen yapılandırma şeması sürümleri, Azure İzleyici Aracısı pod'unun pod ek açıklaması (şema sürümleri) olarak kullanılabilir. Bunları aşağıdaki kubectl komutuyla görebilirsiniz.
kubectl describe pod ama-logs-fdf58 -n=kube-system.
ConfigMap ayarları
Aşağıdaki tabloda, ConfigMap ile veri toplamayı denetlemek için yapılandırabileceğiniz ayarlar açıklanmaktadır.
Ayar | Veri türü | Value | Açıklama |
---|---|---|---|
schema-version |
Dize (büyük/küçük harfe duyarlı) | v1 | Aracı tarafından bu ConfigMap ayrıştırırken kullanılır. Şu anda desteklenen şema sürümü v1'dir. Bu değerin değiştirilmesi desteklenmez ve ConfigMap değerlendirildiğinde reddedilir. |
config-version |
String | Bu yapılandırma dosyasının sürümünü kaynak denetim sisteminizde/deponuzda izlemenize olanak tanır. İzin verilen en fazla karakter sayısı 10'dır ve diğer tüm karakterler kesilir. | |
[log_collection_settings] | |||
[stdout] enabled |
Boolean | true yanlış |
stdout kapsayıcı günlüğü koleksiyonunun etkinleştirilip etkinleştirilmediğini denetler. olarak ayarlandığında true ve stdout günlük koleksiyonu için hiçbir ad alanı dışlanmadığında, stdout günlükleri kümedeki tüm podlar ve düğümler genelindeki tüm kapsayıcılardan toplanır. ConfigMap'te belirtilmezse, varsayılan değer olur true . |
[stdout] exclude_namespaces |
String | Virgülle ayrılmış dizi | Stdout günlüklerinin toplanmadığı Kubernetes ad alanları dizisi. Bu ayar yalnızca olarak ayarlandıysa enabled true geçerlidir. ConfigMap'te belirtilmezse, varsayılan değer şudur:["kube-system","gatekeeper-system"] . |
[stderr] enabled |
Boolean | true yanlış |
stderr kapsayıcı günlüğü koleksiyonunun etkinleştirilip etkinleştirilmediğini denetler. olarak ayarlandığında true ve stderr günlük koleksiyonu için hiçbir ad alanı dışlanmadığında, stderr günlükleri kümedeki tüm podlar ve düğümler genelindeki tüm kapsayıcılardan toplanır. ConfigMap'te belirtilmezse, varsayılan değer olur true . |
[stderr] exclude_namespaces |
String | Virgülle ayrılmış dizi | Stderr günlüklerinin toplanmadığı Kubernetes ad alanları dizisi. Bu ayar yalnızca olarak ayarlandıysa enabled true geçerlidir. ConfigMap'te belirtilmezse, varsayılan değer şudur:["kube-system","gatekeeper-system"] . |
[env_var] enabled |
Boolean | true yanlış |
Kümedeki tüm podlar ve düğümler arasında ortam değişkeni koleksiyonunu denetler. ConfigMap'te belirtilmezse, varsayılan değer olur true . |
[enrich_container_logs] enabled |
Boolean | true yanlış |
Kümedeki Name tüm kapsayıcı günlükleri için ContainerLog tablosuna yazılan her günlük kaydının ve Image özellik değerlerini doldurmak için kapsayıcı günlüğü zenginleştirmesini denetler. ConfigMap'te belirtilmezse, varsayılan değer olur false . |
[collect_all_kube_events] enabled |
Boolean | true yanlış |
Tüm türlerdeki Kube olaylarının toplanıp toplanmayacağını denetler. Varsayılan olarak, Normal türündeki Kube olayları toplanmaz. Bu ayar olduğunda true , Normal olaylar artık filtrelenmez ve tüm olaylar toplanır. ConfigMap'te belirtilmezse, varsayılan değer olur false . |
[schema] containerlog_schema_version |
Dize (büyük/küçük harfe duyarlı) | v2 v1 |
Günlük alımı biçimini ayarlar. isev2 , ContainerLogV2 tablosu kullanılır. isev1 , ContainerLog tablosu kullanılır (bu tablo kullanım dışı bırakılmıştır). Azure CLI sürüm 2.54.0 veya üzerini kullanarak kapsayıcı içgörülerini etkinleştiren kümeler için varsayılan ayardır v2 . Ayrıntılar için bkz . Kapsayıcı içgörüleri günlük şeması . |
[enable_multiline_logs] enabled |
Boolean | true yanlış |
Çok satırlı kapsayıcı günlüklerinin etkinleştirilip etkinleştirilmediğini denetler. Ayrıntılar için bkz . Container Insights'ta çok satırlı günlüğe kaydetme. ConfigMap'te belirtilmezse, varsayılan değer olur false . Bunun için ayarın olması v2 gerekirschema . |
[metadata_collection] enabled |
Boolean | true yanlış |
Meta verilerin tablonun sütununda ContainerLogV2 toplanıp toplanmayacağını KubernetesMetadata denetler. |
[metadata_collection] include_fields |
String | Virgülle ayrılmış dizi | Eklenecek meta veri alanlarının listesi. Ayar kullanılmıyorsa tüm alanlar toplanır. Geçerli değerler şunlardır: ["podLabels","podAnnotations","podUid","image","imageID","imageRepo","imageTag"] |
[metric_collection_settings] | |||
[collect_kube_system_pv_metrics] enabled |
Boolean | true yanlış |
Kube-system ad alanında kalıcı birim (PV) kullanım ölçümlerinin toplanmasına izin verir. Varsayılan olarak, kube-system ad alanında kalıcı birim taleplerine sahip kalıcı birimler için kullanım ölçümleri toplanmaz. Bu ayar olarak true ayarlandığında, tüm ad alanları için PV kullanım ölçümleri toplanır. ConfigMap'te belirtilmezse, varsayılan değer olur false . |
[agent_settings] | |||
[proxy_config] ignore_proxy_settings |
Boolean | true yanlış |
olduğunda true , ara sunucu ayarları yoksayılır. Hem AKS hem de Arc özellikli Kubernetes ortamları için kümeniz ileri ara sunucu ile yapılandırılmışsa ara sunucu ayarları otomatik olarak uygulanır ve aracı için kullanılır. AMPLS + Proxy gibi belirli yapılandırmalar için ara sunucu yapılandırmasının yoksayılmasını isteyebilirsiniz. ConfigMap'te belirtilmezse, varsayılan değer olur false . |
Sonraki adımlar
- Gerekmeyen verileri filtrelemek için Kapsayıcı içgörülerini yapılandırarak maliyet tasarrufu hakkında ayrıntılı bilgi için bkz . Kapsayıcı içgörüleri'nde günlük toplamayı filtreleme.