Konfigurera datainsamling och kostnadsoptimering i Container Insights med hjälp av datainsamlingsregeln
Den här artikeln beskriver hur du konfigurerar datainsamling i Container Insights med hjälp av datainsamlingsregeln (DCR) för ditt Kubernetes-kluster. Detta inkluderar förinställda konfigurationer för att optimera dina kostnader. En DCR skapas när du registrerar ett kluster till Container Insights. Denna DCR används av den containerbaserade agenten för att definiera datainsamling för klustret.
DCR används främst för att konfigurera datainsamling av prestanda- och inventeringsdata och för att konfigurera kostnadsoptimering.
Specifik konfiguration som du kan utföra med DCR omfattar:
- Aktivera/inaktivera insamlings- och namnområdesfiltrering för prestanda- och inventeringsdata.
- Definiera insamlingsintervall för prestanda- och inventeringsdata
- Aktivera/inaktivera Syslog-samling
- Välj loggschema
Viktigt!
Fullständig konfiguration av datainsamling i Container Insights kan kräva redigering av både DCR och ConfigMap för klustret eftersom varje metod tillåter konfiguration av en annan uppsättning inställningar.
Se Konfigurera datainsamling i Container Insights med ConfigMap för en lista över inställningar och processen för att konfigurera datainsamling med hjälp av ConfigMap.
Förutsättningar
- AKS-kluster måste använda antingen system- eller användartilldelad hanterad identitet. Om klustret använder ett huvudnamn för tjänsten måste du uppgradera till Hanterad identitet.
Konfigurera datainsamling
DCR som skapas när du aktiverar Container insights heter MSCI-cluster-region-cluster-name<<>>. Du kan visa den i Azure-portalen genom att välja alternativet Datainsamlingsregler på menyn Övervaka i Azure-portalen. I stället för att ändra domänkontrollanten direkt bör du använda någon av metoderna som beskrivs nedan för att konfigurera datainsamling. Mer information om de olika tillgängliga inställningar som används av varje metod finns i Datainsamlingsparametrar .
Varning
Standardupplevelsen för Container Insights beror på alla befintliga dataströmmar. Om du tar bort en eller flera av standardströmmarna blir containerinsikterna otillgängliga och du måste använda andra verktyg som Grafana-instrumentpaneler och loggfrågor för att analysera insamlade data.
Du kan använda Azure-portalen för att aktivera kostnadsoptimering i ditt befintliga kluster när containerinsikter har aktiverats, eller så kan du aktivera containerinsikter i klustret tillsammans med kostnadsoptimering.
Välj klustret i Azure-portalen.
Välj alternativet Insikter i avsnittet Övervakning på menyn.
Om Container Insights redan har aktiverats i klustret väljer du knappen Övervakning Inställningar. Om inte väljer du Konfigurera Azure Monitor och läser Aktivera övervakning på ditt Kubernetes-kluster med Azure Monitor för mer information om hur du aktiverar övervakning.
För AKS och Arc-aktiverade Kubernetes väljer du Använd hanterad identitet om du ännu inte har migrerat klustret till hanterad identitetsautentisering.
Välj en av de kostnadsförinställningar som beskrivs i Kostnadsförinställningar.
Om du vill anpassa inställningarna klickar du på Redigera samlingsinställningar. Mer information om varje inställning finns i Datainsamlingsparametrar . Information om insamlade data finns i Insamlade data nedan.
Spara inställningarna genom att klicka på Konfigurera .
Kostnadsförinställningar
När du använder Azure-portalen för att konfigurera kostnadsoptimering kan du välja från följande förinställda konfigurationer. Du kan välja någon av dessa eller ange egna anpassade inställningar. Som standard använder Container Insights standardförinställningen.
Förinställd kostnad | Insamlingsfrekvens | Namnområdesfilter | Syslog-samling | Insamlade data |
---|---|---|---|---|
Standard | 1 m | Ingen | Inte aktiverad | Alla standardtabeller för containerinsikter |
Kostnadsoptimerad | 5 m | Exkluderar kube-system, gatekeeper-system, azure-arc | Inte aktiverad | Alla standardtabeller för containerinsikter |
Syslog | 1 m | Ingen | Aktiverad som standard | Alla standardtabeller för containerinsikter |
Loggar och händelser | 1 m | Ingen | Inte aktiverad | ContainerLog/ContainerLogV2 KubeEvents KubePodInventory |
Insamlade data
Med alternativet Insamlade data kan du välja de tabeller som är ifyllda för klustret. Detta motsvarar parametern streams
när du utför konfigurationen med CLI eller ARM. Om du väljer något annat alternativ än Alla (standard) blir Container insights-upplevelsen otillgänglig och du måste använda Grafana eller andra metoder för att analysera insamlade data.
Gruppering | Tabeller | Kommentar |
---|---|---|
Alla (standard) | Alla standardtabeller för containerinsikter | Krävs för att aktivera standardvisualiseringar för Container Insights |
Prestanda | Perf, InsightsMetrics | |
Loggar och händelser | ContainerLog eller ContainerLogV2, KubeEvents, KubePodInventory | Rekommenderas om du har aktiverat hanterade Prometheus-mått |
Arbetsbelastningar, distributioner och HPA:er | InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices | |
Beständiga volymer | InsightsMetrics, KubePVInventory |
Parametrar för datainsamling
I följande tabell beskrivs de inställningar för datainsamling som stöds och namnet som används för var och en för olika registreringsalternativ.
Name | beskrivning |
---|---|
Insamlingsfrekvens CLI: interval ARM: dataCollectionInterval |
Avgör hur ofta agenten samlar in data. Giltiga värden är 1–30 m i 1m intervall Standardvärdet är 1 m. Om värdet ligger utanför det tillåtna intervallet är det som standard 1 m. |
Namnområdesfiltrering CLI: namespaceFilteringMode ARM: namespaceFilteringModeForDataCollection |
Inkludera: Samlar endast in data från värdena i fältet namnområden . Exkludera: Samlar in data från alla namnområden förutom värdena i fältet namnområden . Av: Ignorerar val av namnområde och samlar in data på alla namnområden. |
Namnområdesfiltrering CLI: namespaces ARM: namespacesForDataCollection |
Matris med kommaavgränsade Kubernetes-namnområden för att samla in inventerings- och perf-data baserat på namnområdetFilteringMode. Till exempel samlar namnrymder = ["kube-system", "default"] med inställningen Inkludera endast dessa två namnområden. Med inställningen Exkludera samlar agenten in data från alla andra namnområden förutom kube-system och standard. Med en Av-inställning samlar agenten in data från alla namnområden, inklusive kube-system och standard. Ogiltiga och okända namnområden ignoreras. |
Aktivera ContainerLogV2 CLI: enableContainerLogV2 ARM: enableContainerLogV2 |
Boolesk flagga för att aktivera ContainerLogV2-schema. Om värdet är true matas stdout-/stderr-loggarna in i tabellen ContainerLogV2 . Annars matas containerloggarna in i tabellen ContainerLog , om inget annat anges i ConfigMap. När du anger enskilda strömmar måste du inkludera motsvarande tabell för ContainerLog eller ContainerLogV2. |
Insamlade data CLI: streams ARM: streams |
En matris med container insights-tabellströmmar. Se de strömmar som stöds ovan till tabellmappning. |
Tillämpliga tabeller och mått
Inställningarna för insamlingsfrekvens och namnområdesfiltrering gäller inte för alla Container Insights-data. Följande tabeller visar tabellerna i Log Analytics-arbetsytan som används av Container Insights och de mått som samlas in tillsammans med de inställningar som gäller för var och en.
Kommentar
Den här funktionen konfigurerar inställningar för alla container insights-tabeller förutom ContainerLog och ContainerLogV2. Om du vill konfigurera inställningar för dessa tabeller uppdaterar du ConfigMap som beskrivs i inställningarna för agentdatainsamling.
Tabellnamn | Intervall? | Namnområden? | Kommentarer |
---|---|---|---|
ContainerInventory | Ja | Ja | |
ContainerNodeInventory | Ja | Nej | Datainsamlingsinställningen för namnområden är inte tillämplig eftersom Kubernetes Node inte är en resurs med namnområdesomfång |
KubeNodeInventory | Ja | Nej | Datainsamlingsinställningen för namnområden är inte tillämplig Kubernetes Node är inte en resurs med namnområdesomfång |
KubePodInventory | Ja | Ja | |
KubePVInventory | Ja | Ja | |
KubeServices | Ja | Ja | |
KubeEvents | Nej | Ja | Datainsamlingsinställning för intervall gäller inte för Kubernetes-händelser |
Perf | Ja | Ja | Datainsamlingsinställningen för namnområden gäller inte för Kubernetes Node-relaterade mått eftersom Kubernetes-noden inte är ett namnområdesomfångsobjekt. |
InsightsMetrics | Ja | Ja | Datainsamlingsinställningar gäller endast för mått som samlar in följande namnområden: container.azm.ms/kubestate, container.azm.ms/pv och container.azm.ms/gpu |
Namnområde för mått | Intervall? | Namnområden? | Kommentarer |
---|---|---|---|
Insights.container/nodes | Ja | Nej | Noden är inte en resurs med namnområdesomfång |
Insights.container/poddar | Ja | Ja | |
Insights.container/containers | Ja | Ja | |
Insights.container/persistentvolumes | Ja | Ja |
Strömma värden
När du anger vilka tabeller som ska samlas in med HJÄLP av CLI eller ARM anger du ett dataströmnamn som motsvarar en viss tabell på Log Analytics-arbetsytan. I följande tabell visas dataströmnamnet för varje tabell.
Kommentar
Om du är bekant med strukturen för en datainsamlingsregel anges dataströmnamnen i den här tabellen i avsnittet dataflöden i DCR.
Stream | Container insights-tabell |
---|---|
Microsoft-ContainerInventory | ContainerInventory |
Microsoft-ContainerLog | ContainerLog |
Microsoft-ContainerLogV2 | ContainerLogV2 |
Microsoft-ContainerNodeInventory | ContainerNodeInventory |
Microsoft-InsightsMetrics | InsightsMetrics |
Microsoft-KubeEvents | KubeEvents |
Microsoft-KubeMonAgentEvents | KubeMonAgentEvents |
Microsoft-KubeNodeInventory | KubeNodeInventory |
Microsoft-KubePodInventory | KubePodInventory |
Microsoft-KubePVInventory | KubePVInventory |
Microsoft-KubeServices | KubeServices |
Microsoft-Perf | Perf |
Påverkan på visualiseringar och aviseringar
Om du för närvarande använder tabellerna ovan för andra anpassade aviseringar eller diagram kan det försämra dessa funktioner genom att ändra inställningarna för datainsamlingen. Om du utesluter namnområden eller minskar datainsamlingsfrekvensen granskar du dina befintliga aviseringar, instrumentpaneler och arbetsböcker med hjälp av dessa data.
Om du vill söka efter aviseringar som refererar till dessa tabeller kör du följande Azure Resource Graph-fråga:
resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "Perf" or properties contains "InsightsMetrics" or properties contains "ContainerInventory" or properties contains "ContainerNodeInventory" or properties contains "KubeNodeInventory" or properties contains"KubePodInventory" or properties contains "KubePVInventory" or properties contains "KubeServices" or properties contains "KubeEvents"
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc
Nästa steg
- Se Konfigurera datainsamling i Container Insights med hjälp av ConfigMap för att konfigurera datainsamling med hjälp av ConfigMap i stället för DCR.