Container Insights'ta yüksek ölçekli log toplama

Yüksek ölçek modu, Container Insights'ta Azure Kubernetes Service (AKS) küme düğümlerinizden yüksek aktarım hızına sahip kapsayıcı konsolu (stdout ve stderr) günlüklerini toplamanızı sağlayan bir özelliktir. Bu özellik, düğüm başına saniyede en fazla 50.000 günlük toplamanızı sağlar.

Overview

Yüksek ölçek modu etkinleştirildiğinde, Container Insights birden çok yapılandırma değişikliği gerçekleştirir ve bu da genel aktarım hızının daha yüksek olmasına neden olur. Bu, yükseltilmiş aracı kullanmayı ve ölçek geliştirmeleri ile Azure İzleyici veri işlem hattını içerir. Bu değişikliklerin tümü Azure İzleyici tarafından arka planda yapılır ve özellik etkinleştirildikten sonra giriş veya yapılandırma gerektirmez.

Yüksek ölçek modu yalnızca veri toplama katmanını etkiler. Container Insights deneyiminin diğer kısımları aynı kalır ve günlükler aynı ContainerLogV2 tabloda işlenir. Aynı veriler toplandığından mevcut sorgular ve uyarılar çalışmaya devam eder.

Desteklenen en yüksek günlük aktarım hızına ulaşmak için AKS küme düğümleriniz için 16 CPU çekirdeğine veya daha fazlasına sahip üst düzey VM SKU'larını kullanmanız gerekir. Düşük kaliteli VM SKU'larının kullanılması, günlüklerinizin işlem hacmini etkiler.

Kümem uygun mu?

Yüksek ölçekli günlük koleksiyonu, Kubernetes kümelerinde düğüm başına 2.000'den fazla günlük/sn (veya 2 MB/sn) gönderen ortamlar için uygundur ve düğüm başına en fazla 50.000 günlük/sn göndermek için tasarlanmış ve test edilmiştir. Kümenizin yüksek ölçekli günlük toplamaya uygun olup olmadığını belirlemek için aşağıdaki günlük sorgularını kullanın.

Saniye ve düğüm başına günlükler

ContainerLogV2 
| where _ResourceId =~ "<cluster-resource-id>" 
| summarize count() by bin(TimeGenerated, 1s), Computer 
| render timechart 

Düğüm başına saniyede (MB cinsinden) günlük boyutu

 ContainerLogV2 
| where _ResourceId =~ "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer 
| render timechart 

Prerequisites

  • Azure CLI sürüm 2.74.0 veya üzeri.
  • Azure CLI'de Azure Arc ile etkinleştirilen Kubernetes'i yönetiyorsanız, k8s uzantısının 1.6.7 veya daha yüksek bir sürümünü kullanın.
  • ContainerLogV2 için küme şeması yapılandırılmalıdır.
  • Ama-logs daemon set kapsayıcısında varsayılan kaynak sınırları (CPU ve bellek) günlük ölçek gereksinimlerinizi karşılamıyorsa, ama-logs kapsayıcınızın kaynak sınırlarını artırmak için Microsoft destek kanalına başvurun.

Ağ güvenlik duvarı gereksinimleri

Kubernetes kümesini izlemeye yönelik ağ güvenlik duvarı gereksinimlerine ek olarak, bulutunuza bağlı olarak yüksek ölçek modunu etkinleştirmek için aşağıdaki tabloda ek yapılandırmalar gerekir.

Cloud Endpoint Port
Azure Genel Bulutu <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
21Vianet bulutu tarafından sağlanan Microsoft Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Azure Kamu bulutu <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

Uç nokta, küme tarafından kullanılan veri toplama kuralı (DCR) için veri toplama uç noktasından (DCE) Günlük Alımı uç noktasıdır. Bu DCE, küme için yüksek ölçek modunu etkinleştirdiğinizde oluşturulur ve ön ekiyle MSCI-ingestbaşlar.

DCE günlük alım uç noktasının ekran görüntüsü.

Limitations

Aşağıdaki senaryolar desteklenmez:

  • Güvenilen sertifikaya sahip HTTP proxy'si
  • Azure portalı aracılığıyla ekleme
  • AKS Insights portalı deneyiminde Monitor Settings aracılığıyla yapılandırma
  • Mevcut Container Insights'tan otomatik geçiş
  • Azure Arc özellikli Kubernetes için Bicep, Terraform Azure İlkesi aracılığıyla ekleme

Yüksek ölçekli günlük toplamayı etkinleştirme

Kümeniz için yüksek ölçek modunu etkinleştirmek için aşağıdaki bölümlerde yer alan iki adımı izleyin.

Note

Yüksek kayıt ölçeği modu, veri alımı için bir veri toplama uç noktası (DCE) gerektirir. Her bir kümeyi eklerken ön eki MSCI-ingest ile bir alma DCE'si oluşturulur. Azure İzleyici özel bağlantı kapsamı yapılandırıldıysa, MSCI-config ön ekiyle oluşturulan yapılandırma DCE'leri de olacaktır.

Güncelle ConfigMap

İlk adım, Container Insights ama-logs deamonset podlarının yüksek ölçek modunda çalıştırılmasını bildirmek üzere kümenin yapılandırma haritasını güncelleştirmektir.

  1. Küme için ConfigMap'i indirip güncelleştirmek için ConfigMap'i yapılandırma ve dağıtma'daki yönergeleri izleyin.

  2. altında agent-settingsaşağıdaki ayar ile yüksek ölçek modunu etkinleştirin.

    [agent_settings.high_log_scale] 
      enabled = true 
    
  3. QoS Grafana panosunu aşağıda açıklanan şekilde doldurmak için agent-settings altında aşağıdaki ayarı etkinleştirin ve iç ölçüm koleksiyonunu etkinleştirin.

    [agent_settings.fbit_config]
      enable_internal_metrics = "true"
    
  4. Aşağıdaki komutlarla kümeye ConfigMap'i uygulayın.

    kubectl config set-context <cluster-name>
    kubectl apply -f <configmap_yaml_file.yaml>
    

Bu yapılandırma haritası uygulandıktan sonra podlar ama-logs-* otomatik olarak yeniden başlatılır ve ama-logs daemonset podlarını yüksek ölçek modunda çalışacak şekilde yapılandırılır.

İzleme eklentisi için yüksek ölçek modunu etkinleştirme

AKS yapılandırmanıza bağlı olarak İzleme eklentisi için yüksek ölçekli günlükler modunu etkinleştirmek üzere aşağıdaki Azure CLI komutlarını kullanarak yüksek ölçek moduyla İzleme Eklentisi'ni etkinleştirin.

Note

Arm, Bicep ve Terraform gibi diğer Container Insights yöntemlerini etkinleştirme yönergeleri için bkz. Container Insights'ı etkinleştirme. Yüksek ölçek modunu etkinleştirmek için, Microsoft-ContainerLogV2-HighScale açıklandığı gibi Microsoft-ContainerLogV2 parametresinde streams yerine kullanın.

Mevcut AKS kümesi

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --workspace-resource-id <workspace-resource-id> --enable-high-log-scale-mode

Mevcut AKS Özel kümesi

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --workspace-resource-id <workspace-resource-id> --enable-high-log-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName> 

Yeni AKS kümesi

az aks create -g <resource-group-name> -n <cluster-name> --enable-addons monitoring --workspace-resource-id <workspace-resource-id> --enable-high-log-scale-mode

Yeni AKS Özel kümesi

AKS Özel kümesi oluşturma hakkında ayrıntılı bilgi için bkz. Özel Azure Kubernetes Service (AKS) kümesi oluşturma. Azure İzleyici Özel Bağlantı Kapsam Kaynak Kimliği ile yüksek log ölçek modunu yapılandırmak için --enable-high-scale-mode ve --ampls-resource-id ek parametreleri kullanın.

ARC özellikli küme

az k8s-extension create --name azuremonitor-containers --resource-group <resource-group-name>  --cluster-name <cluster-name>  --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.enableHighLogScaleMode=true logAnalyticsWorkspaceResourceID=<workspace-resource-id> 

Migration

Container Insights kümeniz için zaten etkinleştirildiyse, bunu devre dışı bırakmanız ve ardından yüksek ölçek moduyla yeniden etkinleştirmeniz gerekir.

  • Yüksek ölçek modu farklı bir veri işlem hattı kullandığından, işlem hattı uç noktalarının güvenlik duvarı veya diğer ağ bağlantıları tarafından engellenmediğinden emin olmanız gerekir.
  • Yüksek ölçek modu, veri toplama için standart DCR'ye ek olarak veri alımı için bir veri toplama uç noktası (DCE) gerektirir. Microsoft-ContainerLogV2 kullanan herhangi bir DCR oluşturduysanız, bunu Microsoft-ContainerLogV2-HighScale ile değiştirmeniz gerekir; aksi takdirde veriler yinelenir. DCR hâlihazırda bir DCE kullanmıyorsa, bir alma DCE'si oluşturmalı ve bunu DCR'ye bağlamalısınız. Bağımlılıklar için referans almak amacıyla Azure Resource Manager üzerinden Kapsayıcı İçgörüler onboarding bölümüne bakın.

Prometheus ve Grafana ile QoS ölçümlerini izleme

Oluşturulan günlüklerin hacmi fazla olduğunda, bu, sınırlamaya ve günlük kaybına neden olabilir. Container Insights için Daraltmayı Yapılandırma makalesine, azaltma parametrelerini yapılandırma ve günlük kaybını izleme hakkında rehberlik için bakın.