Dela via


Rekommenderade aviseringsregler för Kubernetes-kluster

Aviseringar i Azure Monitor identifierar proaktivt problem som rör hälsotillstånd och prestanda för dina Azure-resurser. Den här artikeln beskriver hur du aktiverar och redigerar en uppsättning rekommenderade måttaviseringsregler som är fördefinierade för dina Kubernetes-kluster.

Använd någon av följande metoder för att aktivera de rekommenderade aviseringsreglerna för klustret. Du kan aktivera aviseringsregler för både Prometheus och plattformsmått för samma kluster.

Anteckning

Rekommenderade varningar för Arc-aktiverade Kubernetes-kluster finns i förhandsversion och stöder inte varningsregler för plattformmetrik.

Med hjälp av Azure Portal skapas Prometheus-regelgruppen i samma region som klustret.

  1. På menyn Aviseringar för klustret väljer du Konfigurera rekommendationer.

    Skärmbild av AKS-kluster som visar knappen Konfigurera rekommendationer.

  2. Tillgängliga Prometheus- och plattformsaviseringsregler visas med Prometheus-reglerna ordnade efter podd-, kluster- och nodnivå. Växla en grupp med Prometheus-regler för att aktivera den uppsättningen med regler. Expandera gruppen för att se de enskilda reglerna. Du kan lämna standardinställningarna eller inaktivera enskilda regler och redigera deras namn och allvarlighetsgrad.

    Skärmbild av aktivering av Prometheus-aviseringsregel.

  3. Slå på en regel för plattformsmått för att aktivera den. Du kan expandera regeln för att ändra dess information, till exempel namn, allvarlighetsgrad och tröskelvärde.

    Skärmbild av aktivering av aviseringsregeln för plattformsmått.

  4. Välj antingen en eller flera meddelandemetoder för att skapa en ny åtgärdsgrupp eller välj en befintlig åtgärdsgrupp med meddelandeinformationen för den här uppsättningen aviseringsregler.

  5. Spara regelgruppen genom att klicka på Spara .

När regelgruppen har skapats kan du inte använda samma sida i portalen för att redigera reglerna. För Prometheus-mått måste du redigera regelgruppen för att ändra alla regler i den, inklusive att aktivera regler som inte redan har aktiverats. För plattformsmått kan du redigera varje aviseringsregel.

  1. På menyn Aviseringar för klustret väljer du Konfigurera rekommendationer. Regler eller regelgrupper som redan har skapats kommer att märkas som Redan skapade.

  2. Expandera regeln eller regelgruppen. Klicka på Visa regelgrupp för Prometheus och Visa aviseringsregel för plattformsmått.

    Skärmbild av alternativet Visa regelgrupp.

  3. För Prometheus-regelgrupper:

    1. välj Regler för att visa aviseringsreglerna i gruppen.

    2. Klicka på ikonen Redigera bredvid en regel som du vill ändra. Använd vägledningen i Skapa en aviseringsregel för att ändra regeln.

      Skärmbild av alternativet för att redigera Prometheus-aviseringsregler.

    3. När du är klar med att redigera regler i gruppen klickar du på Spara för att spara regelgruppen.

  4. För plattformsmått:

    1. klicka på Redigera för att öppna informationen för aviseringsregeln. Använd vägledningen i Skapa en aviseringsregel för att ändra regeln.

      Skärmbild av alternativet för att redigera plattformsmåttregeln.

Inaktivera aviseringsregelgrupp

Inaktivera regelgruppen för att sluta ta emot aviseringar från reglerna i den.

  1. Visa Prometheus-aviseringsregelgruppen eller aviseringsregeln för plattformens mätningar som beskrivs i Redigera rekommenderade aviseringsregler.

  2. På menyn Översikt väljer du Inaktivera.

    Skärmbild av alternativet för att inaktivera en regelgrupp.

I följande tabeller visas information om varje rekommenderad aviseringsregel. Källkoden för var och en är tillgänglig i GitHub tillsammans med felsökningsguider från Prometheus-communityn.

Aviseringsregler för Prometheus-communityn

Aviseringar på klusternivå

Aviseringsnamn Beskrivning Standardtröskelvärde Tidsram (minuter)
KubeCPUQuotaOvercommit Cpu-resurskvoten som allokerats till namnområden överskrider de tillgängliga CPU-resurserna på klustrets noder med mer än 50 % under de senaste 5 minuterna. >1.5 5
KubeMemoryQuotaOvercommit Den minnesresurskvot som allokerats till namnområden överskrider de tillgängliga minnesresurserna på klustrets noder med mer än 50 % under de senaste 5 minuterna. >1.5 5
KubeContainerOOMKilledCount En eller flera containrar i poddar har avlivats på grund av OOM-händelser (out-of-memory) under de senaste 5 minuterna. >0 5
KubeClientErrors Antalet klientfel (HTTP-statuskoder som börjar med 5xx) i Kubernetes API-begäranden överskrider 1 % av den totala API-begärandefrekvensen under de senaste 15 minuterna. >0.01 15
KubePersistentVolumeFillingUp Den beständiga volymen fylls på och förväntas få slut på tillgängligt utrymme utvärderat på det tillgängliga utrymmesförhållandet, använt utrymme och den förutsagda linjära trenden för tillgängligt utrymme under de senaste 6 timmarna. Dessa villkor utvärderas under de senaste 60 minuterna. Ej tillämpligt 60
KubePersistentVolumeInodesFillingUp Mindre än 3 % av innoderna i en beständiga volym är tillgängliga under de senaste 15 minuterna. <0.03 15
KubePersistentVolumeErrors En eller flera beständiga volymer befinner sig i en misslyckad eller väntande fas under de senaste 5 minuterna. >0 5
VäntarPåKubeContainer En eller flera containrar i Kubernetes-poddar är i vänteläge under de senaste 60 minuterna. >0 60
KubeDaemonSetNotScheduled En eller flera poddar har inte schemalagts på någon nod under de senaste 15 minuterna. >0 15
KubeDaemonSetFelaktigtSchemalagd En eller flera poddar har felaktigt schemalagts i klustret under de senaste 15 minuterna. >0 15
KubeQuotaAlmostFull Användningen av Kubernetes-resurskvoter är mellan 90 % och 100 % av de hårda gränserna under de senaste 15 minuterna. >0,9 <1 15

Aviseringar på nodnivå

Aviseringsnamn Beskrivning Standardtröskelvärde Tidsram (minuter)
Kubenod otillgänglig En nod har inte kunnat nås under de senaste 15 minuterna. 1 15
KubeNodensBeredskapSvajar Beredskapsstatusen för en nod har ändrats mer än 2 gånger under de senaste 15 minuterna. 2 15

Aviseringar på poddnivå

Aviseringsnamn Beskrivning Standardtröskelvärde Tidsram (minuter)
KubePVUsageHigh Den genomsnittliga användningen av beständiga volymer (PV:er) i podden överstiger 80 % under de senaste 15 minuterna. >0.8 15
KubeDeploymentReplicasMismatch Det finns ett matchningsfel mellan önskat antal repliker och antalet tillgängliga repliker under de senaste 10 minuterna. Ej tillämpligt 10
KubeStatefulSetReplicasMismatch Antalet färdiga repliker i StatefulSet matchar inte det totala antalet repliker i StatefulSet under de senaste 15 minuterna. Ej tillämpligt 15
KubeHpaReplicasMismatch Den horisontella pod-autoskalaren i klustret har inte uppnått det önskade antalet kopior under de senaste 15 minuterna. Ej tillämpligt 15
KubeHpaMaxedOut Under de senaste 15 minuterna har Horizontal Pod Autoscaler (HPA) i klustret kört med maximalt antal repliker. Ej tillämpligt 15
KubePodCrashLooping En eller flera poddar är i ett tillstånd av CrashLoopBackOff, där podden kontinuerligt kraschar efter start och inte kan återställas framgångsrikt under de senaste 15 minuterna. >=1 15
KubeJobStale Minst en jobbinstans har inte slutförts framgångsrikt under de senaste 6 timmarna. >0 360
KubePodContainerRestart En eller flera containrar i poddar i Kubernetes-klustret har startats om minst en gång under den senaste timmen. >0 15
KubePodReadyStateLow Procentandelen poddar i ett redo läge ligger under 80 % för någon distribuerings- eller daemonset i Kubernetes-klustret under de senaste fem minuterna. <0.8 5
KubePodFailedState En eller flera pods har varit i ett felaktigt tillstånd de senaste 5 minuterna. >0 5
KubePod är inte redo av Controller En eller flera poddar är inte i redo läge (dvs. i fasen "Väntar" eller "Okänd") de senaste 15 minuterna. >0 15
KubeStatefulSetGenerationMismatch Den observerade genereringen av en Kubernetes StatefulSet matchar inte dess metadatagenerering under de senaste 15 minuterna. Ej tillämpligt 15
KubeJobMisslyckades Ett eller flera Kubernetes-jobb har misslyckats under de senaste 15 minuterna. >0 15
KubeContainerHögGenomsnittligCPU Den genomsnittliga CPU-användningen per container överstiger 95 % under de senaste 5 minuterna. >0.95 5
Genomsnittligt minne högt för KubeContainer Den genomsnittliga minnesanvändningen per container överstiger 95 % under de senaste 5 minuterna. >0.95 10
KubeletPodUppstartsfördröjningHög Den 99:e percentilen av poddens startsvarstid överskrider 60 sekunder under de senaste 10 minuterna. >60 10

Aviseringsregler för plattformmetrik

Aviseringsnamn Beskrivning Standardtröskelvärde Tidsram (minuter)
Cpu-procentandelen för noder är större än 95 % Nodens CPU-procentandel är större än 95 % under de senaste 5 minuterna. 95 5
Procentandelen arbetsuppsättning för nodminne är större än 100 % Arbetssatsen för nodminnet har varit större än 100 % under de senaste 5 minuterna. 100 5

Legacy-måttaviseringar för containerinsikter (förhandsversion)

Måttregler i Container Insights drogs tillbaka den 31 maj 2024. Dessa regler var i offentlig förhandsversion men drogs tillbaka utan att nå allmän tillgänglighet eftersom de nya rekommenderade måttaviseringar som beskrivs i den här artikeln nu är tillgängliga.

Om du redan har aktiverat dessa äldre aviseringsregler bör du inaktivera dem och aktivera den nya upplevelsen.

Inaktivera metrikvarningsregler

  1. På insights-menyn för klustret väljer du Rekommenderade aviseringar (förhandsversion).
  2. Ändra status för varje aviseringsregel till Inaktiverad.

Mappning av äldre aviseringar

I följande tabell mappas var och en av de äldre måttaviseringar för Container Insights till motsvarande rekommenderade Prometheus-måttaviseringar.

Avisering rekommenderad för anpassad metrisk enhet Motsvarande Prometheusplattformens mått rekommenderad varning Villkor
Antal slutförda jobb KubeJobStale (aviseringar på poddnivå) Minst en jobbinstans har inte slutförts framgångsrikt under de senaste 6 timmarna.
Cpu-% för containrar KubeContainerAverageCPUHigh (aviseringar på poddnivå) Den genomsnittliga CPU-användningen per container överstiger 95 % under de senaste 5 minuterna.
Minne för arbetsuppsättning för containrar % KubeContainerAverageMemoryHigh (aviseringar på poddnivå) Den genomsnittliga minnesanvändningen per container överstiger 95 % under de senaste 5 minuterna.
Antal misslyckade poddar KubePodFailedState (aviseringar på poddnivå) En eller flera pods har varit i ett felaktigt tillstånd de senaste 5 minuterna.
Nod-CPU % Cpu-procentandelen för noder är större än 95 % (plattformsmått) Nodens CPU-procentandel är större än 95 % under de senaste 5 minuterna.
Noddiskanvändning % Ej tillämpligt Genomsnittlig diskanvändning för en nod är större än 80 %.
Noden är i NotReady-status KubeNodeUnreachable (aviseringar på nodnivå) En nod har inte kunnat nås under de senaste 15 minuterna.
Nodens arbetsminnesuppsättning % Procentandelen arbetsuppsättning för nodminne är större än 100 % Arbetssatsen för nodminnet har varit större än 100 % under de senaste 5 minuterna.
OOM-dödade containers KubeContainerOOMKilledCount (aviseringar på klusternivå) En eller flera containrar i poddar har avlivats på grund av OOM-händelser (out-of-memory) under de senaste 5 minuterna.
Beständiga volymanvändning % KubePVUsageHigh (aviseringar på poddnivå) Den genomsnittliga användningen av beständiga volymer (PV:er) i podden överstiger 80 % under de senaste 15 minuterna.
Poddar redo % KubePodReadyStateLow (aviseringar på poddnivå) Procentandelen poddar i ett redo läge ligger under 80 % för någon distribuerings- eller daemonset i Kubernetes-klustret under de senaste fem minuterna.
Antal containrar som startas om KubePodContainerRestart (aviseringar på poddnivå) En eller flera containrar i poddar i Kubernetes-klustret har startats om minst en gång under den senaste timmen.

Äldre måttmappning

I följande tabell mappas var och en av de äldre anpassade måtten för Container Insights till motsvarande Prometheus-mått.

Anpassad metrik Motsvarande Prometheus-mått
cpuAnvändningMillikärnor rate(container_cpu_usage_seconds_total[5m]) * 1000
CPU-användningsprocent 100 * rate(container_cpu_usage_seconds_total{cluster="$cluster"}[5m])
cpu-användningallokerbarprocent 100 * ( summa efter (kluster) (node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{cluster="$cluster"}) / summa efter (kluster) (instans:node_num_cpu:sum{cluster="$cluster"}) ) )
memoryRssByte container_memory_rss{cluster="$cluster"}
minnesRssProcent 100 * (summa efter (instans, kluster) (container_memory_rss{job="cadvisor", cluster="$cluster"}) / summa efter (instans, kluster) (machine_memory_bytes{job="cadvisor", cluster="$cluster"}))
minneRssTilldelningsbarProcent 100 * (summa efter (nod, kluster) (container_memory_rss{cluster="$cluster"}) / summa efter (nod, kluster) (node_memory_MemTotal_bytes{cluster="$cluster"}))
memoryWorkingSetBytes container_memory_working_set_bytes{kluster="$cluster"}
minnesarbetsmängdsprocent 100 * (summa enligt (nod, kluster) (container_memory_working_set_bytes{cluster="$cluster"}) / summa enligt (nod, kluster) (node_memory_MemTotal_bytes{cluster="$cluster"}))
antal_noder count(kube_node_status_condition{condition="Ready", status="true", cluster="$cluster"})
procentanvändningAvDisk 100 * (node_filesystem_size_bytes{cluster="$cluster"} – node_filesystem_free_bytes{cluster="$cluster"}) / node_filesystem_size_bytes{cluster="$cluster"}
podCount count(count by (podd, namespace, cluster) (kube_pod_info{cluster="$cluster"}))
AntalSlutfördaJobb count(kube_job_status_succeeded{status="true", cluster="$cluster"} och time() – kube_job_status_start_time > 6 * 3600)
antalÅterstartandeBehållare sum by(container, namespace, cluster) (rate(kube_pod_container_status_restarts_total{cluster="$cluster"}[5m]))
Antal kontainrar dödade av OOM sum by(container, namespace, cluster) (kube_pod_container_status_terminated_reason{reason="OOMKilled", cluster="$cluster"})
podReadyPercentage 100 * (sum(kube_pod_status_phase{phase="Running", cluster="$cluster"}) by (namespace, cluster) /sum(kube_pod_status_phase{phase!="Succeeded", cluster="$cluster"}) by (namespace, cluster))

Nästa steg