Övervaka Kubernetes-klusterprestanda med containerinsikter

Använd arbetsböcker, prestandadiagram och hälsostatus i Container Insights för att övervaka arbetsbelastningen för Kubernetes-kluster som finns i Azure Kubernetes Service (AKS), Azure Stack eller en annan miljö.

Den här artikeln hjälper dig att förstå de två perspektiven och hur Azure Monitor hjälper dig att snabbt utvärdera, undersöka och lösa identifierade problem.

Arbetsböcker

Arbetsböcker kombinerar text, loggfrågor, mått och parametrar i omfattande interaktiva rapporter som du kan använda för att analysera klusterprestanda. En beskrivning av de arbetsböcker som är tillgängliga för containerinsikter och hur du kommer åt dem finns i Arbetsböcker i Container Insights.

Vy över flera kluster från Azure Monitor

Azure Monitor tillhandahåller en vy med flera kluster som visar hälsostatusen för alla övervakade Kubernetes-kluster som distribuerats mellan resursgrupper i dina prenumerationer. Den visar också kluster som identifierats i alla miljöer som inte övervakas av lösningen. Med den här vyn kan du omedelbart förstå klustrets hälsa och sedan öka detaljnivån till nodens och kontrollantens prestandasida eller navigera för att se prestandadiagram för klustret. För AKS-kluster som har identifierats och identifierats som oövervakade kan du aktivera övervakning från vyn.

Om du vill komma åt vyn för flera kluster väljer du Övervaka i det vänstra fönstret i Azure-portalen. Under avsnittet Insikter väljer du Containrar.

Screenshot that shows an Azure Monitor multi-cluster dashboard example.

Du kan omfångsbegränsa resultaten som visas i rutnätet för att visa kluster som är:

  • Azure: AKS- och AKS Engine-kluster som finns i Azure Kubernetes Service.
  • Azure Stack (förhandsversion): AKS-motorkluster som finns i Azure Stack.
  • Icke-Azure (förhandsversion): Kubernetes-kluster som finns lokalt.
  • Alla: Visa alla Kubernetes-kluster som finns i Azure, Azure Stack och lokala miljöer som är registrerade i Container Insights.

Om du vill visa kluster från en specifik miljö väljer du det från Miljö i det övre vänstra hörnet.

Screenshot that shows an Environment selector example.

På fliken Övervakade kluster får du lära dig följande:

  • Hur många kluster som är i ett kritiskt eller felfritt tillstånd jämfört med hur många som är felfria eller inte rapporterar (kallas för ett okänt tillstånd).
  • Om alla Distributioner av Azure Kubernetes Engine (AKS Engine) är felfria.
  • Hur många noder och användar- och systempoddar som distribueras per kluster.

De hälsostatusar som ingår är:

  • Felfri: Inga problem identifieras för den virtuella datorn och fungerar efter behov.
  • Kritisk: Ett eller flera kritiska problem identifieras som måste åtgärdas för att återställa normalt drifttillstånd som förväntat.
  • Varning: Ett eller flera problem identifieras som måste åtgärdas eller så kan hälsotillståndet bli kritiskt.
  • Okänd: Om tjänsten inte kunde upprätta en anslutning till noden eller podden ändras statusen till ett okänt tillstånd.
  • Hittades inte: Antingen har arbetsytan, resursgruppen eller prenumerationen som innehåller arbetsytan för den här lösningen tagits bort.
  • Obehörig: Användaren har inte behörighet att läsa data på arbetsytan.
  • Fel: Ett fel uppstod vid försök att läsa data från arbetsytan.
  • Felkonfigurerad: Containerinsikter har inte konfigurerats korrekt på den angivna arbetsytan.
  • Inga data: Data har inte rapporterats till arbetsytan under de senaste 30 minuterna.

Hälsotillstånd beräknar den övergripande klusterstatusen som det sämsta av de tre tillstånden med ett undantag. Om något av de tre tillstånden är Okänt visar det övergripande klustertillståndet Okänt.

Följande tabell innehåller en uppdelning av beräkningen som styr hälsotillståndet för ett övervakat kluster i vyn för flera kluster.

Övervakat kluster Status Tillgänglighet
Användarpodd Felfri
Varning
Kritiskt
Okänt
100 %
90 - 99%
<90%
Rapporteras inte under de senaste 30 minuterna
Systempodd Felfri
Varning
Kritiskt
Okänt
100 %
Ej tillämpligt
100 %
Rapporteras inte under de senaste 30 minuterna
Node Felfri
Varning
Kritiskt
Okänt
>85%
60 - 84%
<60%
Rapporteras inte under de senaste 30 minuterna

I listan med kluster kan du öka detaljnivån till sidan Kluster genom att välja namnet på klustret. Gå sedan till prestandasidan Noder genom att välja sammanslagning av noder i kolumnen Noder för det specifika klustret. Eller så kan du öka detaljnivån till prestandasidan Styrenheter genom att välja sammanslagning av kolumnen Användarpoddar eller Systempoddar .

Visa prestanda direkt från ett kluster

Åtkomst till Container Insights är tillgänglig direkt från ett AKS-kluster genom att välja Insights-kluster> i den vänstra rutan eller när du valde ett kluster från vyn för flera kluster. Information om klustret är uppdelad i fyra perspektiv:

  • Kluster
  • Noder
  • Kontrollanter
  • Containers

Kommentar

De funktioner som beskrivs i resten av den här artikeln gäller även för att visa prestanda- och hälsostatus för dina Kubernetes-kluster som finns i Azure Stack eller en annan miljö när de väljs från vyn för flera kluster.

Standardsidan öppnas och visar fyra linjeprestandadiagram som visar viktiga prestandamått för klustret.

Screenshot that shows example performance charts on the Cluster tab.

Prestandadiagrammen visar fyra prestandamått:

  • Cpu-användning av noder %: Ett aggregerat perspektiv på CPU-användning för hela klustret. Om du vill filtrera resultatet för tidsintervallet väljer du Genomsnittlig, Min, 50: e, 90: e, 95: e eller Max i percentilväljaren ovanför diagrammet. Filtren kan användas individuellt eller kombineras.
  • Minnesanvändning för noder %: Ett aggregerat perspektiv på minnesanvändning för hela klustret. Om du vill filtrera resultatet för tidsintervallet väljer du Genomsnittlig, Min, 50: e, 90: e, 95: e eller Max i percentilväljaren ovanför diagrammet. Filtren kan användas individuellt eller kombineras.
  • Antal noder: Antal noder och status från Kubernetes. Statusar för de klusternoder som representeras är Totalt, Klart och Inte redo. De kan filtreras individuellt eller kombineras i väljaren ovanför diagrammet.
  • Antal aktiva poddar: Antal poddar och status från Kubernetes. Status för poddarna som representeras är Total, Väntar, Körs, Okänd, Lyckades eller Misslyckades. De kan filtreras individuellt eller kombineras i väljaren ovanför diagrammet.

Använd piltangenterna Vänster och Höger för att bläddra igenom varje datapunkt i diagrammet. Använd piltangenterna Upp och Ned för att växla genom percentillinjerna. Välj fästikonen i det övre högra hörnet i något av diagrammen för att fästa det markerade diagrammet på den sista Azure-instrumentpanelen som du visade. Från instrumentpanelen kan du ändra storlek på och flytta diagrammet. Om du väljer diagrammet från instrumentpanelen omdirigeras du till Container insights och läser in rätt omfång och vy.

Container insights har också stöd för Azure Monitor Metrics Explorer, där du kan skapa egna diagram, korrelera och undersöka trender och fästa på instrumentpaneler. Från Metrics Explorer kan du också använda de kriterier som du anger för att visualisera dina mått som grund för en måttbaserad aviseringsregel.

Visa containermått i Metrics Explorer

I Metrics Explorer kan du visa mått för aggregerad nod- och poddanvändning från Container Insights. I följande tabell sammanfattas informationen som hjälper dig att förstå hur du använder måttdiagrammen för att visualisera containermått.

Namnområde Mätvärde Beskrivning
insights.container/nodes
cpuUsageMillicores Aggregerad mätning av CPU-användning i klustret. Det är en processorkärna uppdelad i 1 000 enheter (milli = 1 000). Används för att fastställa användningen av kärnor i en container där många program kan använda en kärna.
cpuUsagePercentage Aggregerad genomsnittlig CPU-användning mätt i procent i klustret.
memoryRssBytes RSS-containerminne som används i byte.
memoryRssPercentage CONTAINER RSS-minne som används i procent.
memoryWorkingSetBytes Minne för arbetsuppsättningar för containrar som används.
memoryWorkingSetPercentage Minne för arbetsuppsättningar för containrar som används i procent.
nodesCount Ett nodantal från Kubernetes.
insights.container/poddar
PodCount Ett antal poddar från Kubernetes.

Du kan dela upp ett mått för att visa det efter dimension och visualisera hur olika segment av det kan jämföras med varandra. För en nod kan du segmentera diagrammet efter värddimensionen . Från en podd kan du segmentera den efter följande dimensioner:

  • Handkontroll
  • Kubernetes-namnområde
  • Nod
  • Fas

Analysera noder, kontrollanter och containerhälsa

När du växlar till flikarna Noder, Styrenheter och Containrar visas automatiskt ett egenskapsfönster till höger på sidan. Den visar egenskaperna för det markerade objektet, som innehåller de etiketter som du har definierat för att organisera Kubernetes-objekt. När en Linux-nod väljs visar avsnittet Lokal diskkapacitet även det tillgängliga diskutrymmet och procentandelen som används för varje disk som visas för noden. Välj länken >> i fönstret för att visa eller dölja fönstret.

När du expanderar objekten i hierarkin uppdateras egenskapsfönstret baserat på det markerade objektet. I fönstret kan du också visa Kubernetes-containerloggar (stdout/stderror), händelser och poddmått genom att välja fliken Livehändelser överst i fönstret. Mer information om den konfiguration som krävs för att bevilja och kontrollera åtkomst för att visa dessa data finns i Konfigurera livedata.

När du granskar klusterresurser kan du se dessa data från containern i realtid. Mer information om den här funktionen finns i Visa Kubernetes-loggar, händelser och poddmått i realtid.

Om du vill visa Kubernetes-loggdata som lagras på din arbetsyta baserat på fördefinierade loggsökningar väljer du Visa containerloggar i listrutan Visa i analys . Mer information finns i Så här kör du frågor mot loggar från Container Insights.

Använd alternativet + Lägg till filter överst på sidan för att filtrera resultatet för vyn efter tjänst, nod, namnrymd eller nodpool. När du har valt filteromfånget väljer du ett av värdena som visas i fältet Välj värde. När filtret har konfigurerats tillämpas det globalt när du visar alla perspektiv på AKS-klustret. Formeln stöder endast likhetstecknet. Du kan lägga till fler filter ovanpå den första för att ytterligare begränsa dina resultat. Om du till exempel anger ett filter efter Nod kan du bara välja Tjänst eller Namnområde för det andra filtret.

Att ange ett filter på en flik fortsätter att tillämpas när du väljer ett annat. Den tas bort när du har valt x-symbolen bredvid det angivna filtret.

Växla till fliken Noder och radhierarkin följer Kubernetes-objektmodellen, som börjar med en nod i klustret. Expandera noden för att visa en eller flera poddar som körs på noden. Om fler än en container grupperas till en podd visas de som den sista raden i hierarkin. Du kan också visa hur många icke-poddrelaterade arbetsbelastningar som körs på värden om värden har processor- eller minnesbelastning.

Screenshot that shows an example of the Kubernetes Node hierarchy in the performance view.

Windows Server-containrar som kör operativsystemet Windows Server 2019 visas efter alla Linux-baserade noder i listan. När du expanderar en Windows Server-nod kan du visa en eller flera poddar och containrar som körs på noden. När en nod har valts visar egenskapsfönstret versionsinformation.

Screenshot that shows an example Node hierarchy with Windows Server nodes listed.

Virtuella Noder i Azure Container Instances som kör Linux-operativsystemet visas efter den sista AKS-klusternoden i listan. När du expanderar en virtuell nod för containerinstanser kan du visa en eller flera containerinstanser poddar och containrar som körs på noden. Mått samlas inte in och rapporteras för noder, bara för poddar.

Screenshot that shows an example Node hierarchy with Container Instances listed.

Från en expanderad nod kan du öka detaljnivån från podden eller containern som körs på noden till kontrollanten för att visa prestandadata som filtrerats för kontrollanten. Välj värdet under kolumnen Controller för den specifika noden.

Screenshot that shows the drill-down from node to controller in the performance view.

Välj kontrollanter eller containrar överst på sidan för att granska status och resursanvändning för dessa objekt. Om du vill granska minnesanvändningen går du till listrutan Mått och väljer Minnes-RSS eller Minnesarbetsuppsättning. Minnes-RSS stöds endast för Kubernetes version 1.8 och senare. Annars visar du värden för Min % som NaN %, vilket är ett numeriskt datatypvärde som representerar ett odefinierat eller icke-representativt värde.

Screenshot that shows a Container nodes performance view.

Minnesarbetsuppsättningen visar både det inhemska minnet och det virtuella minnet (cacheminnet) som ingår och är totalt vad programmet använder. Minnes-RSS visar bara huvudminnet, vilket inte är något annat än det bosatta minnet. Det här måttet visar den faktiska kapaciteten för tillgängligt minne. Vad är skillnaden mellan internminne och virtuellt minne?

  • Internminne, eller huvudminne, är den faktiska mängden datorminne som är tillgängligt för noderna i klustret.
  • Virtuellt minne är reserverat hårddiskutrymme (cache) som används av operativsystemet för att växla data från minne till disk under minnesbelastning och sedan hämta tillbaka dem till minnet när det behövs.

Prestandadata baseras som standard på de senaste sex timmarna, men du kan ändra fönstret med alternativet TimeRange längst upp till vänster. Du kan också filtrera resultaten inom tidsintervallet genom att välja Min, Genomsnittlig, 50: e, 90: e, 95: e och Max i percentilväljaren.

Screenshot that shows a percentile selection for data filtering.

När du hovra över stapeldiagrammet under kolumnen Trend visar varje stapel processor- eller minnesanvändning, beroende på vilket mått som väljs, inom en exempelperiod på 15 minuter. När du har valt trenddiagrammet via ett tangentbord använder du Alt+Page up-tangenten eller Alt+Page down-tangenten för att bläddra igenom varje stapel individuellt. Du får samma information som om du hovrade över fältet.

Screenshot that shows a Trend bar chart hover-over example.

I nästa exempel, för den första noden i listan , aks-nodepool1-, är värdet för Containrar 25. Det här värdet är en sammanslagning av det totala antalet distribuerade containrar.

Screenshot that shows a rollup of containers-per-node example.

Den här informationen kan hjälpa dig att snabbt identifiera om du har en korrekt balans mellan containrar mellan noder i klustret.

Den information som visas när du visar fliken Noder beskrivs i följande tabell.

Kolumn Beskrivning
Name Namnet på värden.
Status Kubernetes-vy över nodstatus.
Min %, Genomsnittlig %, 50:e %, 90:e %, 95:e %, Max % Genomsnittlig nodprocent baserat på percentil under den valda varaktigheten.
Min, Genomsnittlig, 50:e, 90:e, 95:e, Max Genomsnittliga noders faktiska värde baserat på percentilen under den valda tidsperioden. Det genomsnittliga värdet mäts från den cpu-/minnesgräns som angetts för en nod. För poddar och containrar är det det genomsnittliga värdet som rapporteras av värden.
Containers Antal containrar.
Drifttid Representerar tiden sedan en nod startades eller startades om.
Handkontroll Endast för containrar och poddar. Den visar vilken kontrollant den finns i. Alla poddar finns inte i en kontrollant, så vissa kanske visar N/A.
Trend min %, genomsnittlig %, 50:e %, 90:e %, 95:e %, max % Stapeldiagramtrenden representerar den genomsnittliga percentilmåttprocenten för kontrollanten.

Du kanske märker en arbetsbelastning när du har expanderat en nod med namnet Annan process. Den representerar icke-containerbaserade processer som körs på din nod och innehåller:

  • Självhanterade eller hanterade Kubernetes-processer som inte är containerbaserade.
  • Körningsprocesser för containrar.
  • Kubelet.
  • Systemprocesser som körs på noden.
  • Andra icke-Kubernetes-arbetsbelastningar som körs på nodmaskinvara eller en virtuell dator.

Den beräknas av Total användning från CAdvisor-användning - från containerbaserad process.

I väljaren väljer du Styrenheter.

Screenshot that shows selecting Controllers.]

Här kan du visa prestandahälsan för dina kontrollanter och virtuella nodkontrollanter för containerinstanser eller virtuella nodpoddar som inte är anslutna till en kontrollant.

Screenshot that shows a \<Name> controllers performance view.

Radhierarkin börjar med en kontrollant. När du expanderar en kontrollant visar du en eller flera poddar. Expandera en podd och den sista raden visar containern grupperad till podden. Från en expanderad kontrollant kan du öka detaljnivån till den nod som den körs på för att visa prestandadata som filtrerats för den noden. Container Instances-poddar som inte är anslutna till en kontrollant visas sist i listan.

Screenshot that shows an example Controllers hierarchy with Container Instances pods listed.

Välj värdet under kolumnen Node för den specifika kontrollanten.

Screenshot that shows an example drill-down from controller to node in the performance view.

Den information som visas när du visar kontrollanter beskrivs i följande tabell.

Kolumn Beskrivning
Name Namnet på kontrollanten.
Status Sammanslagningsstatusen för containrarna efter att den har körts med statusen OK, Avslutad, Misslyckad, Stoppad eller Pausad. Om containern körs men statusen antingen inte visades korrekt eller inte hämtades av agenten och inte har svarat på mer än 30 minuter är statusen Okänd. Mer information om statusikonen finns i följande tabell.
Min %, Genomsnittlig %, 50:e %, 90:e %, 95:e %, Max % Sammanslagningsmedelvärde för den genomsnittliga procentandelen av varje entitet för det valda måttet och percentilen.
Min, Genomsnittlig, 50:e, 90:e, 95:e, Max Sammanslagning av den genomsnittliga cpu-millicore- eller minnesprestandan för containern för den valda percentilen. Det genomsnittliga värdet mäts från den cpu-/minnesgräns som angetts för en podd.
Containers Totalt antal containrar för kontrollanten eller podden.
Startar Sammanslagning av antalet omstarter från containrar.
Drifttid Representerar tiden sedan en container startades.
Nod Endast för containrar och poddar. Den visar vilken kontrollant den finns i.
Trend min %, genomsnittlig %, 50:e %, 90:e %, 95:e %, max % Stapeldiagramtrenden representerar kontrollantens genomsnittliga percentilmått.

Ikonerna i statusfältet anger containrarnas onlinestatus.

Ikon Status
Ready running status icon.
Waiting or Paused status icon. Väntar eller pausas
Last reported running status icon. Senast rapporterad körning men har inte svarat på mer än 30 minuter
Successful status icon. Har stoppats eller misslyckats med att stoppa

Statusikonen visar ett antal baserat på vad podden tillhandahåller. Det visar de två värsta delstaterna. När du hovrar över statusen visas en sammanslagningsstatus från alla poddar i containern. Om det inte finns något klart tillstånd visas statusvärdet (0)..

I väljaren väljer du Containrar.

Screenshot that shows selecting Containers.

Här kan du visa prestandahälsan för dina AKS- och Container Instances-containrar.

Screenshot that shows a \<Name> containers performance view.

Från en container kan du öka detaljnivån till en podd eller nod för att visa prestandadata som filtrerats för objektet. Välj värdet under kolumnen Podd eller Nod för den specifika containern.

Screenshot that shows an example drill-down from node to containers in the performance view.

Den information som visas när du visar containrar beskrivs i följande tabell.

Kolumn Beskrivning
Name Namnet på kontrollanten.
Status Om det finns någon status för containrarna. Mer information om statusikonen finns i nästa tabell.
Min %, Genomsnittlig %, 50:e %, 90:e %, 95:e %, Max % Sammanslagningen av den genomsnittliga procentandelen av varje entitet för det valda måttet och percentilen.
Min, Genomsnittlig, 50:e, 90:e, 95:e, Max Sammanslagningen av den genomsnittliga PROCESSOR-millicore- eller minnesprestandan för containern för den valda percentilen. Det genomsnittliga värdet mäts från den cpu-/minnesgräns som angetts för en podd.
Podd Container där podden finns.
Nod  Nod där containern finns.
Startar Representerar tiden sedan en container startades.
Drifttid Representerar tiden sedan en container startades eller startades om.
Trend min %, genomsnittlig %, 50:e %, 90:e %, 95:e %, max % Stapeldiagramtrenden representerar den genomsnittliga percentilmåttprocenten för containern.

Ikonerna i statusfältet anger onlinestatusen för poddar enligt beskrivningen i följande tabell.

Ikon Status
Ready running status icon.
Waiting or Paused status icon. Väntar eller pausas
Last reported running status icon. Senast rapporterad körning men har inte svarat på mer än 30 minuter
Terminated status icon. Har stoppats eller misslyckats med att stoppa
Failed status icon. Feltillstånd

Övervaka och visualisera nätverkskonfigurationer

Azure Network Policy Manager innehåller informativa Prometheus-mått som du kan använda för att övervaka och bättre förstå dina nätverkskonfigurationer. Den innehåller inbyggda visualiseringar i antingen Azure-portalen eller Grafana Labs. Mer information finns i Övervaka och visualisera nätverkskonfigurationer med Azure npm.

Vanliga frågor och svar

Det här avsnittet innehåller svar på vanliga frågor.

Vad representerar "Andra processer" under nodvyn?

Andra processer är avsedda att hjälpa dig att tydligt förstå rotorsaken till den höga resursanvändningen på noden. Den här informationen hjälper dig att skilja användningen mellan containerbaserade processer jämfört med icke-kontaineriserade processer.

Vilka är dessa andra processer?

De är icke-kontaineriserade processer som körs på din nod.

Hur beräknar vi detta?

Andra processer = Total användning från CAdvisor-användning - från containerbaserad process

De andra processerna är:

  • Självhanterade eller hanterade Kubernetes-icke-kontaineriserade processer.
  • Körningsprocesser för containrar.
  • Kubelet.
  • Systemprocesser som körs på noden.
  • Andra icke-Kubernetes-arbetsbelastningar som körs på nodmaskinvara eller en virtuell dator.

Nästa steg