Udostępnij za pośrednictwem


Monitorowanie klastrów Kubernetes przy użyciu usług platformy Azure i narzędzi natywnych dla chmury

W tym artykule opisano sposób monitorowania kondycji i wydajności klastrów Kubernetes oraz obciążeń uruchomionych na nich przy użyciu usługi Azure Monitor i powiązanych usług natywnych dla platformy Azure i chmury. Obejmuje to klastry działające w usłudze Azure Kubernetes Service (AKS) lub w innych chmurach, takich jak AWS i GCP. Różne zestawy wskazówek są udostępniane dla różnych ról, które zwykle zarządzają unikatowymi składnikami tworzącym środowisko Kubernetes.

Ważne

Ten artykuł zawiera pełne wskazówki dotyczące monitorowania różnych warstw środowiska Kubernetes na podstawie usługi Azure Kubernetes Service (AKS) lub klastrów Kubernetes w innych chmurach. Jeśli dopiero zaczynasz pracę z usługą AKS lub Azure Monitor, zobacz Monitorowanie usługi AKS , aby uzyskać podstawowe informacje na temat rozpoczynania monitorowania klastra usługi AKS.

Warstwy i role środowiska Kubernetes

Poniżej przedstawiono ilustrację wspólnego modelu typowego środowiska Kubernetes, począwszy od warstwy infrastruktury za pośrednictwem aplikacji. Każda warstwa ma różne wymagania dotyczące monitorowania, które są uwzględniane przez różne usługi i zwykle zarządzane przez różne role w organizacji.

Diagram warstw środowiska Kubernetes z powiązanymi rolami administracyjnymi.

Odpowiedzialność za różne warstwy środowiska Kubernetes i aplikacji, które są od niego zależne, są zwykle rozwiązywane przez wiele ról. W zależności od wielkości organizacji te role mogą być wykonywane przez różne osoby, a nawet różne zespoły. W poniższej tabeli opisano różne role, podczas gdy w poniższych sekcjach przedstawiono scenariusze monitorowania, które będą zwykle napotykane.

Role opis
Deweloperskie Twórz i konserwuj aplikację działającą w klastrze. Odpowiedzialny za ruch specyficzny dla aplikacji, w tym wydajność i błędy aplikacji. Utrzymuje niezawodność aplikacji zgodnie z umowami SLA.
Inżynier platformy Odpowiedzialny za klaster Kubernetes. Aprowizuje i utrzymuje platformę używaną przez dewelopera.
Inżynier sieci Odpowiada za ruch między obciążeniami i wszelkimi ruchami przychodzącymi/wychodzącymi z klastrem. Analizuje ruch sieciowy i przeprowadza analizę zagrożeń.

Wybór narzędzi do monitorowania

Platforma Azure udostępnia kompletny zestaw usług opartych na usłudze Azure Monitor do monitorowania kondycji i wydajności różnych warstw infrastruktury Kubernetes oraz aplikacji, które od niej zależą. Te usługi współpracują ze sobą w celu zapewnienia kompletnego rozwiązania do monitorowania i są zalecane zarówno w przypadku usług AKS , jak i klastrów Kubernetes działających w innych chmurach. Możesz mieć istniejącą inwestycję w natywne technologie chmury zatwierdzone przez Cloud Native Computing Foundation, w tym przypadku możesz wybrać integrację narzędzi platformy Azure z istniejącym środowiskiem.

Wybór narzędzi do wdrożenia i ich konfiguracji zależy od wymagań danego środowiska. Na przykład możesz użyć ofert zarządzanych na platformie Azure dla rozwiązań Prometheus i Grafana. Możesz też użyć istniejącej instalacji tych narzędzi z klastrami Kubernetes na platformie Azure. Organizacja może również używać alternatywnych narzędzi do analizy kontenerów w celu zbierania i analizowania dzienników platformy Kubernetes, takich jak Splunk lub Datadog.

Ważne

Monitorowanie złożonego środowiska, takiego jak Kubernetes, obejmuje zbieranie znacznej ilości danych telemetrycznych, z których znaczna część wiąże się z kosztami. Należy zebrać wystarczającą ilość danych, aby spełnić wymagania. Obejmuje to ilość zebranych danych, częstotliwość zbierania i okres przechowywania. Jeśli jesteś bardzo świadomy kosztów, możesz wybrać zaimplementowanie podzbioru pełnej funkcjonalności, aby zmniejszyć wydatki na monitorowanie.

Inżynier sieci

Inżynier sieci jest odpowiedzialny za ruch między obciążeniami a wszystkimi ruchami przychodzącymi/wychodzącymi z klastrem. Analizują ruch sieciowy i wykonują analizę zagrożeń.

Diagram warstw środowiska Kubernetes dla inżyniera sieci.

Usługi platformy Azure dla administratora sieci

W poniższej tabeli wymieniono usługi, które są często używane przez inżyniera sieci do monitorowania kondycji i wydajności sieci obsługującej klaster Kubernetes.

Usługa opis
Network Watcher Pakiet narzędzi na platformie Azure do monitorowania sieci wirtualnych używanych przez klastry Kubernetes i diagnozowania wykrytych problemów.
Analiza ruchu Funkcja usługi Network Watcher, która analizuje dzienniki przepływu w celu zapewnienia wglądu w przepływ ruchu.
Szczegółowe informacje o sieci Funkcja usługi Azure Monitor, która zawiera wizualną reprezentację wydajności i kondycji różnych składników sieciowych oraz zapewnia dostęp do narzędzi do monitorowania sieci, które są częścią usługi Network Watcher.

Szczegółowe informacje o sieci są domyślnie włączone i nie wymagają żadnej konfiguracji. Usługa Network Watcher jest również domyślnie włączona w każdym regionie świadczenia usługi Azure.

Monitorowanie poziomu 1 — sieć

Poniżej przedstawiono typowe scenariusze monitorowania sieci.

  • Utwórz dzienniki przepływu w celu rejestrowania informacji o ruchu IP przepływającym przez sieciowe grupy zabezpieczeń używane przez klaster, a następnie użyj analizy ruchu do analizowania i udostępniania szczegółowych informacji na temat tych danych. Najprawdopodobniej użyjesz tego samego obszaru roboczego usługi Log Analytics na potrzeby analizy ruchu używanej na potrzeby szczegółowych informacji o kontenerze i dziennikach płaszczyzny sterowania.
  • Korzystając z analizy ruchu, można określić, czy jakikolwiek ruch przepływa do lub z jakichkolwiek nieoczekiwanych portów używanych przez klaster, a także jeśli jakikolwiek ruch przepływa za pośrednictwem publicznych adresów IP, które nie powinny być uwidocznione. Użyj tych informacji, aby określić, czy reguły sieci wymagają modyfikacji.
  • W przypadku klastrów usługi AKS użyj dodatku Do obserwacji sieci dla usługi AKS (wersja zapoznawcza), aby monitorować i obserwować dostęp między usługami w klastrze (ruch wschód-zachód).

Inżynier platformy

Inżynier platformy, znany również jako administrator klastra, jest odpowiedzialny za sam klaster Kubernetes. Aprowizować i obsługiwać platformę używaną przez deweloperów. Muszą zrozumieć kondycję klastra i jego składników oraz mieć możliwość rozwiązywania wszelkich wykrytych problemów. Muszą również zrozumieć koszt działania klastra i potencjalnie umożliwić przydzielanie kosztów różnym zespołom.

Diagram warstw środowiska Kubernetes dla inżyniera platformy.

Duże organizacje mogą również mieć architekta floty, który jest podobny do inżyniera platformy, ale jest odpowiedzialny za wiele klastrów. Potrzebują one widoczności w całym środowisku i muszą wykonywać zadania administracyjne na dużą skalę. Zalecenia dotyczące skalowania znajdują się w poniższych wskazówkach. Aby uzyskać szczegółowe informacje na temat tworzenia zasobu floty dla wielu klastrów i scenariuszy na dużą skalę, zobacz Co to jest usługa Azure Kubernetes Fleet Manager?

Usługi platformy Azure dla inżynierów platformy

W poniższej tabeli wymieniono usługi platformy Azure dla inżyniera platformy w celu monitorowania kondycji i wydajności klastra Kubernetes oraz jego składników.

Usługa opis
Szczegółowe informacje o kontenerze Usługa Platformy Azure dla klastrów Kubernetes z obsługą usług AKS i Azure Arc, które używają konteneryzowanej wersji agenta usługi Azure Monitor do zbierania dzienników stdout/stderr, metryk wydajności i zdarzeń kubernetes z każdego węzła w klastrze. Dane można wyświetlić w witrynie Azure Portal lub wykonać zapytanie za pomocą usługi Log Analytics. Skonfiguruj środowisko rozwiązania Prometheus, aby używać widoków usługi Container Insights z danymi Prometheus.
Usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus Prometheus to natywne dla chmury rozwiązanie metryk z natywnej bazy danych obliczeniowych w chmurze i najbardziej typowe narzędzie używane do zbierania i analizowania danych metryk z klastrów Kubernetes. Usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus jest w pełni zarządzanym rozwiązaniem zgodnym z językiem zapytań Prometheus (PromQL) i alertami Prometheus oraz integruje się z usługą Azure Managed Grafana na potrzeby wizualizacji. Ta usługa obsługuje inwestycje w narzędzia open source bez złożoności zarządzania własnym środowiskiem Prometheus.
Platforma Kubernetes z obsługą usługi Azure Arc Umożliwia dołączanie do klastrów Kubernetes działających w innych chmurach w celu zarządzania nimi i konfigurowania ich na platformie Azure. Po zainstalowaniu agenta usługi Arc można monitorować usługi AKS i klastry hybrydowe przy użyciu tych samych metod i narzędzi, w tym szczegółowych informacji o kontenerach i rozwiązania Prometheus.
Azure Managed Grafana W pełni zarządzana implementacja narzędzia Grafana, która jest platformą wizualizacji danych typu open source, często używaną do prezentowania rozwiązania Prometheus i innych danych. Do monitorowania platformy Kubernetes i rozwiązywania problemów z pełnym stosem jest dostępnych wiele wstępnie zdefiniowanych pulpitów nawigacyjnych narzędzia Grafana.

Konfigurowanie monitorowania dla inżyniera platformy

W poniższych sekcjach opisano kroki pełnego monitorowania środowiska Kubernetes przy użyciu usług platformy Azure w powyższej tabeli. Dostępne są opcje funkcjonalności i integracji dla każdego, aby ułatwić określenie, gdzie może być konieczne zmodyfikowanie tej konfiguracji w celu spełnienia określonych wymagań.

Dołączanie szczegółowych informacji o kontenerach i zarządzanych rozwiązania Prometheus może być częścią tego samego środowiska, co opisano w temacie Włączanie monitorowania klastrów Kubernetes. W poniższych sekcjach opisano poszczególne oddzielne elementy, dzięki czemu możesz rozważyć wszystkie opcje dołączania i konfiguracji dla każdego z nich.

Włączanie złomowania metryk rozwiązania Prometheus

Ważne

Aby użyć usługi zarządzanej usługi Azure Monitor dla rozwiązania Prometheus, musisz mieć obszar roboczy usługi Azure Monitor. Aby uzyskać informacje na temat zagadnień projektowych dotyczących konfiguracji obszaru roboczego, zobacz Architektura obszaru roboczego usługi Azure Monitor.

Włącz złomowanie metryk Rozwiązania Prometheus przez usługę zarządzaną usługi Azure Monitor dla rozwiązania Prometheus z klastra przy użyciu jednej z następujących metod:

Jeśli masz już środowisko Prometheus, którego chcesz użyć dla klastrów usługi AKS, włącz usługę zarządzaną Azure Monitor dla rozwiązania Prometheus, a następnie użyj zdalnego zapisu, aby wysłać dane do istniejącego środowiska Prometheus. Możesz również użyć zdalnego zapisu do wysyłania danych z istniejącego własnego środowiska Prometheus do usługi zarządzanej Azure Monitor dla rozwiązania Prometheus.

Zobacz Domyślna konfiguracja metryk rozwiązania Prometheus w usłudze Azure Monitor , aby uzyskać szczegółowe informacje na temat metryk, które są zbierane domyślnie i ich częstotliwości zbierania. Jeśli chcesz dostosować konfigurację, zobacz Dostosowywanie złomowania metryk rozwiązania Prometheus w usłudze zarządzanej Azure Monitor dla rozwiązania Prometheus.

Włączanie narzędzia Grafana na potrzeby analizy danych rozwiązania Prometheus

Uwaga

Użyj narzędzia Grafana do monitorowania środowiska Kubernetes, jeśli masz istniejącą inwestycję w rozwiązanie Grafana lub jeśli wolisz używać pulpitów nawigacyjnych Grafana zamiast szczegółowych informacji o kontenerze do analizowania danych rozwiązania Prometheus. Jeśli nie chcesz używać narzędzia Grafana, włącz środowisko Prometheus w usłudze Container Insights , aby można było używać widoków usługi Container Insights z danymi rozwiązania Prometheus.

Utwórz wystąpienie zarządzanego narzędzia Grafana i połącz je z obszarem roboczym usługi Azure Monitor, aby można było użyć danych rozwiązania Prometheus jako źródła danych. Tę konfigurację można również wykonać ręcznie, dodając usługę zarządzaną Azure Monitor dla rozwiązania Prometheus jako źródło danych. Różne wstępnie utworzone pulpity nawigacyjne są dostępne do monitorowania klastrów Kubernetes, w tym kilku, które przedstawiają podobne informacje, jak widoki szczegółowych informacji o kontenerach.

Jeśli masz istniejące środowisko Grafana, możesz nadal z niego korzystać i dodać usługę zarządzaną Azure Monitor dla rozwiązania Prometheus jako źródło danych. Możesz również dodać źródło danych usługi Azure Monitor do narzędzia Grafana , aby używać danych zebranych przez usługę Container Insights na niestandardowych pulpitach nawigacyjnych narzędzia Grafana. Wykonaj tę konfigurację, jeśli chcesz skupić się na pulpitach nawigacyjnych narzędzia Grafana, a nie na widokach i raportach usługi Container Insights.

Włączanie usługi Container Insights na potrzeby zbierania dzienników

Po włączeniu usługi Container Insights dla klastra Kubernetes wdraża konteneryzowaną wersję agenta usługi Azure Monitor, który wysyła dane do obszaru roboczego usługi Log Analytics w usłudze Azure Monitor. Usługa Container Insights zbiera dane dotyczące stdout/stderr kontenera, dzienników infrastruktury i danych wydajności. Wszystkie dane dziennika są przechowywane w obszarze roboczym usługi Log Analytics, w którym można je analizować przy użyciu język zapytań Kusto (KQL).

Zobacz Włączanie szczegółowych informacji o kontenerach, aby uzyskać informacje o wymaganiach wstępnych i opcjach konfiguracji dotyczących dołączania klastrów Kubernetes. Dołącz przy użyciu usługi Azure Policy , aby upewnić się, że wszystkie klastry zachowują spójną konfigurację.

Po włączeniu usługi Container Insights dla klastra wykonaj następujące akcje, aby zoptymalizować instalację.

Jeśli masz istniejące rozwiązanie do zbierania dzienników, postępuj zgodnie ze wskazówkami dotyczącymi tego narzędzia lub włącz usługę Container Insights i użyj funkcji eksportowania danych obszaru roboczego usługi Log Analytics, aby wysłać dane do usługi Azure Event Hubs, aby przekazać dane do alternatywnego systemu.

Zbieranie dzienników płaszczyzny sterowania dla klastrów usługi AKS

Dzienniki składników płaszczyzny sterowania usługi AKS są implementowane na platformie Azure jako dzienniki zasobów. Usługa Container Insights nie używa tych dzienników, dlatego należy utworzyć własne zapytania dziennika, aby je wyświetlać i analizować. Aby uzyskać szczegółowe informacje na temat struktury dzienników i zapytań, zobacz Jak wykonywać zapytania dotyczące dzienników z usługi Container Insights.

Utwórz ustawienie diagnostyczne dla każdego klastra usługi AKS w celu wysyłania dzienników zasobów do obszaru roboczego usługi Log Analytics. Użyj usługi Azure Policy , aby zapewnić spójną konfigurację w wielu klastrach.

Istnieje koszt wysyłania dzienników zasobów do obszaru roboczego, dlatego należy zebrać tylko te kategorie dzienników, które mają być używane. Opis kategorii dostępnych dla usługi AKS można znaleźć w temacie Dzienniki zasobów. Zacznij od zebrania minimalnej liczby kategorii, a następnie zmodyfikuj ustawienie diagnostyczne, aby zebrać dodatkowe kategorie wraz ze wzrostem potrzeb i zrozumieniem powiązanych kosztów. Dzienniki można wysyłać do konta usługi Azure Storage, aby zmniejszyć koszty, jeśli chcesz zachować informacje ze względów zgodności. Aby uzyskać szczegółowe informacje na temat kosztów pozyskiwania i przechowywania danych dziennika, zobacz Szczegóły cennika dzienników usługi Azure Monitor.

Jeśli nie masz pewności, które dzienniki zasobów mają być początkowo włączone, skorzystaj z poniższych zaleceń, które są oparte na najbardziej typowych wymaganiach klientów. W razie potrzeby możesz włączyć inne kategorie później.

Kategoria Umożliwiać? Element docelowy
kube-apiserver Włącz Obszar roboczy usługi Log Analytics
kube-audit Włącz Azure Storage. Utrzymuje to koszty do minimum, ale zachowuje dzienniki inspekcji, jeśli są one wymagane przez audytora.
kube-audit-admin Włącz Obszar roboczy usługi Log Analytics
kube-controller-manager Włącz Obszar roboczy usługi Log Analytics
kube-scheduler Wyłącz
cluster-autoscaler Włącz, jeśli automatyczne skalowanie jest włączone Obszar roboczy usługi Log Analytics
strażnik Włącz, jeśli włączono identyfikator entra firmy Microsoft Obszar roboczy usługi Log Analytics
Wszystkie metryki Wyłącz, ponieważ metryki są zbierane w zarządzanym rozwiązaniu Prometheus Obszar roboczy usługi Log Analytics

Jeśli masz istniejące rozwiązanie do zbierania dzienników, postępuj zgodnie ze wskazówkami dotyczącymi tego narzędzia lub włącz szczegółowe informacje o kontenerze i użyj funkcji eksportowania danych obszaru roboczego usługi Log Analytics, aby wysłać dane do centrum zdarzeń platformy Azure, aby przekazać dane do alternatywnego systemu.

Zbieranie dziennika aktywności dla klastrów usługi AKS

Zmiany konfiguracji w klastrach usługi AKS są przechowywane w dzienniku aktywności. Utwórz ustawienie diagnostyczne, aby wysłać te dane do obszaru roboczego usługi Log Analytics, aby je przeanalizować przy użyciu innych danych monitorowania. Nie ma żadnych kosztów dla tej kolekcji danych i możesz analizować dane lub otrzymywać alerty przy użyciu usługi Log Analytics.

Monitorowanie poziomu 2 — składniki na poziomie klastra

Poziom klastra obejmuje następujące składniki:

Składnik Wymagania dotyczące monitorowania
Węzeł Zapoznaj się ze stanem gotowości i wydajnością użycia procesora CPU, pamięci, dysku i adresu IP dla każdego węzła oraz proaktywnie monitoruj trendy użycia przed wdrożeniem obciążeń.

Poniżej przedstawiono typowe scenariusze monitorowania składników na poziomie klastra.

Szczegółowe informacje o kontenerze

  • Użyj widoku Klaster, aby wyświetlić wydajność węzłów w klastrze, w tym wykorzystanie procesora CPU i pamięci.
  • Użyj widoku Węzły, aby wyświetlić kondycję każdego węzła oraz kondycję i wydajność uruchomionych na nich zasobników. Aby uzyskać więcej informacji na temat analizowania kondycji i wydajności węzła, zobacz Monitorowanie wydajności klastra Kubernetes za pomocą usługi Container Insights.
  • W obszarze Raporty użyj skoroszytów monitorowania węzłów, aby przeanalizować pojemność dysku, we/wy dysku i użycie procesora GPU. Aby uzyskać więcej informacji na temat tych skoroszytów, zobacz Skoroszyty monitorowania węzłów.
  • W obszarze Monitorowanie wybierz pozycję Skoroszyty, a następnie pozycję Użycie adresu IP podsieci, aby wyświetlić alokację i przypisanie adresów IP w każdym węźle dla wybranego zakresu czasu.

Pulpity nawigacyjne narzędzia Grafana

  • Użyj wstępnie utworzonego pulpitu nawigacyjnego w narzędziu Managed Grafana for Kubelet, aby zobaczyć kondycję i wydajność każdego z nich.
  • Użyj pulpitów nawigacyjnych narzędzia Grafana z wartościami metryk Prometheus związanymi z dyskiem, takimi jak node_disk_io_time_seconds_total iwindows_logical_disk_free_bytes, aby monitorować dołączony magazyn.
  • Dostępnych jest wiele pulpitów nawigacyjnych platformy Kubernetes, które wizualizować wydajność i kondycję węzłów na podstawie danych przechowywanych w rozwiązaniu Prometheus.

Log Analytics

  • Wybierz kategorię Kontenery w oknie dialogowym zapytań dla obszaru roboczego usługi Log Analytics, aby uzyskać dostęp do wstępnie utworzonych zapytań dziennika dla klastra, w tym zapytania dziennika spisu obrazów, które pobiera dane z tabeli ContainerImageInventory wypełnionej przez usługę Container Insights.

Rozwiązywanie problemów

  • W przypadku scenariuszy rozwiązywania problemów może być konieczne uzyskanie dostępu do węzłów bezpośrednio w celu przeprowadzenia konserwacji lub natychmiastowego zbierania dzienników. W celach bezpieczeństwa węzły usługi AKS nie są uwidocznione w Internecie, ale można użyć kubectl debug polecenia do SSH do węzłów usługi AKS. Aby uzyskać więcej informacji na temat tego procesu, zobacz Connect with SSH to Azure Kubernetes Service (AKS) cluster nodes for maintenance or troubleshooting (Nawiązywanie połączenia za pomocą protokołu SSH z węzłami klastra usługi Azure Kubernetes Service (AKS) na potrzeby konserwacji lub rozwiązywania problemów.

Analiza kosztów

  • Skonfiguruj platformę OpenCost, która jest projektem piaskownicy typu open source neutralnego dla dostawcy, aby poznać koszty platformy Kubernetes, aby obsługiwać analizę kosztów klastra. Eksportuje szczegółowe dane dotyczące kosztów do usługi Azure Storage.
  • Użyj danych z warstwy OpenCost do podziału względnego użycia klastra przez różne zespoły w organizacji, aby można było przydzielić koszt między poszczególnymi zespołami.
  • Użyj danych z openCost, aby upewnić się, że klaster korzysta z pełnej pojemności swoich węzłów przez gęsto pakowane obciążenia, używając mniej dużych węzłów, w przeciwieństwie do wielu mniejszych węzłów.

Monitorowanie poziomu 3 — zarządzane składniki platformy Kubernetes

Poziom zarządzanego rozwiązania Kubernetes obejmuje następujące składniki:

Składnik Monitorowanie
Serwer interfejsu API Monitoruj stan serwera interfejsu API i zidentyfikuj wszelkie wzrost obciążenia żądań i wąskich gardeł, jeśli usługa nie działa.
Kubelet Monitoruj rozwiązanie Kubelet, aby ułatwić rozwiązywanie problemów z zarządzaniem zasobnikami, brak uruchamiania zasobników, brak gotowości węzłów lub zabicie zasobników.

Poniżej przedstawiono typowe scenariusze monitorowania zarządzanych składników platformy Kubernetes.

Szczegółowe informacje o kontenerze

  • W obszarze Monitorowanie wybierz pozycję Metryki, aby wyświetlić licznik Żądania inflight.
  • W obszarze Raporty użyj skoroszytu Kubelet , aby zobaczyć kondycję i wydajność każdego kubeletu. Aby uzyskać więcej informacji na temat tych skoroszytów, zobacz Skoroszyty monitorowania zasobów.

Grafana

  • Użyj wstępnie utworzonego pulpitu nawigacyjnego w rozwiązaniu Managed Grafana for Kubelet, aby zobaczyć kondycję i wydajność każdego kubeletu.
  • Użyj pulpitu nawigacyjnego, takiego jak kubernetes apiserver , aby uzyskać pełny widok wydajności serwera interfejsu API. Obejmuje to takie wartości jak opóźnienie żądania i czas przetwarzania kolejki roboczej.

Log Analytics

  • Użyj zapytań dziennika z dziennikami zasobów, aby analizować dzienniki płaszczyzny sterowania generowane przez składniki usługi AKS.

  • Wszystkie działania konfiguracyjne usługi AKS są rejestrowane w dzienniku aktywności. Po wysłaniu dziennika aktywności do obszaru roboczego usługi Log Analytics możesz je przeanalizować za pomocą usługi Log Analytics. Na przykład następujące przykładowe zapytanie może służyć do zwracania rekordów identyfikujących pomyślne uaktualnienie we wszystkich klastrach usługi AKS.

    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
    

Rozwiązywanie problemów

  • W przypadku scenariuszy rozwiązywania problemów można uzyskać dostęp do dzienników kubelet przy użyciu procesu opisanego w temacie Uzyskiwanie dzienników kubeletu z węzłów klastra usługi Azure Kubernetes Service (AKS).

Monitorowanie poziomu 4 — obiekty i obciążenia platformy Kubernetes

Poziom obiektów i obciążeń platformy Kubernetes obejmuje następujące składniki:

Składnik Wymagania dotyczące monitorowania
Wdrożenia Monitorowanie rzeczywistego i żądanego stanu wdrożenia oraz stanu i wykorzystania zasobów zasobników uruchomionych na nich.
Zasobniki Monitoruj stan i wykorzystanie zasobów, w tym procesor i pamięć, zasobników uruchomionych w klastrze usługi AKS.
Kontenery Monitorowanie wykorzystania zasobów, w tym procesora CPU i pamięci, kontenerów uruchomionych w klastrze usługi AKS.

Poniżej przedstawiono typowe scenariusze monitorowania obiektów i obciążeń platformy Kubernetes.

Szczegółowe informacje o kontenerze

Pulpity nawigacyjne narzędzia Grafana

  • Użyj wstępnie utworzonych pulpitów nawigacyjnych w zarządzanym narzędziu Grafana dla węzłów i zasobników, aby wyświetlić ich kondycję i wydajność.
  • Dostępnych jest wiele pulpitów nawigacyjnych platformy Kubernetes, które wizualizować wydajność i kondycję węzłów na podstawie danych przechowywanych w rozwiązaniu Prometheus.

Dane na żywo

Alerty dla inżyniera platformy

Alerty w usłudze Azure Monitor aktywnie powiadamiają o interesujących danych i wzorcach w danych monitorowania. Umożliwiają one identyfikowanie i rozwiązywanie problemów w systemie zanim zauważą je klienci. Jeśli masz istniejące rozwiązanie ITSM do zgłaszania alertów, możesz zintegrować je z usługą Azure Monitor. Możesz również wyeksportować dane obszaru roboczego, aby wysyłać dane z obszaru roboczego usługi Log Analytics do innej lokalizacji, która obsługuje bieżące rozwiązanie alertów.

Typy alertów

W poniższej tabeli opisano różne typy niestandardowych reguł alertów, które można utworzyć na podstawie danych zebranych przez usługi opisane powyżej.

Typ alertu opis
Alerty rozwiązania Prometheus Alerty prometheus są zapisywane w języku Prometheus Query Language (Prom QL) i stosowane w metrykach Prometheus przechowywanych w usługach zarządzanych usługi Azure Monitor dla rozwiązania Prometheus. Zalecane alerty obejmują już najbardziej typowe alerty Prometheus i można utworzyć dodatkowe reguły alertów zgodnie z potrzebami.
Reguły alertów metryk Reguły alertów dotyczących metryk używają tych samych wartości metryk co Eksplorator metryk. W rzeczywistości możesz utworzyć regułę alertu bezpośrednio z poziomu eksploratora metryk z aktualnie analiznymi danymi. Reguły alertów dotyczących metryk mogą być przydatne do zgłaszania alertów dotyczących wydajności usługi AKS przy użyciu dowolnych wartości w metrykach referencyjnych danych usługi AKS.
Reguły alertów przeszukiwania dzienników Użyj reguł alertów przeszukiwania dzienników, aby wygenerować alert na podstawie wyników zapytania dziennika. Aby uzyskać więcej informacji, zobacz How to create log search alerts from Container Insights and How to query logs from Container Insights (Jak tworzyć alerty wyszukiwania dzienników w usłudze Container Insights ) i How to query logs from Container Insights (Jak wykonywać zapytania o dzienniki z usługi Container Insights).

Zacznij od zestawu zalecanych alertów Rozwiązania Prometheus z reguł alertów dotyczących metryk w usłudze Container Insights (wersja zapoznawcza), które obejmują najbardziej typowe warunki alertów dla klastra Kubernetes. Później możesz dodać więcej reguł alertów podczas identyfikowania dodatkowych warunków alertów.

Deweloper

Oprócz tworzenia aplikacji deweloper obsługuje aplikację działającą w klastrze. Są one odpowiedzialne za ruch specyficzny dla aplikacji, w tym wydajność i awarie aplikacji oraz utrzymanie niezawodności aplikacji zgodnie z umowami SLA zdefiniowanymi przez firmę.

Diagram warstw środowiska Kubernetes dla deweloperów.

Usługi platformy Azure dla deweloperów

W poniższej tabeli wymieniono usługi, które są często używane przez dewelopera do monitorowania kondycji i wydajności aplikacji uruchomionej w klastrze.

Usługa opis
Szczegółowe dane dotyczące aplikacji Funkcja usługi Azure Monitor, która zapewnia monitorowanie wydajności aplikacji (APM) w celu monitorowania aplikacji uruchomionych w klastrze Kubernetes z poziomu programowania, testowania i produkcji. Szybkie identyfikowanie i eliminowanie problemów z opóźnieniami i niezawodnością przy użyciu rozproszonych śladów. Obsługuje elementy OpenTelemetry dla instrumentacji neutralnej od dostawcy.

Zobacz Podstawy zbierania danych usługi Azure Monitor Application Insights , aby uzyskać opcje konfigurowania zbierania danych z aplikacji działającej w klastrze i kryteriów podejmowania decyzji dotyczących najlepszej metody dla konkretnych wymagań.

Monitorowanie poziomu 5 — aplikacja

Poniżej przedstawiono typowe scenariusze monitorowania aplikacji.

Wydajność aplikacji

  • Widok wydajności w usłudze Application Insights umożliwia wyświetlenie wydajności różnych operacji w aplikacji.
  • Użyj profilera , aby przechwycić i wyświetlić ślady wydajności aplikacji.
  • Użyj mapy aplikacji, aby wyświetlić zależności między składnikami aplikacji i zidentyfikować wszelkie wąskie gardła.
  • Włącz śledzenie rozproszone, które zapewnia profiler wydajności, który działa jak stosy wywołań dla architektur chmury i mikrousług, aby uzyskać lepszą wgląd w interakcję między usługami.

Błędy aplikacji

  • Użyj karty Błędy usługi Application Insights, aby wyświetlić liczbę żądań zakończonych niepowodzeniem i najbardziej typowe wyjątki.
  • Upewnij się, że alerty dotyczące anomalii błędów zidentyfikowanych przy użyciu wykrywania inteligentnego są prawidłowo skonfigurowane.

Monitorowanie kondycji

Dzienniki aplikacji

  • Usługa Container Insights wysyła dzienniki stdout/stderr do obszaru roboczego usługi Log Analytics. Zobacz Dzienniki zasobów, aby uzyskać opis różnych dzienników i usług Kubernetes Services , aby uzyskać listę tabel, do których są wysyłane poszczególne.

Siatka usług

  • W przypadku klastrów usługi AKS wdróż dodatek siatki usług oparty na architekturze istio, który zapewnia wgląd w architekturę mikrousług. Istio to siatka usług typu open source, która w sposób przezroczysty nakłada się na istniejące aplikacje rozproszone. Dodatek pomaga we wdrażaniu i zarządzaniu usługą Istio for AKS.

Zobacz też

  • Zobacz Monitorowanie usługi AKS , aby uzyskać wskazówki dotyczące monitorowania specyficznego dla usługi Azure Kubernetes Service (AKS).