Övervaka Kubernetes-kluster med hjälp av Azure-tjänster och molnbaserade verktyg
Den här artikeln beskriver hur du övervakar hälsotillståndet och prestandan för dina Kubernetes-kluster och de arbetsbelastningar som körs på dem med hjälp av Azure Monitor och relaterade inbyggda Azure- och molntjänster. Detta omfattar kluster som körs i Azure Kubernetes Service (AKS) eller andra moln som AWS och GCP. Olika uppsättningar med vägledning tillhandahålls för de olika roller som vanligtvis hanterar unika komponenter som utgör en Kubernetes-miljö.
Viktigt!
Den här artikeln innehåller fullständig vägledning om övervakning av de olika skikten i Kubernetes-miljön baserat på Azure Kubernetes Service (AKS) eller Kubernetes-kluster i andra moln. Om du precis har börjat med AKS eller Azure Monitor kan du läsa Övervaka AKS för grundläggande information för att komma igång med övervakning av ett AKS-kluster.
Lager och roller i Kubernetes-miljön
Nedan visas en bild av en vanlig modell av en typisk Kubernetes-miljö, från infrastrukturlagret upp till program. Varje lager har distinkta övervakningskrav som hanteras av olika tjänster och vanligtvis hanteras av olika roller i organisationen.
Ansvaret för de olika lagren i en Kubernetes-miljö och de program som är beroende av den hanteras vanligtvis av flera roller. Beroende på organisationens storlek kan dessa roller utföras av olika personer eller till och med olika team. I följande tabell beskrivs de olika rollerna medan avsnitten nedan innehåller de övervakningsscenarier som var och en vanligtvis kommer att stöta på.
Roller | beskrivning |
---|---|
Utvecklare | Utveckla och underhålla programmet som körs i klustret. Ansvarig för programspecifik trafik, inklusive programprestanda och fel. Underhåller programmets tillförlitlighet enligt serviceavtal. |
Plattformstekniker | Ansvarig för Kubernetes-klustret. Etablerar och underhåller den plattform som används av utvecklare. |
Nätverkstekniker | Ansvarar för trafik mellan arbetsbelastningar och eventuell ingress/utgående trafik med klustret. Analyserar nätverkstrafik och utför hotanalys. |
Val av övervakningsverktyg
Azure tillhandahåller en fullständig uppsättning tjänster som baseras på Azure Monitor för övervakning av hälsotillstånd och prestanda för olika lager i Kubernetes-infrastrukturen och de program som är beroende av den. Dessa tjänster fungerar tillsammans med varandra för att tillhandahålla en fullständig övervakningslösning och rekommenderas både för AKS och dina Kubernetes-kluster som körs i andra moln. Du kan ha en befintlig investering i molnbaserad teknik som stöds av Cloud Native Computing Foundation, i vilket fall du kan välja att integrera Azure-verktyg i din befintliga miljö.
Ditt val av vilka verktyg som ska distribueras och deras konfiguration beror på kraven för din specifika miljö. Du kan till exempel använda de hanterade erbjudandena i Azure för Prometheus och Grafana, eller så kan du välja att använda din befintliga installation av dessa verktyg med dina Kubernetes-kluster i Azure. Din organisation kan också använda alternativa verktyg till containerinsikter för att samla in och analysera Kubernetes-loggar, till exempel Splunk eller Datadog.
Viktigt!
Att övervaka en komplex miljö som Kubernetes innebär att samla in en betydande mängd telemetri, varav mycket medför en kostnad. Du bör samla in tillräckligt med data för att uppfylla dina krav. Detta inkluderar mängden data som samlas in, insamlingsfrekvensen och kvarhållningsperioden. Om du är mycket kostnadsmedveten kan du välja att implementera en delmängd av de fullständiga funktionerna för att minska dina övervakningsutgifter.
Nätverkstekniker
Nätverksteknikern ansvarar för trafik mellan arbetsbelastningar och inkommande/utgående trafik med klustret. De analyserar nätverkstrafik och utför hotanalys.
Azure-tjänster för nätverksadministratör
I följande tabell visas de tjänster som ofta används av nätverksteknikern för att övervaka hälsotillståndet och prestandan för nätverket som stöder Kubernetes-klustret.
Tjänst | beskrivning |
---|---|
Network Watcher | Paket med verktyg i Azure för att övervaka de virtuella nätverk som används av dina Kubernetes-kluster och diagnostisera identifierade problem. |
Trafikanalys | Funktion i Network Watcher som analyserar flödesloggar för att ge insikter om trafikflödet. |
Nätverksinsikter | Funktion i Azure Monitor som innehåller en visuell representation av prestanda och hälsotillstånd för olika nätverkskomponenter och ger åtkomst till de verktyg för nätverksövervakning som ingår i Network Watcher. |
Nätverksinsikter är aktiverade som standard och kräver ingen konfiguration. Network Watcher är också vanligtvis aktiverat som standard i varje Azure-region.
Övervaka nivå 1 – Nätverk
Följande är vanliga scenarier för övervakning av nätverket.
- Skapa flödesloggar för att logga information om IP-trafik som flödar genom nätverkssäkerhetsgrupper som används av klustret och använd sedan trafikanalys för att analysera och ge insikter om dessa data. Du använder förmodligen samma Log Analytics-arbetsyta för trafikanalys som du använder för Container Insights och dina kontrollplansloggar.
- Med hjälp av trafikanalys kan du avgöra om någon trafik flödar till eller från oväntade portar som används av klustret och även om någon trafik flödar över offentliga IP-adresser som inte ska exponeras. Använd den här informationen för att avgöra om dina nätverksregler behöver ändras.
- För AKS-kluster använder du tillägget Network Observability för AKS (förhandsversion) för att övervaka och observera åtkomst mellan tjänster i klustret (trafik i öst-väst).
Plattformstekniker
Plattformsteknikern, även kallad klusteradministratör, ansvarar för själva Kubernetes-klustret. De etablerar och underhåller den plattform som används av utvecklare. De måste förstå hälsotillståndet för klustret och dess komponenter och kunna felsöka eventuella identifierade problem. De måste också förstå kostnaden för att driva klustret och eventuellt kunna allokera kostnader till olika team.
Stora organisationer kan också ha en vagnparksarkitekt som liknar plattformsteknikern men som ansvarar för flera kluster. De behöver insyn i hela miljön och måste utföra administrativa uppgifter i stor skala. I skala ingår rekommendationer i vägledningen nedan. Mer information om hur du skapar en fleet-resurs för scenarier med flera kluster och i stor skala finns i Vad är Azure Kubernetes Fleet Manager?
Azure-tjänster för plattformstekniker
I följande tabell visas Azure-tjänsterna för plattformsteknikern för att övervaka hälsotillståndet och prestandan för Kubernetes-klustret och dess komponenter.
Tjänst | beskrivning |
---|---|
Containerinsikter | Azure-tjänsten för AKS- och Azure Arc-aktiverade Kubernetes-kluster som använder en containerbaserad version av Azure Monitor-agenten för att samla in stdout-/stderr-loggar, prestandamått och Kubernetes-händelser från varje nod i klustret. Du kan visa data i Azure Portal eller köra frågor mot dem med hjälp av Log Analytics. Konfigurera Prometheus-upplevelsen för att använda Container Insights-vyer med Prometheus-data. |
Azure Monitor-hanterad tjänst för Prometheus | Prometheus är en molnbaserad måttlösning från Cloud Native Compute Foundation och det vanligaste verktyget som används för att samla in och analysera måttdata från Kubernetes-kluster. Azure Monitor-hanterad tjänst för Prometheus är en fullständigt hanterad lösning som är kompatibel med Prometheus-frågespråket (PromQL) och Prometheus-aviseringar och integreras med Azure Managed Grafana för visualisering. Den här tjänsten stöder din investering i öppen källkod verktyg utan komplexiteten i att hantera din egen Prometheus-miljö. |
Azure Arc-aktiverade Kubernetes | Gör att du kan ansluta till Kubernetes-kluster som körs i andra moln så att du kan hantera och konfigurera dem i Azure. Med Arc-agenten installerad kan du övervaka AKS- och hybridkluster tillsammans med samma metoder och verktyg, inklusive Container Insights och Prometheus. |
Azure Managed Grafana | Fullständigt hanterad implementering av Grafana, som är en datavisualiseringsplattform med öppen källkod som ofta används för att presentera Prometheus och andra data. Flera fördefinierade Grafana-instrumentpaneler är tillgängliga för övervakning av Kubernetes och fullständig stack-felsökning. |
Konfigurera övervakning för plattformstekniker
I avsnitten nedan beskrivs stegen för fullständig övervakning av Kubernetes-miljön med hjälp av Azure-tjänsterna i tabellen ovan. Funktioner och integreringsalternativ tillhandahålls för var och en för att hjälpa dig att avgöra var du kan behöva ändra den här konfigurationen för att uppfylla dina specifika krav.
Registrering av containerinsikter och hanterad Prometheus kan vara en del av samma upplevelse som beskrivs i Aktivera övervakning för Kubernetes-kluster. I följande avsnitt beskrivs var och en separat så att du kan överväga alla dina registrering och konfigurationsalternativ för var och en.
Aktivera skrapning av Prometheus-mått
Viktigt!
Om du vill använda azure monitor-hanterad tjänst för Prometheus måste du ha en Azure Monitor-arbetsyta. Information om designöverväganden för en arbetsytekonfiguration finns i Azure Monitor-arbetsytearkitektur.
Aktivera skrapning av Prometheus-mått från Azure Monitor-hanterad tjänst för Prometheus från klustret med någon av följande metoder:
- Välj alternativet Aktivera Prometheus-mått när du skapar ett AKS-kluster.
- Välj alternativet Aktivera Prometheus-mått när du aktiverar Containerinsikter i ett befintligt AKS-kluster eller Azure Arc-aktiverat Kubernetes-kluster.
- Aktivera för ett befintligt AKS-kluster eller Ett Arc-aktiverat Kubernetes-kluster.
Om du redan har en Prometheus-miljö som du vill använda för dina AKS-kluster aktiverar du Azure Monitor-hanterad tjänst för Prometheus och använder sedan fjärrskrivning för att skicka data till din befintliga Prometheus-miljö. Du kan också använda fjärrskrivning för att skicka data från din befintliga självhanterade Prometheus-miljö till azure monitor-hanterad tjänst för Prometheus.
Se Standardkonfiguration av Prometheus-mått i Azure Monitor för mer information om de mått som samlas in som standard och deras samlingsfrekvens. Om du vill anpassa konfigurationen kan du läsa Anpassa skrapning av Prometheus-mått i Azure Monitor-hanterad tjänst för Prometheus.
Aktivera Grafana för analys av Prometheus-data
Kommentar
Använd Grafana för att övervaka Kubernetes-miljön om du har en befintlig investering i Grafana eller om du föredrar att använda Grafana-instrumentpaneler i stället för Container insights för att analysera dina Prometheus-data. Om du inte vill använda Grafana aktiverar du Prometheus-upplevelsen i Container Insights så att du kan använda Container Insights-vyer med dina Prometheus-data.
Skapa en instans av Managed Grafana och länka den till din Azure Monitor-arbetsyta så att du kan använda dina Prometheus-data som datakälla. Du kan också utföra den här konfigurationen manuellt med azure monitor-hanterad tjänst för Prometheus som datakälla. En mängd olika fördefinierade instrumentpaneler är tillgängliga för övervakning av Kubernetes-kluster, inklusive flera som innehåller liknande information som Container Insights-vyer.
Om du har en befintlig Grafana-miljö kan du fortsätta att använda den och lägga till Azure Monitor-hanterad tjänst för Prometheus som datakälla. Du kan också lägga till Azure Monitor-datakällan i Grafana för att använda data som samlats in av Container Insights i anpassade Grafana-instrumentpaneler. Utför den här konfigurationen om du vill fokusera på Grafana-instrumentpaneler i stället för att använda Container Insights-vyer och -rapporter.
Aktivera Container Insights för insamling av loggar
När du aktiverar Container Insights för ditt Kubernetes-kluster distribuerar det en containerbaserad version av Azure Monitor-agenten som skickar data till en Log Analytics-arbetsyta i Azure Monitor. Containerinsikter samlar in container stdout/stderr, infrastrukturloggar och prestandadata. Alla loggdata lagras på en Log Analytics-arbetsyta där de kan analyseras med hjälp av Kusto-frågespråk (KQL).
Se Aktivera containerinsikter för krav och konfigurationsalternativ för registrering av kubernetes-kluster. Registrera med Hjälp av Azure Policy för att säkerställa att alla kluster behåller en konsekvent konfiguration.
När Container Insights har aktiverats för ett kluster utför du följande åtgärder för att optimera installationen.
- Aktivera Prometheus-upplevelsen i Container Insights så att du kan använda Container Insights-vyer med dina Prometheus-data.
- Om du vill förbättra frågeupplevelsen med data som samlas in av Container Insights och minska insamlingskostnaderna aktiverar du ContainerLogV2-schemat för varje kluster. Om du bara använder loggar för tillfällig felsökning kan du överväga att konfigurera den här tabellen som grundläggande loggar.
- Använd kostnadsförinställningar som beskrivs i Aktivera inställningar för kostnadsoptimering i Container insights för att minska kostnaden för datainmatning för Container Insights genom att minska mängden data som samlas in. Inaktivera insamling av mått genom att konfigurera containerinsikter för att endast samla in loggar och händelser eftersom många av samma måttvärden som Prometheus.
Om du har en befintlig lösning för insamling av loggar följer du vägledningen för verktyget eller aktiverar Container insights och använder dataexportfunktionen i Log Analytics-arbetsytan för att skicka data till Azure Event Hubs för att vidarebefordra till ett alternativt system.
Samla in kontrollplansloggar för AKS-kluster
Loggarna för AKS-kontrollplanskomponenter implementeras i Azure som resursloggar. Container Insights använder inte dessa loggar, så du måste skapa egna loggfrågor för att visa och analysera dem. Mer information om loggstruktur och frågor finns i Köra frågor mot loggar från Container Insights.
Skapa en diagnostikinställning för varje AKS-kluster för att skicka resursloggar till en Log Analytics-arbetsyta. Använd Azure Policy för att säkerställa konsekvent konfiguration i flera kluster.
Det finns en kostnad för att skicka resursloggar till en arbetsyta, så du bör bara samla in de loggkategorier som du tänker använda. En beskrivning av de kategorier som är tillgängliga för AKS finns i Resursloggar. Börja med att samla in ett minimalt antal kategorier och ändra sedan diagnostikinställningen för att samla in ytterligare kategorier när dina behov ökar och som du förstår dina associerade kostnader. Du kan skicka loggar till ett Azure Storage-konto för att minska kostnaderna om du behöver behålla informationen av efterlevnadsskäl. Mer information om kostnaden för att mata in och behålla loggdata finns i Prisinformation för Azure Monitor-loggar.
Om du är osäker på vilka resursloggar som ska aktiveras initialt använder du följande rekommendationer, som baseras på de vanligaste kundkraven. Du kan aktivera andra kategorier senare om du behöver det.
Kategori | Möjliggöra? | Mål |
---|---|---|
kube-apiserver | Aktivera | Log Analytics-arbetsyta |
kube-audit | Aktivera | Azure Storage. Detta håller kostnaderna till ett minimum men behåller granskningsloggarna om de krävs av en revisor. |
kube-audit-admin | Aktivera | Log Analytics-arbetsyta |
kube-controller-manager | Aktivera | Log Analytics-arbetsyta |
kube-scheduler | Inaktivera | |
cluster-autoscaler | Aktivera om autoskalning är aktiverat | Log Analytics-arbetsyta |
vakt | Aktivera om Microsoft Entra-ID är aktiverat | Log Analytics-arbetsyta |
AllaMått | Inaktivera eftersom mått samlas in i Managed Prometheus | Log Analytics-arbetsyta |
Om du har en befintlig lösning för insamling av loggar följer du antingen vägledningen för verktyget eller aktiverar Container insights och använder dataexportfunktionen i Log Analytics-arbetsytan för att skicka data till Azure Event Hub för att vidarebefordra till ett alternativt system.
Samla in aktivitetslogg för AKS-kluster
Konfigurationsändringar i dina AKS-kluster lagras i aktivitetsloggen. Skapa en diagnostikinställning för att skicka dessa data till Log Analytics-arbetsytan för att analysera dem med andra övervakningsdata. Det kostar ingenting för den här datainsamlingen och du kan analysera eller avisera om data med hjälp av Log Analytics.
Övervaka nivå 2 – Komponenter på klusternivå
Klusternivån innehåller följande komponenter:
Komponent | Övervakningskrav |
---|---|
Nod | Förstå beredskapsstatus och prestanda för PROCESSOR-, minnes-, disk- och IP-användning för varje nod och övervaka deras användningstrender proaktivt innan du distribuerar arbetsbelastningar. |
Följande är vanliga scenarier för övervakning av komponenter på klusternivå.
Containerinsikter
- Använd klustervyn för att se prestanda för noderna i klustret, inklusive processor- och minnesanvändning.
- Använd vyn Noder för att se hälsotillståndet för varje nod och hälsotillståndet och prestanda för poddarna som körs på dem. Mer information om hur du analyserar nodhälsa och prestanda finns i Övervaka kubernetes-klusterprestanda med Container Insights.
- Under Rapporter använder du arbetsböckerna För nodövervakning för att analysera diskkapacitet, disk-I/O och GPU-användning. Mer information om dessa arbetsböcker finns i Nodövervakningsarbetsböcker.
- Under Övervakning väljer du Arbetsböcker och sedan IP-användning för undernät för att se IP-allokering och tilldelning på varje nod för ett valt tidsintervall.
Grafana-instrumentpaneler
- Använd den fördefinierade instrumentpanelen i Managed Grafana for Kubelet för att se hälsa och prestanda för var och en.
- Använd Grafana-instrumentpaneler med Prometheus-måttvärden relaterade till diskar som
node_disk_io_time_seconds_total
ochwindows_logical_disk_free_bytes
för att övervaka ansluten lagring. - Flera Kubernetes-instrumentpaneler är tillgängliga som visualiserar prestanda och hälsa för dina noder baserat på data som lagras i Prometheus.
Log Analytics
- Välj kategorin Containrar i frågedialogrutan för Log Analytics-arbetsytan för att få åtkomst till fördefinierade loggfrågor för klustret, inklusive den bildinventeringsloggfråga som hämtar data från tabellen ContainerImageInventory som fylls i av Container Insights.
Felsökning
- För felsökningsscenarier kan du behöva komma åt noder direkt för underhåll eller omedelbar logginsamling. I säkerhetssyfte exponeras inte AKS-noder för Internet, men du kan använda
kubectl debug
kommandot till SSH till AKS-noderna. Mer information om den här processen finns i Ansluta med SSH till AKS-klusternoder (Azure Kubernetes Service) för underhåll eller felsökning.
Kostnadsanalys
- Konfigurera OpenCost, som är ett leverantörsneutralt CNCF-sandbox-projekt med öppen källkod för att förstå dina Kubernetes-kostnader, för att stödja din analys av dina klusterkostnader. Den exporterar detaljerade kostnadsdata till Azure Storage.
- Använd data från OpenCost för att dela upp den relativa användningen av klustret av olika team i din organisation så att du kan allokera kostnaden mellan var och en.
- Använd data från OpenCost för att säkerställa att klustret använder den fulla kapaciteten för sina noder genom att packa arbetsbelastningar tätt, med färre stora noder i stället för många mindre noder.
Övervaka nivå 3 – Hanterade Kubernetes-komponenter
Den hanterade Kubernetes-nivån innehåller följande komponenter:
Komponent | Övervakning |
---|---|
API Server | Övervaka statusen för API-servern och identifiera eventuella ökningar av begärandebelastning och flaskhalsar om tjänsten är nere. |
Kubelet | Övervaka Kubelet för att felsöka poddhanteringsproblem, poddar som inte startar, noder som inte är redo eller poddar som avlivas. |
Följande är vanliga scenarier för övervakning av dina hanterade Kubernetes-komponenter.
Containerinsikter
- Under Övervakning väljer du Mått för att visa räknare för Inflight-begäranden .
- Under Rapporter använder du Kubelet-arbetsboken för att se hälsotillståndet och prestandan för varje kubelet. Mer information om dessa arbetsböcker finns i Resursövervakningsarbetsböcker.
Grafana
- Använd den fördefinierade instrumentpanelen i Managed Grafana for Kubelet för att se hälsotillståndet och prestandan för varje kubelet.
- Använd en instrumentpanel, till exempel Kubernetes apiserver , för en fullständig vy över API-serverns prestanda. Detta inkluderar värden som svarstid för begäranden och bearbetningstid för arbetsköer.
Log Analytics
Använd loggfrågor med resursloggar för att analysera kontrollplansloggar som genereras av AKS-komponenter.
Alla konfigurationsaktiviteter för AKS loggas i aktivitetsloggen. När du skickar aktivitetsloggen till en Log Analytics-arbetsyta kan du analysera den med Log Analytics. Följande exempelfråga kan till exempel användas för att returnera poster som identifierar en lyckad uppgradering i alla dina AKS-kluster.
AzureActivity | where CategoryValue == "Administrative" | where OperationNameValue == "MICROSOFT.CONTAINERSERVICE/MANAGEDCLUSTERS/WRITE" | extend properties=parse_json(Properties_d) | where properties.message == "Upgrade Succeeded" | order by TimeGenerated desc
Felsökning
- För felsökningsscenarier kan du komma åt kubelet-loggar med hjälp av processen som beskrivs i Hämta kubelet-loggar från AKS-klusternoder (Azure Kubernetes Service).
Övervaka nivå 4 – Kubernetes-objekt och arbetsbelastningar
Kubernetes-objekt- och arbetsbelastningsnivån innehåller följande komponenter:
Komponent | Övervakningskrav |
---|---|
Distributioner | Övervaka verkligt kontra önskat tillstånd för distributionen och status och resursanvändning för poddarna som körs på dem. |
Poddar | Övervaka status och resursanvändning, inklusive CPU och minne, för poddar som körs i AKS-klustret. |
Containers | Övervaka resursanvändningen, inklusive CPU och minne, för containrarna som körs i AKS-klustret. |
Följande är vanliga scenarier för övervakning av kubernetes-objekt och arbetsbelastningar.
Containerinsikter
- Använd vyerna Noder och Kontrollanter för att se hälsotillståndet och prestandan för de poddar som körs på dem och öka detaljnivån för deras containrars hälsa och prestanda.
- Använd vyn Containrar för att se hälsotillståndet och prestandan för containrarna. Mer information om hur du analyserar containerhälsa och prestanda finns i Övervaka kubernetes-klusterprestanda med Container Insights.
- Under Rapporter använder du arbetsboken Distributioner för att se distributionsmått. Mer information finns i Distributions- och HPA-mått med Container Insights.
Grafana-instrumentpaneler
- Använd de fördefinierade instrumentpanelerna i Managed Grafana för Noder och poddar för att visa deras hälsa och prestanda.
- Flera Kubernetes-instrumentpaneler är tillgängliga som visualiserar prestanda och hälsa för dina noder baserat på data som lagras i Prometheus.
Livedata
- I felsökningsscenarier ger Container Insights åtkomst till aktiva AKS-containerloggar (stdout/stderror), händelser och poddmått. Mer information om den här funktionen finns i Visa Kubernetes-loggar, händelser och poddmått i realtid.
Aviseringar för plattformsteknikern
Aviseringar i Azure Monitor meddelar dig proaktivt om intressanta data och mönster i dina övervakningsdata. Det gör att du kan identifiera och åtgärda problem i systemet innan kunderna märker dem. Om du har en befintlig ITSM-lösning för aviseringar kan du integrera den med Azure Monitor. Du kan också exportera arbetsytedata för att skicka data från Log Analytics-arbetsytan till en annan plats som stöder din aktuella aviseringslösning.
Aviseringstyper
I följande tabell beskrivs de olika typerna av anpassade aviseringsregler som du kan skapa baserat på de data som samlas in av tjänsterna som beskrivs ovan.
Aviseringstyp | beskrivning |
---|---|
Prometheus-aviseringar | Prometheus-aviseringar skrivs i Prometheus Query Language (Prom QL) och tillämpas på Prometheus-mått som lagras i Azure Monitor-hanterade tjänster för Prometheus. Rekommenderade aviseringar innehåller redan de vanligaste Prometheus-aviseringarna och du kan skapa ytterligare aviseringsregler efter behov. |
Måttaviseringsregler | Måttaviseringsregler använder samma måttvärden som Metrics Explorer. I själva verket kan du skapa en aviseringsregel direkt från måttutforskaren med de data som du analyserar för närvarande. Måttaviseringsregler kan vara användbara för att avisera om AKS-prestanda med hjälp av något av värdena i AKS-datareferensmått. |
Varningsregler för loggsökning | Använd aviseringsregler för loggsökning för att generera en avisering från resultatet av en loggfråga. Mer information finns i How to create log search alerts from Container Insights and How to query logs from Container Insights (Skapa loggsökningsaviseringar från Container Insights ) och Så här kör du frågor mot loggar från Container Insights. |
Rekommenderade aviseringar
Börja med en uppsättning rekommenderade Prometheus-aviseringar från måttaviseringsregler i Container insights (förhandsversion) som innehåller de vanligaste aviseringsvillkoren för ett Kubernetes-kluster. Du kan lägga till fler aviseringsregler senare när du identifierar ytterligare aviseringsvillkor.
Utvecklare
Förutom att utveckla programmet underhåller utvecklaren programmet som körs i klustret. De ansvarar för programspecifik trafik, inklusive programprestanda och fel och underhåller programmets tillförlitlighet enligt företagsdefinierade serviceavtal.
Azure-tjänster för utvecklare
I följande tabell visas de tjänster som ofta används av utvecklaren för att övervaka hälsotillståndet och prestandan för programmet som körs i klustret.
Tjänst | beskrivning |
---|---|
Application Insights | Funktion i Azure Monitor som tillhandahåller övervakning av programprestanda (APM) för att övervaka program som körs i ditt Kubernetes-kluster från utveckling, via test och till produktion. Identifiera och minimera snabbt problem med svarstid och tillförlitlighet med hjälp av distribuerade spårningar. Stöder OpenTelemetry för leverantörsneutral instrumentation. |
Se Grunderna för datainsamling i Azure Monitor Application Insights för alternativ för att konfigurera datainsamling från programmet som körs i klustret och beslutskriterier för den bästa metoden för dina specifika krav.
Övervaka nivå 5 – Program
Följande är vanliga scenarier för övervakning av ditt program.
Programprestanda
- Använd prestandavyn i Application Insights för att visa prestanda för olika åtgärder i ditt program.
- Använd Profiler för att samla in och visa prestandaspårningar för ditt program.
- Använd Programkarta för att visa beroenden mellan dina programkomponenter och identifiera eventuella flaskhalsar.
- Aktivera distribuerad spårning, som ger en prestandaprofilerare som fungerar som anropsstackar för moln- och mikrotjänstarkitekturer, för att få bättre observerbarhet i interaktionen mellan tjänster.
Programfel
- Använd fliken Fel i Application Insights för att visa antalet misslyckade begäranden och de vanligaste undantagen.
- Se till att aviseringar för felavvikelser som identifieras med smart identifiering är korrekt konfigurerade.
Hälsoövervakning
- Skapa ett tillgänglighetstest i Application Insights för att skapa ett återkommande test för att övervaka programmets tillgänglighet och svarstider.
- Använd SLA-rapporten för att beräkna och rapportera serviceavtal för webbtester.
- Använd anteckningar för att identifiera när en ny version distribueras så att du visuellt kan granska eventuella prestandaändringar efter uppdateringen.
Programloggar
- Container insights skickar stdout-/stderr-loggar till en Log Analytics-arbetsyta. Se Resursloggar för en beskrivning av de olika loggarna och Kubernetes Services för en lista över de tabeller som var och en skickas till.
Tjänstnät
- För AKS-kluster distribuerar du det Istio-baserade tjänstnättillägget som ger observerbarhet till din mikrotjänstarkitektur. Istio är ett tjänstnät med öppen källkod som lagrar transparent på befintliga distribuerade program. Tillägget hjälper till vid distribution och hantering av Istio för AKS.
Se även
- Se Övervaka AKS för vägledning om övervakning som är specifik för Azure Kubernetes Service (AKS).