Dela via


Insamling av loggar i hög skala i Container Insights (förhandsversion)

Högskalat läge är en funktion i Container Insights som gör att du kan samla in containerkonsolloggar (stdout & stderr) med högt dataflöde från dina AKS-klusternoder (Azure Kubernetes Service). Med den här funktionen kan du samla in upp till 50 000 loggar per nod.

Anteckning

Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Mer information finns i Kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.

Översikt

När läget för hög skalning är aktiverat utför Container Insights flera konfigurationsändringar som resulterar i ett högre övergripande dataflöde. Detta omfattar användning av en uppgraderad agent och Azure Monitor-datapipeline med skalningsförbättringar. Alla dessa ändringar görs i bakgrunden av Azure Monitor och kräver inte indata eller konfiguration när funktionen har aktiverats.

Högskalningsläget påverkar endast datainsamlingslagret. Resten av Container Insights-upplevelsen förblir densamma, med loggar som matas in i samma ContainerLogV2 tabell. Befintliga frågor och aviseringar fortsätter att fungera eftersom samma data samlas in.

För att uppnå maximalt dataflöde för loggar som stöds bör du använda avancerade VM-SKU:er med 16 CPU-kärnor eller mer för dina AKS-klusternoder. Användning av lågpresterande SKU:er för virtuella datorer påverkar loggarnas dataflöde.

Kvalificerar mitt kluster?

Insamling av högskalningsloggar passar för miljöer som skickar mer än 2 000 loggar per sekund (eller 2 MB/s) per nod i sina Kubernetes-kluster och har utformats och testats för att skicka upp till 50 000 loggar per nod. Använd följande loggfrågor för att avgöra om klustret är lämpligt för insamling av loggar i hög skala.

Loggar per sekund och per nod

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

Loggstorlek (i MB) per sekund per nod

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

Förutsättningar

  • Azure CLI version 2.63.0 eller senare.
  • AKS-förhandsversionen av CLI-tillägget måste vara 7.0.0b4 eller högre om ett CLI-tillägg för aks-preview är installerat.
  • Klusterschemat måste konfigureras för ContainerLogV2.
  • Om standardresursgränserna (CPU och minne) på daemonuppsättningscontainern ama-logs inte uppfyller dina krav på loggskalning kontaktar du Microsofts supportkanal för att öka resursgränserna för din ama-logs-container.

Krav för nätverksbrandvägg

Utöver kraven för nätverksbrandväggen för övervakning av ett Kubernetes-kluster krävs ytterligare konfigurationer i följande tabell för att aktivera högskalningsläge beroende på ditt moln.

Moln Slutpunkt Hamn
Offentligt Azure-moln <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Microsoft Azure drivs av 21Vianet-molnet <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Azure för myndighetsmoln <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

Slutpunkten är slutpunkten Logs Ingestion från datainsamlingens slutpunkt (DCE) för den datainsamlingsregel (DCR) som används av klustret. Denna DCE skapas när du aktiverar högskalningsläge för klustret och börjar med prefixet MSCI-ingest.

Skärmbild av slutpunkten för logginmatning för DCE.

Begränsningar

Följande scenarier stöds inte under förhandsversionen. Dessa åtgärdas när funktionen blir allmänt tillgänglig.

  • AKS-kluster med Arm64-noder
  • Kubernetes som har Azure Arc aktiverat
  • HTTP-proxy med betrott certifikat
  • Registrering via Azure Portal, Azure Policy, Terraform och Bicep
  • Konfigurera via Övervakningsinställningar i AKS Insights-portalen
  • Automatisk migrering från befintliga Container Insights

Aktivera insamling av loggar i hög skala

Följ de två stegen i följande avsnitt för att aktivera högskalningsläge för klustret.

Anteckning

Läget för hög loggskalning kräver en datainsamlingsslutpunkt (DCE) för insamling. En DCE för införsel skapas med prefixet MSCI-ingest för varje kluster när du lägger till dem. Om Azure Monitor private link-omfånget har konfigurerats skapas även konfigurations-DCE med prefixet MSCI-config.

Uppdatera konfigurationskarta

Det första steget är att uppdatera configmap för klustret för att instruera Container Insights ama-logs daemonset-poddar att köras i läge för hög skalning.

  1. Följ riktlinjerna i Konfigurera och distribuera ConfigMap för att ladda ned och uppdatera ConfigMap för klustret.

  2. Aktivera högskalningsläge med följande inställning under agent-settings.

    [agent_settings.high_log_scale] 
      enabled = true 
    
  3. Aktivera insamling av interna mått för att fylla I QoS Grafana-instrumentpanelen som beskrivs nedan med följande inställning under agent-settings.

    [agent_settings.fbit_config]
      enable_internal_metrics = "true"
    
  4. Använd ConfigMap på klustret med följande kommandon.

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

När du har tillämpat den här konfigurationskartan ama-logs-* startas poddar om automatiskt och konfigurerar daemonset-poddarna för ama-loggar så att de körs i högskalat läge.

Aktivera högskalemodus för övervakning av tillägg

Aktivera övervakningstillägget med hög skalningsläge med hjälp av följande Azure CLI-kommandon för att aktivera loggläge i hög skala för tillägget Övervakning beroende på din AKS-konfiguration.

Anteckning

I stället för CLI kan du använda en ARM-mall för att aktivera högskalningsläge för tillägget Övervakning. Mer information om hur du aktiverar Container Insights med hjälp av en ARM-mall finns i Aktivera Container Insights . Om du vill aktivera högskalningsläge använder du Microsoft-ContainerLogV2-HighScale i stället för Microsoft-ContainerLogV2 i parametern enligt beskrivningen streams i Konfigurera DCR med ARM-mallar.

Befintligt AKS-kluster

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

Befintligt privat AKS-kluster

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> 

Nytt AKS-kluster

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

Nytt privat AKS-kluster

Mer information om hur du skapar ett privat AKS-kluster (AKS) finns i Skapa ett privat Azure Kubernetes Service-kluster (AKS). Använd de ytterligare parametrarna --enable-high-scale-mode och --ampls-resource-id för att konfigurera läget för hög loggskalning med Resurs-ID för Azure Monitor Private Link-omfång.

Migrering

Om Container Insights redan är aktiverat för klustret måste du inaktivera det och sedan återaktivera det med högskalningsläge.

  • Eftersom högskalat läge använder en annan datapipeline måste du se till att pipelineslutpunkter inte blockeras av en brandvägg eller andra nätverksanslutningar.
  • Högskalningsläge kräver en datainsamlingsslutpunkt (DCE) för inmatning utöver standard-DCR för datainsamling. Om du har skapat några DCR som använder Microsoft.ContainerLogV2, måste du ersätta detta med Microsoft.ContainerLogV2-HighScale eller så kommer data att dupliceras. Du bör också skapa en DCE för inmatning och länka den till DCR om DCR inte redan använder en. För en referens om beroenden, hänvisa till Container Insights onboarding genom Azure Resource Manager.

Övervaka QoS-mått med Prometheus och Grafana

När mängden loggar som genereras är betydande kan det leda till hastighetsbegränsning och loggförlust. Mer information om hur du konfigurerar begränsningsparametrar och övervakning för loggförlust finns i artikeln Konfigurera begränsning för Container Insights .

Nästa steg