Metodtips för proaktiv övervakning för Azure Kubernetes Service (AKS)
Den här artikeln beskriver metodtipsen för proaktiv övervakning på Azure Kubernetes Service (AKS) och innehåller en omfattande lista över de viktiga signaler som AKS rekommenderar för dig att övervaka.
Proaktiv övervakning av dina AKS-kluster är avgörande för att minska stilleståndstiden och spara avbrott i verksamheten för dina program. Den här processen omfattar identifiering och övervakning av nyckelindikatorer för onormalt beteende i klustret som kan leda till stora problem eller driftstopp.
Översikt över övervakning och aviseringar
Övervakning på AKS omfattar användning av mått, loggar och händelser för att säkerställa hälsotillstånd och prestanda för klustret. Vanliga scenarier att övervaka är nodprestanda, poddstatus och övergripande resursanvändning i klustret. Loggar ger insikter om systemhändelser och klusteråtgärder och aktiviteter. Mer information om de metoder och signaler som AKS tillhandahåller för övervakning finns i Övervaka Azure Kubernetes Service (AKS).
Det bästa sättet att proaktivt övervaka klustret är att konfigurera Azure Monitor-aviseringar. Aviseringar fungerar som proaktiva åtgärder för att meddela dig om potentiella problem eller avvikelser innan de eskaleras till kritiska problem. Genom att definiera tröskelvärden för nyckelmått och loggar får du omedelbara aviseringar när dessa signaler överskrider fördefinierade gränser, vilket indikerar potentiella problem som resursöverbelastning eller programfel. Vi rekommenderar starkt att du definierar servicenivåmål (SLO) för ditt program för att mäta tjänstens prestanda och tillförlitlighet. Genom att konfigurera aviseringar på nyckelsignalerna för dina serviceavtal kan du snabbt identifiera eventuell försämring av programmets tjänstkvalitet som dina kunder får. Genom att ställa in aviseringar i tid kan du snabbt undersöka och åtgärda problem, minimera stilleståndstid och säkerställa hög tillgänglighet för program som körs i AKS-klustret.
Så här konfigurerar du aviseringar för specifika måtttyper
Måtttyp | Var du hittar dessa mått | Så här konfigurerar du aviseringar |
---|---|---|
AKS-plattformsmått | Visa plattformsmått via bladet Mått i Azure Portal. | Du kan skapa, uppdatera och ta bort måttaviseringar via Azure Portal. Mer information finns i Skapa en måttavisering för en Azure-resurs. |
Azure Managed Prometheus-mått | För att få åtkomst till Prometheus-mått måste du aktivera Managed Prometheus. Mer information om hur du aktiverar och visar Prometheus-mått finns i Azure Monitor och Prometheus. | Vägledning om hur du konfigurerar Prometheus-aviseringar finns i Azure Monitor-hanterad tjänst för Prometheus-regelgrupper. |
Azure-aktivitetsloggar | Visa aktivitetsloggar via Azure Portal. Mer information finns i Azure-aktivitetsloggar för AKS. | Konfigurera aviseringar i aktivitetsloggar via Azure Portal. Mer information finns i Aktivitetsloggaviseringar. |
Mått för vm-skalningsuppsättning i Azure | Visa måtten vm-skalningsuppsättning via Azure Portal. | 1. Om du vill hitta den vm-skalningsuppsättningsinstans som är associerad med nodpoolen går du till bladet Inställningaregenskaper > för AKS-klustret i Azure Portal. 2. Välj din infrastrukturresursgrupp för att visa de infrastrukturresurser som är associerade med klustret. 3. Välj den vm-skalningsuppsättningsinstans som matchar namnet på den nodpool som du skapar aviseringar för. 4. Gå till bladet Aviseringar för att skapa din måttavisering. |
Mått för lastbalanserare | Visa mått för lastbalanserare via sidan Load Balancer i Azure Portal. | 1. Om du vill hitta den lastbalanserareinstans som är associerad med nodpoolen går du till bladet Inställningaregenskaper > för AKS-klustret i Azure Portal. 2. Välj din infrastrukturresursgrupp för att visa de infrastrukturresurser som är associerade med klustret. 3. Välj lastbalanserarens instans för att ta upp sidan Azure Portal för lastbalanserare. 4. Gå till sidan Aviseringar för att skapa måttaviseringen för lastbalanseraren. |
Loggar och händelser | Om du vill avisera om loggar och händelser måste du aktivera Container Insights. Mer information finns i Azure Monitor-resursloggar. | Vägledning om hur du skapar aviseringar om loggar och händelser finns i Skapa loggsökningsaviseringar från Container Insights. |
Kritiska signaler för att konfigurera aviseringar
För att få en heltäckande täckning av DIN AKS-miljö måste du konfigurera aviseringar för de tre huvudkomponenterna i klustret:
- Klusterinfrastruktur: Aviseringar som riktar sig till den underliggande infrastrukturen i klustret, till exempel noder, diskar och nätverk.
- Programhälsa: Aviseringar för övervakning av hälsotillståndet för dina poddar och program. Några vanliga indikatorer för program som inte är felfria är out-of-memory kills (OOMKills) för dina poddar, poddar i inte redo tillstånd osv.
- Kubernetes-kontrollplan: Aviseringar på AKS-kontrollplanet för att övervaka hälsotillståndet och prestandan för API-servern osv. och andra komponenter.
Följande avsnitt innehåller viktiga signaler som vi rekommenderar att alla AKS-kunder övervakar noga. AKS-teamet arbetar med att lägga till alla kritiska signaler i den befintliga funktionen Rekommenderade aviseringar , vilket gör att du enkelt kan aktivera aviseringar för alla signaler med ett klick. Prometheus-måttaviseringar är tillgängliga i offentlig förhandsversion idag och de återstående aviseringarna beräknas vara tillgängliga i början av 2025. För tillfället kan du konfigurera aviseringar manuellt för de kritiska signalerna.
Aviseringar om klusterinfrastruktur
Aviseringsscenario | Källa | Signal | Rekommenderat tröskelvärde |
---|---|---|---|
Klustret är i ett feltillstånd | Azure-aktivitetsloggar | Skapa eller uppdatera hanterat kluster | Loggens status är Misslyckad, vilket indikerar att klusteruppgraderings- eller skapandeåtgärden misslyckades. |
Nodpoolen är i ett feltillstånd | Azure-aktivitetsloggar | Skapa eller uppdatera agentpool | Loggens status är Misslyckad, vilket indikerar att nodpoolen är i ett feltillstånd på grund av en misslyckad CRUD-åtgärd (Create, Read, Upgrade eller Delete). |
Användning av os-bandbredd med hög nod | Mått för vm-skalningsuppsättning | Procentandel förbrukad OS-diskbandbredd | Bandbreddsanvändningen för nodoperativsystemdiskar är över 95 %. |
IOPS-användning med hög nodoperativsystemdisk | Mått för vm-skalningsuppsättning | Procentandel OS-disk IOPS som förbrukas | IOPS-användningen för Node OS-diskar är över 95 %. |
Diskutrymmesanvändning med hög nod i operativsystemet | AKS-plattformsmått | Disken används i procent | Den procentuella användningen av nodoperativsystemdiskutrymme är över 90 %. |
Cpu-användning med hög nod | AKS-plattformsmått | Cpu-användningsprocent | Cpu-användning för noder är större än 90 %. |
Hög nodminnesanvändning | AKS-plattformsmått | Procent för minnesarbetsuppsättning | Nodminnesanvändningen är större än 90 %. |
Noden är i tillståndet NotReady | AKS-plattformsmått | Status för olika nodvillkor | Noden är i NotReady-tillstånd >i 20 minuter. |
SNAT-portöverbelastning | Mått för lastbalanserare (LB) | Antal SNAT-anslutningar | Filter för anslutningstillstånd = "Misslyckades" |
Hälsoaviseringar för program
Aviseringsscenario | Källa | Signal | Rekommenderat tröskelvärde |
---|---|---|---|
Stort antal poddar som inte är felfria | Azure Managed Prometheus-mått | Aviseringsnamn: KubePodReadyStateLow | Tillgänglig som en rekommenderad AKS-avisering. Information om hur du aktiverar den här aviseringen finns i Rekommenderade aviseringsregler för Kubernetes-kluster. |
En eller flera poddar startas om | Azure Managed Prometheus-mått | Aviseringsnamn: KubePodContainerRestart | Tillgänglig som en rekommenderad AKS-avisering. Information om hur du aktiverar den här aviseringen finns i Rekommenderade aviseringsregler för Kubernetes-kluster. |
En eller flera poddar är i CrashLoop-status | Azure Managed Prometheus-mått | Aviseringsnamn: KubePodCrashLooping | Tillgänglig som en rekommenderad AKS-avisering. Information om hur du aktiverar den här aviseringen finns i Rekommenderade aviseringsregler för Kubernetes-kluster. |
Kubernetes-kontrollplansaviseringar
Aviseringsscenario | Källa | Signal | Rekommenderat tröskelvärde |
---|---|---|---|
ETCD fylls i | Azure Managed Prometheus-mått | etcd_mvcc_db_total_size_in_use_in_bytes | ETCD-användningen är större än 2 GB |
API Server för många begärandefel | Azure Managed Prometheus-mått | apiserver_request_total | Filtrera efter felkod 429 |
API Server Webhook- och Tunnelfel | Azure Managed Prometheus-mått | apiserver_request_total | Filtrera efter felkoderna 500 och 503 |
Nästa steg
Mer information om övervakning på AKS finns i följande artiklar:
Azure Kubernetes Service