Shromažďování protokolů ve velkém měřítku v Container Insights (Preview)

Režim vysokého škálování je funkce v Container Insights, která umožňuje shromažďovat protokoly konzoly kontejneru (stdout &stderr) s vysokou propustností z uzlů clusteru Azure Kubernetes Service (AKS). Tato funkce umožňuje shromažďovat až 50 000 protokolů za sekundu na uzel.

Poznámka:

Tato funkce je v současné době ve verzi Public Preview. Další informace najdete v dodatečných podmínkách použití pro verze Preview Microsoft Azure.

Přehled

Když je povolený režim vysokého škálování, Container Insights provádí několik změn konfigurace, což vede k vyšší celkové propustnosti. To zahrnuje použití upgradovaného agenta a datového kanálu služby Azure Monitor s vylepšením škálování. Azure Monitor provede všechny tyto změny na pozadí a po povolení této funkce nevyžadují vstup ani konfiguraci.

Režim vysokého škálování má vliv jenom na vrstvu shromažďování dat. Zbývající prostředí přehledů kontejnerů zůstává stejné a protokoly se ingestují do stejné ContainerLogV2 tabulky. Stávající dotazy a výstrahy nadále fungují, protože se shromažďují stejná data.

Pokud chcete dosáhnout maximální podporované propustnosti protokolů, měli byste pro uzly clusteru AKS použít skladové položky virtuálních počítačů s 16 jádry procesoru nebo více. Použití skladových položek virtuálních počítačů s nízkou koncovou úrovní bude mít vliv na propustnost protokolů.

Má můj cluster nárok?

Shromažďování protokolů s vysokým škálováním je vhodné pro prostředí, která odesílají více než 2 000 protokolů za sekundu (nebo 2 MB/s) na uzel v clusterech Kubernetes a je navržená a otestovaná pro odesílání až 50 000 protokolů za sekundu na uzel. Pomocí následujících dotazů protokolu určete, jestli je váš cluster vhodný pro shromažďování protokolů ve velkém měřítku.

Protokoly za sekundu a na uzel

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

Velikost protokolu (v MB) za sekundu na uzel

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

Požadavky

  • Azure CLI verze 2.63.0 nebo vyšší
  • Pokud je nainstalované rozšíření AKS-Preview CLI, musí být verze 7.0.0b4 nebo vyšší.
  • Schéma clusteru musí být nakonfigurované pro ContainerLogV2.
  • Pokud výchozí limity prostředků (procesor a paměť) v kontejneru sady démonů ama-logs nevyhovují vašim požadavkům na škálování protokolů, obraťte se na kanál podpory Microsoftu a zvyšte limity prostředků vašeho kontejneru ama-logs.

Požadavky na bránu firewall sítě

Kromě požadavků na bránu firewall sítě pro monitorování clusteru Kubernetes jsou pro povolení režimu vysokého škálování v závislosti na vašem cloudu potřeba další konfigurace v následující tabulce.

Cloud Koncový bod Port
Veřejný cloud Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Microsoft Azure provozovaný cloudem 21Vianet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Cloud Azure Government <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

Koncový bod je koncový bod pro příjem protokolů z koncového bodu shromažďování dat (DCE) pro pravidlo shromažďování dat (DCR) používané clusterem. Tento model DCE se vytvoří, když povolíte režim vysokého škálování pro cluster a začnete s předponou MSCI-ingest.

Snímek obrazovky s koncovým bodem příjmu protokolů pro DCE

Omezení

Následující scénáře nejsou během verze Preview podporované. Tyto funkce budou vyřešeny, jakmile bude funkce obecně dostupná.

  • Clustery AKS s uzly Arm64
  • Kubernetes s podporou Azure Arc
  • Proxy server HTTP s důvěryhodným certifikátem
  • Onboarding prostřednictvím webu Azure Portal, Azure Policy, Terraformu a Bicep
  • Konfigurace prostřednictvím nastavení monitorování v prostředí portálu AKS Insights
  • Automatická migrace z existující služby Container Insights

Povolení shromažďování protokolů ve velkém měřítku

Pokud chcete pro cluster povolit režim vysokého škálování, postupujte podle dvou kroků v následujících částech.

Poznámka:

Režim vysokého škálování protokolů vyžaduje koncový bod shromažďování dat (DCE) pro příjem dat. Při onboardingu se vytvoří DCE příjmu dat s předponou MSCI-ingest pro každý cluster. Pokud je nakonfigurovaný obor privátního propojení služby Azure Monitor, vytvoří se také konfigurace DCE s předponou MSCI-config.

Aktualizace mapy konfigurace

Prvním krokem je aktualizace mapy konfigurace clusteru, aby instruoval pody ama-logs deamonset kontejneru tak, aby běžely v režimu vysokého škálování.

Postupujte podle pokynů v tématu Konfigurace a nasazení objektu ConfigMap ke stažení a aktualizaci objektu ConfigMap pro cluster. Jedinou změnou, kterou je potřeba udělat pro protokoly s vysokým škálováním, je povolit agent_settings.high_log_scale agent-settings následující:

[agent_settings.high_log_scale] 
  enabled = true 

Po použití této mapy konfigurace se pody automaticky restartují a nakonfigurují pody démona ama-logs tak, ama-logs-* aby běžely v režimu vysokého škálování.

Povolení režimu vysokého škálování pro doplněk Monitorování

Povolte doplněk Monitorování s režimem vysokého škálování pomocí následujících příkazů Azure CLI, abyste povolili režim protokolů s vysokým škálováním pro doplněk Monitorování v závislosti na konfiguraci AKS.

Poznámka:

Místo rozhraní příkazového řádku můžete pomocí šablony ARM povolit režim vysokého škálování pro doplněk Monitorování. Pokyny k povolení Služby Container Insights pomocí šablony ARM najdete v tématu Povolení přehledů kontejnerů. Pokud chcete povolit režim vysokého škálování, použijte Microsoft-ContainerLogV2-HighScale místo Microsoft-ContainerLogV2 parametru streams , jak je popsáno v tématu Konfigurace DCR pomocí šablon ARM.

Existující cluster AKS

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

Existující privátní cluster AKS

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

Nový cluster AKS

az aks create -g <cluster-name> -n <cluster-name> enable-addons -a monitoring --enable-high-log-scale-mode  

Nový privátní cluster AKS

Podrobnosti o vytvoření privátního clusteru Azure Kubernetes Service (AKS) najdete v tématu Vytvoření privátního clusteru AKS. Použijte další parametry --enable-high-scale-mode a --ampls-resource-id nakonfigurujte režim vysokého škálování protokolů pomocí ID prostředku oboru služby Azure Monitor Private Link.

Migrace

Pokud už je pro váš cluster povolená služba Container Insights, musíte ho zakázat a pak ho znovu povolit v režimu vysokého škálování.

  • Vzhledem k tomu, že režim vysokého škálování používá jiný datový kanál, je nutné zajistit, aby koncové body kanálu nebyly blokovány bránou firewall nebo jinými síťovými připojeními.
  • Režim vysokého škálování vyžaduje koncový bod shromažďování dat (DCE) pro příjem dat kromě standardního DCR pro shromažďování dat. Pokud jste vytvořili nějaké používané Microsoft.ContainerLogV2řadiče domény, musíte je nahradit duplicitními Microsoft.ContainerLogV2-HighScale daty. Pokud řadič domény ještě nepoužívá, měli byste vytvořit DCE pro příjem dat a propojit ho s dcR. Referenční informace o závislostech najdete v onboardingu Container Insights prostřednictvím Azure Resource Manageru.

Další kroky