Dela via


Övervakning och loggning av Kubernetes

Den här artikeln jämför övervakning av Azure Kubernetes Service (AKS) och EKS-övervakning (Amazon Elastic Kubernetes Service). Den beskriver alternativ som du kan använda för att övervaka och hantera loggarna för ett AKS-kluster och dess arbetsbelastningar.

Anmärkning

Den här artikeln är en del av en serie artiklar som hjälper proffs som är bekanta med Amazon EKS att förstå Azure Kubernetes Service (AKS).

Amazon EKS-övervakning och loggning

Precis som andra Kubernetes-tjänster har Amazon EKS två huvudkomponenter, kontrollplanet och arbetsnoderna. Varje lager har specifika funktioner.

Amazon EKS-kontrollplan och klusterövervakning

Amazon EKS integreras med Amazon CloudWatch-loggar för att tillhandahålla loggning och övervakning för Amazon EKS-kontrollplanet. Den här integreringen är inte aktiverad som standard. Du måste konfigurera integreringen för att samla in loggar på följande komponenter:

  • API-server- och API-anrop
  • Granskningsloggar och användarinteraktioner
  • Autentiseringsprocesser
  • Schemaläggar- och kontrollantaktiviteter

Amazon EKS exponerar kontrollplansmått vid /metrics slutpunkten, i Prometheus-textformat. CloudWatch Container Insights samlar in och lagrar Prometheus-mått. Du kan distribuera och själv hantera Prometheus ovanpå ditt EKS-kluster eller använda Amazon Managed Service för Prometheus.

Amazon EKS integreras också med Amazon Web Services (AWS) CloudTrail för att spåra åtgärder och API-anrop. Mer information finns i Log Amazon EKS API-anrop med hjälp av AWS CloudTrail.

Amazon EKS-arbetsbelastningsövervakning

CloudWatch Container Insights samlar in och aggregerar mått och loggar från containerbaserade program som distribueras i EKS. Om du vill implementera Container Insights på Amazon EKS använder du en containerbaserad version av CloudWatch-agenten eller använder AWS Distro för OpenTelemetry som daemonSet. Du kan använda Fluent Bit för att skicka loggar.

ÖVERVAKNING och loggning av AKS

Precis som andra Azure-resurser genererar AKS plattformsmått och resursloggar som du kan använda för att övervaka dess grundläggande hälsa och prestanda.

Diagram som visar en AKS-loggnings- och övervakningslösning.

Ladda ned en Visio-fil av den här arkitekturen.

Azure Monitor

AKS är inbyggt integrerat med Azure Monitor. Azure Monitor lagrar mått och loggar på en central plats som heter Log Analytics-arbetsyta. Azure Monitor bearbetar och analyserar mått och loggar för att ge insikter och aviseringar. Mer information finns i Övervaka AKS med hjälp av Azure Monitor.

Containerinsikter är en funktion i Azure Monitor som samlar in, indexerar och lagrar data som ditt AKS-kluster genererar. Du kan konfigurera containerinsikter för att övervaka hanterade Kubernetes-kluster som finns i AKS. Du kan också övervaka andra klusterkonfigurationer. Containerinsikter övervakar AKS-hälsa och prestanda och presenterar dessa data via visualiseringar som är skräddarsydda för Kubernetes-miljöer. På samma sätt som EKS distribuerar den en containerbaserad version av Log Analytics-agenten när du aktiverar containerinsikter för ditt AKS-kluster. Agenten skickar data till din Log Analytics-arbetsyta.

Container insights använder data från en Log Analytics-arbetsyta för att driva visualiseringarna i Azure-portalen. Överväg att byta till Azure Monitor-hanterad tjänst för Prometheus, vilket ger en billigare och effektivare metod för insamling av mått. Du kan använda containerinsikter för att visualisera mått med hjälp av endast hanterade Prometheus-data. Mer information finns i Växla till hanterade Prometheus-visualiseringar för containerinsikter.

Använd följande tjänster och Azure Monitor-funktioner för att säkerställa omfattande övervakning av dina Kubernetes-kluster:

Microsoft Sentinel

Microsoft Sentinel levererar intelligent säkerhetsanalys och hotinformation mellan företag. Microsoft Sentinel tillhandahåller en enda lösning för attackidentifiering, synlighet för hot, proaktiv jakt och hotsvar.

Du måste ansluta Microsoft Sentinel till AKS med hjälp av AKS-anslutningstjänsten. Sedan kan du strömma dina AKS-diagnostikloggar till Microsoft Sentinel för att kontinuerligt övervaka aktivitet i dina instanser.

När du har anslutit dina datakällor till Microsoft Sentinel kan du visualisera och övervaka data. Microsoft Sentinel- och Azure Monitor-arbetsböcker ger mångsidighet för att skapa anpassade instrumentpaneler.

Övervakning av AKS-kluster och arbetsbelastningar

En AKS-distribution består av komponenter på klusternivå, hanterade AKS-komponenter, Kubernetes-objekt och arbetsbelastningar, program och externa resurser. En gemensam strategi för att övervaka ett AKS-kluster och arbetsbelastningsprogram består av följande övervakningskrav.

Nivå Beskrivning Övervakningskrav
Komponenter på klusternivå Vm-skalningsuppsättningar representerar AKS-noder och nodpooler Nodstatus och resursanvändning, inklusive CPU, minne, disk och nätverk
Hanterade AKS-komponenter AKS-kontrollplanskomponenter, inklusive API-servrar, molnstyrenheten och kubelet Kontrollera planloggar och mått från kube-system namnområdet
Kubernetes-objekt och arbetsbelastningar Kubernetes-objekt, till exempel distributioner, containrar och replikuppsättningar Resursanvändning och -fel
Ansökningar Programarbetsbelastningar som körs i AKS-klustret Arkitekturspecifik övervakning, inklusive programloggar och tjänsttransaktioner
Externt Externa resurser som inte ingår i AKS men som krävs för skalbarhet och hantering av kluster Specifikt för varje komponent
  • Komponenter på klusternivå: Du kan använda befintliga containerinsikter och rapporter för att övervaka komponenter på klusternivå för att förstå deras hälsa, beredskap, prestanda, cpu- och minnesresursanvändning och trender.

  • Hanterade AKS-komponenter: Du kan använda Azure Monitor Metrics Explorer för att visa räknare för Inflight-begäranden . I den här vyn ingår svarstid för begäran och bearbetningstid för arbetsköer.

  • Kubernetes-objekt och arbetsbelastningar: Du kan använda befintliga containerinsiktsvyer och rapporter för att övervaka distribution, kontrollanter, poddar och containrar. Använd vyerna Noder och Kontrollörer för att se hälsotillståndet och prestandan hos de poddar som körs på noder och kontrollörer. Du kan också visa deras resursförbrukning när det gäller CPU och minne.

    Containerinsikter Containervyn visar containrarnas hälsa och prestanda. Eller så kan du välja en enskild container och övervaka dess händelser och loggar i realtid. Mer information finns i Övervaka kubernetes-klusterprestanda med hjälp av containerinsikter.

  • Program: Du kan använda Application Insights för att övervaka program som körs i AKS och andra miljöer. Application Insights är ett verktyg för hantering av programprestanda som ger stöd för många programmeringsspråk. Beroende på dina behov kan du instrumentera programkoden för att samla in begäranden, spårningar, loggar, undantag, anpassade mått och transaktioner från slutpunkt till slutpunkt. Sedan kan du skicka dessa data till Application Insights. Om du har ett Java-program kan du tillhandahålla övervakning utan att instrumentera koden. Mer information finns i Autoinstrumentation för AKS.

  • Externa komponenter: Du kan använda Azure Monitor-funktioner för att övervaka PaaS-lösningar (Plattform som en tjänst) som dina arbetsbelastningsprogram använder, till exempel databaser och andra Azure-resurser.

Azure Monitor-hanterad tjänst för Prometheus

Prometheus är en populär lösning för övervakning av mått med öppen källkod från Cloud Native Computing Foundation. Prometheus samlar in och analyserar måttdata från Kubernetes-kluster. Azure Monitor-hanterad tjänst för Prometheus är en fullständigt hanterad Prometheus-kompatibel övervakningslösning i Azure. Den lagrar data på en Azure Monitor-arbetsyta som länkar till en Azure Managed Grafana-arbetsyta. Du kan använda Azure Managed Grafana för att analysera data.

Du kan distribuera Prometheus oberoende som en självhanterad lösning inom AKS-kluster. Om du vill integrera självhostad Prometheus med Azure Monitor, konfigurerar du containerinsikter för att samla in Prometheus-mått. Du kan exponera Prometheus-måttslutpunkten via dina exportörer eller poddprogram. Den containeriserade agenten för containerinsikter samlar in dessa mått.

Azure Managed Grafana

Azure Managed Grafana är en plattform för datavisualisering som bygger på Grafana. Det är en fullständigt hanterad Azure-tjänst som Microsoft använder och stöder. Azure Managed Grafana har fördefinierade Grafana-instrumentpaneler för att övervaka Kubernetes- och fullstacksfelsökning.

Azure Managed Grafana är optimerat för Azure-miljön, fungerar med många Azure-tjänster och tillhandahåller enkla integreringsfunktioner. Du kan också distribuera Grafana självständigt som en självhanterad lösning. Mer information finns i Övervaka dina Azure-tjänster i Grafana.

KOSTNADER för AKS-övervakning

Prismodellen för Azure Monitor baseras främst på mängden data som din Log Analytics-arbetsyta matar in varje dag. Kostnaden varierar beroende på vilken plan och vilka kvarhållningsperioder du väljer.

Innan du aktiverar containerinsikter ska du beräkna kostnader och förstå hur du kontrollerar datainmatning och dess kostnader. Mer information finns i Beräkna kostnader för att övervaka ditt AKS-kluster.

Bidragsgivare

Microsoft ansvarar för den här artikeln. Följande deltagare skrev den här artikeln.

Huvudsakliga författare:

Övriga medarbetare:

Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.

Nästa steg