Udostępnij za pośrednictwem


Zalecane reguły alertów dla klastrów Kubernetes

Alerty w usłudze Azure Monitor aktywnie identyfikują problemy związane z kondycją i wydajnością zasobów platformy Azure. W tym artykule opisano sposób włączania i edytowania zestawu zalecanych reguł alertów dotyczących metryk, które są wstępnie zdefiniowane dla klastrów Kubernetes.

Użyj jednej z poniższych metod, aby włączyć zalecane reguły alertów dla klastra. Dla tego samego klastra można włączyć zarówno reguły alertów metryk prometheus, jak i reguł alertów dotyczących metryk platformy.

Uwaga

Szablony usługi ARM są jedyną obsługiwaną metodą włączania zalecanych alertów w klastrach Kubernetes z obsługą usługi Arc.

Za pomocą witryny Azure Portal grupa reguł Prometheus zostanie utworzona w tym samym regionie co klaster.

  1. W menu Alerty dla klastra wybierz pozycję Skonfiguruj zalecenia.

    Zrzut ekranu przedstawiający przycisk Konfiguruj rekomendacje w klastrze usługi AKS.

  2. Dostępne reguły alertów prometheus i platformy są wyświetlane z regułami Prometheus zorganizowanymi według zasobnika, klastra i poziomu węzła. Przełącz grupę reguł Prometheus, aby włączyć ten zestaw reguł. Rozwiń grupę, aby wyświetlić poszczególne reguły. Możesz pozostawić wartości domyślne lub wyłączyć poszczególne reguły i edytować ich nazwę i ważność.

    Zrzut ekranu przedstawiający włączanie reguły alertu Prometheus.

  3. Przełącz regułę metryki platformy, aby włączyć tę regułę. Możesz rozwinąć regułę, aby zmodyfikować jej szczegóły, takie jak nazwa, ważność i próg.

    Zrzut ekranu przedstawiający włączanie reguły alertu metryki platformy.

  4. Wybierz co najmniej jedną metodę powiadamiania, aby utworzyć nową grupę akcji, lub wybierz istniejącą grupę akcji ze szczegółami powiadomień dla tego zestawu reguł alertów.

  5. Kliknij przycisk Zapisz , aby zapisać grupę reguł.

Po utworzeniu grupy reguł nie można użyć tej samej strony w portalu, aby edytować reguły. W przypadku metryk Prometheus należy edytować grupę reguł, aby zmodyfikować wszystkie reguły, w tym włączyć wszystkie reguły, które nie zostały jeszcze włączone. W przypadku metryk platformy można edytować każdą regułę alertu.

  1. W menu Alerty dla klastra wybierz pozycję Skonfiguruj zalecenia. Wszystkie reguły lub grupy reguł, które zostały już utworzone, zostaną oznaczone jako Już utworzone.

  2. Rozwiń regułę lub grupę reguł. Kliknij pozycję Wyświetl grupę reguł dla rozwiązania Prometheus i Wyświetl regułę alertu dla metryk platformy.

    Zrzut ekranu przedstawiający opcję wyświetlania grupy reguł.

  3. W przypadku grup reguł Prometheus:

    1. wybierz pozycję Reguły , aby wyświetlić reguły alertów w grupie.

    2. Kliknij ikonę Edytuj obok reguły, którą chcesz zmodyfikować. Skorzystaj ze wskazówek w temacie Tworzenie reguły alertu, aby zmodyfikować regułę.

      Zrzut ekranu przedstawiający opcję edytowania reguł alertów rozwiązania Prometheus.

    3. Po zakończeniu edytowania reguł w grupie kliknij przycisk Zapisz , aby zapisać grupę reguł.

  4. Metryki platformy:

    1. Kliknij przycisk Edytuj , aby otworzyć szczegóły reguły alertu. Skorzystaj ze wskazówek w temacie Tworzenie reguły alertu, aby zmodyfikować regułę.

      Zrzut ekranu przedstawiający opcję edytowania reguły metryki platformy.

Wyłączanie grupy reguł alertów

Wyłącz grupę reguł, aby przestać otrzymywać alerty z reguł w niej.

  1. Wyświetl grupę reguł alertów prometheus lub regułę alertu metryki platformy zgodnie z opisem w temacie Edytowanie zalecanych reguł alertów.

  2. Z menu Przegląd wybierz pozycję Wyłącz.

    Zrzut ekranu przedstawiający opcję wyłączenia grupy reguł.

W poniższych tabelach wymieniono szczegóły każdej zalecanej reguły alertu. Kod źródłowy dla każdego z nich jest dostępny w usłudze GitHub wraz z przewodnikami rozwiązywania problemów ze społecznością Prometheus.

Reguły alertów społeczności prometheus

Alerty na poziomie klastra

Nazwa alertu opis Domyślny próg Przedział czasu (w minutach)
KubeCPUQuotaOvercommit Przydział zasobów procesora CPU przydzielony przestrzeniom nazw przekracza dostępne zasoby procesora CPU w węzłach klastra o ponad 50% w ciągu ostatnich 5 minut. >1.5 5
KubeMemoryQuotaOvercommit Przydział zasobów pamięci przydzielony przestrzeniom nazw przekracza dostępne zasoby pamięci w węzłach klastra o ponad 50% w ciągu ostatnich 5 minut. >1.5 5
KubeContainerOOMKilledCount Co najmniej jeden kontener w zasobnikach został zabity z powodu zdarzeń braku pamięci (OOM) z ostatnich 5 minut. >0 5
KubeClientErrors Częstotliwość błędów klienta (kody stanu HTTP rozpoczynające się od 5xx) w żądaniach interfejsu API kubernetes przekracza 1% całkowitej liczby żądań interfejsu API w ciągu ostatnich 15 minut. >0.01 15
KubePersistentVolumeFillingUp Wolumin trwały wypełnia się i oczekuje się, że zabraknie dostępnego miejsca obliczonego na dostępny stosunek przestrzeni, użyte miejsce i przewidywany liniowy trend dostępnego miejsca w ciągu ostatnich 6 godzin. Te warunki są oceniane w ciągu ostatnich 60 minut. Nie dotyczy 60
KubePersistentVolumeInodesFillingUp Mniej niż 3% węzłów w ramach woluminu trwałego jest dostępnych przez ostatnie 15 minut. <0.03 15
KubePersistentVolumeErrors Co najmniej jeden wolumin trwały jest w fazie niepowodzenia lub oczekiwania na ostatnie 5 minut. >0 5
KubeContainerWaiting Co najmniej jeden kontener w zasobnikach Kubernetes jest w stanie oczekiwania przez ostatnie 60 minut. >0 60
KubeDaemonSetNotScheduled Co najmniej jeden zasobnik nie jest zaplanowany w żadnym węźle przez ostatnie 15 minut. >0 15
KubeDaemonSetMisScheduled Co najmniej jeden zasobnik zostanie pominięty w klastrze przez ostatnie 15 minut. >0 15
KubeQuotaAlmostFull Wykorzystanie przydziałów zasobów platformy Kubernetes wynosi od 90% do 100% limitów twardych w ciągu ostatnich 15 minut. >0.9 <1 15

Alerty na poziomie węzła

Nazwa alertu opis Domyślny próg Przedział czasu (w minutach)
KubeNodeUnreachable Węzeł nie jest osiągalny przez ostatnie 15 minut. 1 15
KubeNodeReadinessFlapping Stan gotowości węzła zmienił się ponad 2 razy w ciągu ostatnich 15 minut. 2 15

Alerty na poziomie zasobnika

Nazwa alertu opis Domyślny próg Przedział czasu (w minutach)
KubePVUsageHigh Średnie użycie woluminów trwałych na zasobniku przekracza 80% w ciągu ostatnich 15 minut. >0.8 15
KubeDeploymentReplicasMismatch Istnieje niezgodność między żądaną liczbą replik a liczbą dostępnych replik przez ostatnie 10 minut. Nie dotyczy 10
KubeStatefulSetReplicasMismatch Liczba gotowych replik w elemecie StatefulSet nie jest zgodna z całkowitą liczbą replik w elemecie StatefulSet przez ostatnie 15 minut. Nie dotyczy 15
KubeHpaReplicasMismatch Narzędzie Horizontal Pod Autoscaler w klastrze nie jest zgodne z żądaną liczbą replik w ciągu ostatnich 15 minut. Nie dotyczy 15
KubeHpaMaxedOut Narzędzie Horizontal Pod Autoscaler (HPA) w klastrze działa z maksymalną 15 minutami. Nie dotyczy 15
KubePodCrashLooping Co najmniej jeden zasobnik jest w stanie CrashLoopBackOff, w którym zasobnik stale ulega awarii po uruchomieniu i nie może pomyślnie odzyskać przez ostatnie 15 minut. >=1 15
KubeJobStale Co najmniej jedno wystąpienie zadania nie zostało ukończone pomyślnie przez ostatnie 6 godzin. >0 360
KubePodContainerRestart Co najmniej jeden kontener w zasobnikach w klastrze Kubernetes został ponownie uruchomiony co najmniej raz w ciągu ostatniej godziny. >0 15
KubePodReadyStateLow Procent zasobników w stanie gotowości spadnie poniżej 80% dla dowolnego wdrożenia lub demonaset w klastrze Kubernetes w ciągu ostatnich 5 minut. <0.8 5
KubePodFailedState Co najmniej jeden zasobnik jest w stanie niepowodzenia przez ostatnie 5 minut. >0 5
KubePodNotReadyByController Co najmniej jeden zasobnik nie jest w stanie gotowości (tj. w fazie "Oczekiwanie" lub "Nieznany") przez ostatnie 15 minut. >0 15
KubeStatefulSetGenerationMismatch Obserwowane generowanie elementu Kubernetes StatefulSet nie jest zgodne z generowaniem metadanych w ciągu ostatnich 15 minut. Nie dotyczy 15
KubeJobFailed Co najmniej jedno zadania kubernetes zakończyło się niepowodzeniem w ciągu ostatnich 15 minut. >0 15
KubeContainerAverageCPUHigh Średnie użycie procesora CPU na kontener przekracza 95% w ciągu ostatnich 5 minut. >0.95 5
KubeContainerAverageMemoryHigh Średnie użycie pamięci na kontener przekracza 95% w ciągu ostatnich 5 minut. >0.95 10
KubeletPodStartUpLatencyHigh 99. percentyl opóźnienia uruchamiania zasobnika przekracza 60 sekund w ciągu ostatnich 10 minut. >60 10

Reguły alertów metryk platformy

Nazwa alertu opis Domyślny próg Przedział czasu (w minutach)
Procent procesora cpu węzła jest większy niż 95% Procent użycia procesora CPU węzła jest większy niż 95% w ciągu ostatnich 5 minut. 95 5
Procent zestawu roboczego pamięci węzła jest większy niż 100% Procent zestawu roboczego pamięci węzła jest większy niż 100% w ciągu ostatnich 5 minut. 100 5

Starsze alerty metryk usługi Container Insights (wersja zapoznawcza)

Reguły metryk w usłudze Container Insights zostały wycofane 31 maja 2024 r. Te reguły były w publicznej wersji zapoznawczej, ale zostały wycofane bez osiągnięcia ogólnej dostępności, ponieważ są teraz dostępne nowe zalecane alerty metryk opisane w tym artykule.

Jeśli te starsze reguły alertów zostały już włączone, należy je wyłączyć i włączyć nowe środowisko.

Wyłączanie reguł alertów dotyczących metryk

  1. W menu Szczegółowe informacje dla klastra wybierz pozycję Zalecane alerty (wersja zapoznawcza)..
  2. Zmień stan każdej reguły alertu na Wyłączone.

Starsze mapowanie alertów

Poniższa tabela mapuje każdy ze starszych alertów metryk usługi Container Insights na równoważne zalecane alerty metryk Rozwiązania Prometheus.

Zalecany alert dotyczący metryk niestandardowych Odpowiedni alert dotyczący metryki Prometheus/Platform Stan
Liczba ukończonych zadań KubeJobStale (alerty na poziomie zasobnika) Co najmniej jedno wystąpienie zadania nie zostało ukończone pomyślnie przez ostatnie 6 godzin.
Procent procesora CPU kontenera KubeContainerAverageCPUHigh (alerty na poziomie zasobnika) Średnie użycie procesora CPU na kontener przekracza 95% w ciągu ostatnich 5 minut.
Procent pamięci zestawu roboczego kontenera KubeContainerAverageMemoryHigh (alerty na poziomie zasobnika) Średnie użycie pamięci na kontener przekracza 95% w ciągu ostatnich 5 minut.
Liczba nieudanych zasobników KubePodFailedState (alerty na poziomie zasobnika) Co najmniej jeden zasobnik jest w stanie niepowodzenia przez ostatnie 5 minut.
Procent procesora CPU węzła Procent użycia procesora cpu węzła jest większy niż 95% (metryka platformy) Procent użycia procesora CPU węzła jest większy niż 95% w ciągu ostatnich 5 minut.
Procent użycia dysku węzła Nie dotyczy Średnie użycie dysku dla węzła jest większe niż 80%.
Stan NotReady węzła KubeNodeUnreachable (alerty na poziomie węzła) Węzeł nie jest osiągalny przez ostatnie 15 minut.
% pamięci zestawu roboczego węzła Procent zestawu roboczego pamięci węzła jest większy niż 100% Procent zestawu roboczego pamięci węzła jest większy niż 100% w ciągu ostatnich 5 minut.
Kontenery z zabitymi elementami OOM KubeContainerOOMKilledCount (alerty na poziomie klastra) Co najmniej jeden kontener w zasobnikach został zabity z powodu zdarzeń braku pamięci (OOM) z ostatnich 5 minut.
Procent użycia trwałego woluminu KubePVUsageHigh (alerty na poziomie zasobnika) Średnie użycie woluminów trwałych na zasobniku przekracza 80% w ciągu ostatnich 15 minut.
Gotowe zasobniki (%) KubePodReadyStateLow (alerty na poziomie zasobnika) Procent zasobników w stanie gotowości spadnie poniżej 80% dla dowolnego wdrożenia lub demonaset w klastrze Kubernetes w ciągu ostatnich 5 minut.
Liczba ponownie uruchamianych kontenerów KubePodContainerRestart (alerty na poziomie zasobnika) Co najmniej jeden kontener w zasobnikach w klastrze Kubernetes został ponownie uruchomiony co najmniej raz w ciągu ostatniej godziny.

Następne kroki