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
.
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ímiMicrosoft.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
- Podělte se o zpětnou vazbu nebo problémy s režimem Vysoké měřítko na adrese https://aka.ms/cihsfeedback.