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.
Bu makalede, Kubernetes kümeniz dahil edildikten sonra Kapsayıcı İçgörüler'de veri toplamayı nasıl yapılandıracağınız hakkında ayrıntılar sağlanır. Kümenizde Container içgörülerini etkinleştirme yönergeleri için bkz. Kubernetes kümelerinde izlemeyi etkinleştirme.
Yapılandırma yöntemleri
Kapsayıcı içgörülerinde toplanan verilerin yapılandırılması ve filtrelenmesi 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, her kümede toplaması gereken verileri tanımlayan belirli ayarlara sahip bir ConfigMap'i 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 Kapsayıcı içgörülerinde Veri Dönüştürmeleri bölümüne bakın.
Ö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. Değilse, Azure İzleyici'yi Yapılandır öğesini seçin ve Azure İzleyici ile Kubernetes kümenizde izlemeyi etkinleştirme konusunda ayrıntılı bilgi için bakın.
AKS ve Arc özellikli Kubernetes için, kümeyi henüz yönetilen 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 konteyner içgörü tabloları Maliyet açısından optimize edilmiş 5 metre kube-system, gatekeeper-system, azure-arc hariç tutar Etkin değil Tüm standart konteyner içgörü tabloları Syslog 1 m Hiçbiri Varsayılan olarak etkin Tüm standart konteyner içgörü 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ığı Ajanın veri toplama sıklığını belirler. Geçerli değerler 1m - 30m arasında ve 1m ara ile belirlenmiştir. Varsayılan değer 1m'dir. Bu seçenek ConfigMap aracılığıyla yapılandırılamaz. 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 hariç tüm ad alanlarından veri toplar.
Kubernetes ad alanlarının virgülle ayrılmış dizisi, namespaceFilteringMode temelinde envanter ve performans verilerini toplamak için kullanılır. Ö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 toplanacağını tanımlar. Her gruplandırma açıklaması için aşağıya bakın. ContainerLogV2'yi etkinleştirme Boole bayrağı ile ContainerLogV2 şemasını etkinleştirin. 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 konteyner içgörü tabloları Varsayılan Container insights görselleştirmelerini etkinleştirmek için gereklidir Performans Perf, İçgörüMetrikleri 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 |
---|---|---|---|
Konteyner Envanteri | Evet | Evet | |
Konteyner Düğümü Envanteri | Evet | Hayır | Kubernetes Node ad alanı kapsamlı bir kaynak olmadığından ad alanları için veri toplama ayarı geçerli değildir |
KubeNodeInventory | Evet | Hayır | Ad alanları için veri toplama ayarı geçerli değil Kubernetes Node, ad alanı kapsamlı bir kaynak değil |
KubePodInventory | Evet | Evet | |
KubePVInventory | Evet | Evet | |
KubeServices | Evet | Evet | |
KubeEvents | Hayır | Evet | Kubernetes Olayları için aralık için veri toplama ayarı geçerli değildir |
Perf | Evet | Evet | Kubernetes Düğümü ad alanı kapsamında olmayan bir nesne olduğundan, ad alanları için yapılan veri toplama ayarı Kubernetes Node ile ilgili ölçümler için geçerli değildir. |
InsightsMetrics | Evet | Evet | 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 |
Not
Ad alanı filtrelemesi ama-logs aracı kayıtları için geçerli değildir. Sonuç olarak, kube-system ad alanı dışlanan ad alanları arasında listelenmiş olsa bile, ama-logs agent konteyneri ile ilişkili kayıtlar halen alınır.
Ölçüm ad alanı | Ara? | Ad alanları mı? | Açıklamalar |
---|---|---|---|
Insights.container/düğümler | Evet | Hayır | Düğüm, ad alanı tarafından kapsamlanan bir kaynak değildir |
Insights.konteyner/podlar | Evet | Evet | |
Insights.kapsayıcı/kapsayıcılar | Evet | Evet | |
Insights.kapsayıcı/sürekli hacimler | Evet | Evet |
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üler tablosu |
---|---|
Microsoft-ContainerInventory | Konteyner Envanteri |
Microsoft-ContainerLog | Konteyner Günlüğü |
Microsoft-ContainerLogV2 | ContainerLogV2 |
Microsoft-ContainerLogV2-HighScale | ContainerLogV2 (Yüksek ölçek modu)1 |
Microsoft-ContainerNodeInventory | Konteyner Düğümü Envanteri |
Microsoft-InsightsMetrics | InsightsMetrics |
Microsoft-KubeEvents | KubeEvents |
Microsoft-KubeMonAgentEvents | KubeMonAgentOlayları |
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.
Bir DCR, bir kümeyle ve veri toplama kuralı ilişkilendirmeleri (DCRA) ile ilişkilidir. 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, her kümede toplaması gereken verileri tanımlayan belirli ayarlara sahip bir ConfigMap'i 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:
Bir acente podundan aynı
kubectl logs
komutunu 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, yapılandırma hataları için hata önem derecesiyle her saat Log Analytics çalışma alanınızdaki
KubeMonAgentEvents
tablosuna gönderilir. Hata yoksa, tablodaki girdide hata bulunmadığını belirten önem derecesi bilgisine sahip veriler yer alır. Bu sütun,Tags
hatanın oluştuğu pod ve kapsayıcı kimliği hakkında ve ayrıca son saat içindeki ilk görülme, son görülme 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.
ile tablonun sütununda meta verilerin toplanıp toplanmayacağı denetlenir.Ayar | Veri türü | Değer | Açıklama |
---|---|---|---|
schema-version |
Dize (büyük/küçük harfe duyarlı) | v1 | Aracı, bu ConfigMap'i 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 |
Dize | 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_toplama_ayarları] | |||
[stdout] enabled |
Boolean (Boole Mantığı) | doğru yanlış |
stdout kapsayıcı günlüğü koleksiyonunun etkinleştirilip etkinleştirilmediğini denetler. Ayarlama true yapıldığında ve stdout günlük koleksiyonu için herhangi bir ad alanı dışlanmadığında, stdout günlükleri kümedeki tüm kapsayıcılar, podlar ve düğümler üzerinden toplanır. ConfigMap'te belirtilmezse, varsayılan değer olur true . |
[stdout] exclude_namespaces |
Dize | Virgülle ayrılmış dizi | Stdout günlüklerinin toplanmayacağı Kubernetes ad alanları dizisi. Bu ayar yalnızca enabled değeri true olarak ayarlandıysa geçerlidir. ConfigMap'te belirtilmezse, varsayılan değer şudur:["kube-system","gatekeeper-system"] . |
[stderr] enabled |
Boolean (Boole Mantığı) | doğru yanlış |
stderr kapsayıcı günlüğü koleksiyonunun etkinleştirilip etkinleştirilmediğini denetler.
true olarak ayarlandığında ve stderr günlüğü toplama için hiçbir ad alanı dışlanmadığında, kümedeki tüm podlar ve düğümler genelindeki tüm kapsayıcılardan stderr günlükleri toplanır. ConfigMap'te belirtilmezse, varsayılan değer olur true . |
[stderr] exclude_namespaces |
Dize | Virgülle ayrılmış dizi | Stderr günlüklerinin toplanmayacağı Kubernetes ad alanları dizisi. Bu ayar yalnızca enabled değeri true olarak ayarlandıysa geçerlidir. ConfigMap'te belirtilmezse, varsayılan değer şudur:["kube-system","gatekeeper-system"] . |
[env_var] enabled |
Boolean (Boole Mantığı) | doğru 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 (Boole Mantığı) | doğru yanlış |
Kümedeki tüm kapsayıcı günlükleri için ContainerLog tablosuna yazılan her günlük kaydının Name ve Image özellik değerlerini doldurarak kapsayıcı günlük zenginleştirmesini denetler. ConfigMap'te belirtilmezse, varsayılan değer olur false . |
[collect_all_kube_events] enabled |
Boolean (Boole Mantığı) | doğru 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 |
Kayıt alımı biçimini ayarlar.
isev2 , ContainerLogV2 tablosu kullanılır. Eğer v1 , 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 Kapsayıcı içgörüleri günlük şeması bölümüne bakın. |
[enable_multiline_logs] enabled |
Boolean (Boole Mantığı) | doğru 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 .
schema ayarının v2 olarak ayarlanması gerekir. |
[metadata_collection] enabled |
Boolean (Boole Mantığı) | doğru yanlış |
|
[metadata_collection] include_fields |
Dize | 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"] |
[log_collection_settings.multi_tenancy] enabled |
Boolean (Boole Mantığı) | doğru yanlış |
Çoklu kiracılığın etkinleştirilip etkinleştirilmediğini kontrol eder. Ayrıntılar için bkz. Çok kiracılı yönetilen loglama. ConfigMap'te belirtilmezse, varsayılan değer olur false . |
[metrik_toplama_ayarları] | |||
[collect_kube_system_pv_metrics] enabled |
Boolean (Boole Mantığı) | doğru yanlış |
Kube-system isim alanında kalıcı birim (PV) kullanım metriklerinin 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 (Boole Mantığı) | doğru yanlış |
true olduğunda, proxy 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 . |
[agent_settings.fbit_config] | |||
enable_internal_metrics |
Boolean (Boole Mantığı) | doğru yanlış |
İç ölçüm koleksiyonunun etkinleştirilip etkinleştirilmediğini denetler. ConfigMap'te belirtilmezse, varsayılan değer olur false . |
Sonraki adımlar
- Cihaz içgörüleri'nde gerekmeyen verileri filtrelemek için Kapsayıcı içgörülerini yapılandırarak maliyet tasarrufu sağlama ayrıntıları için Kapsayıcı içgörüleri'nde Günlük Toplamayı Filtreleme konusuna bakın.