Monitorowanie i rejestrowanie na platformie Kubernetes

Azure Kubernetes Service (AKS)
Azure Log Analytics
Azure Monitor

W tym artykule opisano sposób porównywania monitorowania usługi Azure Kubernetes Service (AKS) z usługą Amazon Elastic Kubernetes Service (Amazon EKS). W tym artykule przedstawiono różne opcje monitorowania dzienników klastra usługi AKS i jego obciążeń oraz zarządzania nimi.

Uwaga

Ten artykuł jest częścią serii artykułów, które ułatwiają specjalistom, którzy znają usługę Amazon EKS, aby zrozumieć usługę Azure Kubernetes Service (AKS).

Monitorowanie i rejestrowanie usługi Amazon EKS

Podobnie jak każda usługa Kubernetes, eks ma dwa główne składniki, płaszczyznę sterowania i węzły robocze. Istnieją konkretne możliwości dla każdej warstwy.

Płaszczyzna sterowania amazon EKS i monitorowanie klastra

Usługa Amazon EKS integruje się z dziennikami Amazon CloudWatch w celu zapewnienia rejestrowania i monitorowania płaszczyzny sterowania Amazon EKS. Ta integracja nie jest domyślnie włączona, ale po skonfigurowaniu zbiera dzienniki:

  • Wywołania serwera interfejsu API i interfejsu API.
  • Dzienniki inspekcji i interakcje użytkowników.
  • Dzienniki wystawcy uwierzytelniającego.
  • Dzienniki harmonogramu i kontrolera.

Usługa Amazon EKS uwidacznia metryki płaszczyzny sterowania w /metrics punkcie końcowym w formacie tekstowym Prometheus. Usługa CloudWatch Container Insights może zbierać i przechowywać metryki Rozwiązania Prometheus. Możesz wdrożyć rozwiązanie Prometheus i samodzielnie zarządzać nim w ramach klastra EKS lub użyć usługi Amazon Managed service for Prometheus.

Usługa Amazon EKS integruje się również z usługą Amazon Web Services (AWS) CloudTrail w celu śledzenia akcji i wywołań interfejsu API. Aby uzyskać więcej informacji, zobacz Rejestrowanie wywołań interfejsu API Amazon EKS za pomocą usługi AWS CloudTrail.

Monitorowanie obciążeń amazon EKS

Usługa CloudWatch Container Insights może zbierać i agregować metryki i dzienniki z konteneryzowanych aplikacji wdrożonych w eks. Usługę Container Insights w usłudze Amazon EKS można zaimplementować za pomocą konteneryzowanej wersji agenta CloudWatch lub przy użyciu dystrybucji AWS dla platformy OpenTelemetry jako elementu DaemonSet. Dzienniki można wysyłać za pomocą biblioteki FluentBit.

Monitorowanie i rejestrowanie usługi AKS

Podobnie jak w przypadku innych zasobów platformy Azure usługa AKS generuje metryki platformy i dzienniki zasobów, których można użyć do monitorowania jego podstawowej kondycji i wydajności.

Diagram przedstawiający rejestrowanie i monitorowanie usługi AKS.

Pobierz plik programu Visio z tą architekturą.

Azure Monitor

Usługa AKS natywnie integruje się z usługą Azure Monitor. Usługa Azure Monitor przechowuje metryki i dzienniki w centralnej lokalizacji nazywanej obszarem roboczym usługi Log Analytics. Te dane są przetwarzane i analizowane w celu zapewnienia szczegółowych informacji i alertów. Aby uzyskać więcej informacji, zobacz Monitorowanie usługi Azure Kubernetes Service (AKS) przy użyciu usługi Azure Monitor.

Container Insights to funkcja usługi Azure Monitor, która zbiera, indeksuje i przechowuje dane generowane przez klaster usługi AKS. Usługę Container Insights można skonfigurować do monitorowania zarządzanych klastrów Kubernetes hostowanych w usłudze AKS i innych konfiguracjach klastra. Usługa Container Insights może monitorować kondycję i wydajność usługi AKS za pomocą wizualizacji dostosowanej do środowisk Kubernetes. Podobnie jak w przypadku eks, włączenie usługi Container Insights dla klastra usługi AKS powoduje wdrożenie konteneryzowanej wersji agenta usługi Log Analytics, która jest odpowiedzialna za wysyłanie danych do obszaru roboczego usługi Log Analytics.

Microsoft Sentinel

Usługa Microsoft Sentinel zapewnia inteligentną analizę zabezpieczeń i analizę zagrożeń w całym przedsiębiorstwie. Dzięki usłudze Microsoft Sentinel uzyskasz jedno rozwiązanie do wykrywania ataków, widoczności zagrożeń, proaktywnego wyszukiwania zagrożeń i reagowania na zagrożenia.

Usługa Microsoft Sentinel musi być połączona z usługą AKS. Ten łącznik umożliwia przesyłanie strumieniowe dzienników diagnostycznych usługi Azure Kubernetes Service (AKS) do usługi Microsoft Sentinel, co umożliwia ciągłe monitorowanie aktywności we wszystkich wystąpieniach.

Po połączeniu źródeł danych z usługą Microsoft Sentinel możesz wizualizować i monitorować dane przy użyciu skoroszytów usług Microsoft Sentinel i Azure Monitor, co zapewnia wszechstronność tworzenia niestandardowych pulpitów nawigacyjnych.

Monitorowanie klastra i obciążenia usługi AKS

Wdrożenie usługi AKS może podzielić się na składniki na poziomie klastra, zarządzane składniki usługi AKS, obiekty i obciążenia kubernetes, aplikacje i zasoby zewnętrzne. W poniższej tabeli przedstawiono wspólną strategię monitorowania klastra i aplikacji obciążeń usługi AKS. Każdy poziom ma odrębne wymagania dotyczące monitorowania.

Poziom opis Wymagania dotyczące monitorowania
Składniki na poziomie klastra Zestawy skalowania maszyn wirtualnych abstrakcjonowane jako węzły usługi AKS i pule węzłów Stan węzła i wykorzystanie zasobów, w tym procesor, pamięć, dysk i sieć
Zarządzane składniki usługi AKS Składniki płaszczyzny sterowania usługi AKS, w tym serwery interfejsów API, kontroler chmury i kubelet Dzienniki i metryki płaszczyzny sterowania z kube-system przestrzeni nazw
Obiekty i obciążenia kubernetes Obiekty kubernetes, takie jak wdrożenia, kontenery i zestawy replik Wykorzystanie zasobów i błędy
Aplikacje Obciążenia aplikacji uruchomione w klastrze usługi AKS Monitorowanie specyficzne dla architektury, ale w tym dzienniki aplikacji i transakcje usług
Zewnętrzne Zasoby zewnętrzne, które nie są częścią usługi AKS, ale są wymagane do skalowalności klastra i zarządzania nimi Specyficzne dla każdego składnika
  • Składniki na poziomie klastra: istniejące widoki i raporty usługi Container Insights umożliwiają monitorowanie składników na poziomie klastra w celu zrozumienia ich kondycji, gotowości, wydajności, wykorzystania zasobów procesora CPU i pamięci oraz trendów.

  • Zarządzane składniki usługi AKS: możesz użyć Eksploratora metryk, aby wyświetlić licznik Żądań inflight. Ten widok obejmuje opóźnienie żądań i czas przetwarzania kolejki pracy.

  • Obiekty i obciążenia platformy Kubernetes: możesz użyć istniejących widoków i raportów usługi Container Insights do monitorowania wdrożeń, kontrolerów, zasobników i kontenerów. Użyj widoków Węzły i kontrolery, aby wyświetlić kondycję i wydajność zasobników uruchomionych na węzłach i kontrolerach oraz zużycie zasobów pod względem procesora CPU i pamięci.

W widoku Kontenery usługi Container Insights można wyświetlić kondycję i wydajność kontenerów lub wybrać pojedynczy kontener i monitorować jego zdarzenia i dzienniki w czasie rzeczywistym. Aby uzyskać szczegółowe informacje na temat korzystania z tego widoku i analizowania kondycji i wydajności kontenera, zobacz Monitorowanie wydajności klastra Kubernetes za pomocą usługi Container Insights.

  • Aplikacje: usługi Application Insights można używać do monitorowania aplikacji działających w usłudze AKS i innych środowiskach. Application Insights to narzędzie do zarządzania wydajnością aplikacji, które zapewnia obsługę wielu języków programowania. W zależności od potrzeb możesz instrumentować kod aplikacji w celu przechwytywania żądań, śladów, dzienników, wyjątków, metryk niestandardowych i transakcji end-to-end oraz wysyłania tych danych do usługi Application Insights. Jeśli masz aplikację Java, możesz zapewnić monitorowanie bez instrumentowania kodu. Aby uzyskać więcej informacji, zobacz Monitorowanie aplikacji instrumentacji zerowej dla platformy Kubernetes.

  • Składniki zewnętrzne: funkcje usługi Azure Monitor umożliwiają monitorowanie dowolnej platformy Azure jako usługi (PaaS) używanej przez aplikacje obciążeń, takich jak bazy danych i inne zasoby platformy Azure.

Azure Monitor — usługa zarządzana dla rozwiązania Prometheus

Prometheus to popularne rozwiązanie do monitorowania metryk typu open source z poziomu platformy Cloud Native Compute Foundation 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 to w pełni zarządzane rozwiązanie do monitorowania zgodne z rozwiązaniem Prometheus na platformie Azure, które przechowuje swoje dane w obszarze roboczym usługi Azure Monitor, które jest połączone z obszarem roboczym Grafana, co umożliwia analizowanie danych za pomocą usługi Azure Managed Grafana.

Rozwiązanie Prometheus można również wdrożyć niezależnie jako rozwiązanie zarządzane samodzielnie w klastrach usługi Azure Kubernetes Service. Możesz zintegrować własne rozwiązanie Prometheus z usługą Azure Monitor. Usługę Container Insights można skonfigurować do zbierania metryk rozwiązania Prometheus. Punkt końcowy metryk Rozwiązania Prometheus można uwidocznić za pośrednictwem eksporterów lub aplikacji zasobników, a konteneryzowany agent usługi Container Insights usunie metryki.

Azure Managed Grafana

Azure Managed Grafana to platforma do wizualizacji danych oparta na narzędziu Grafana. Została ona opracowana jako w pełni zarządzana usługa platformy Azure obsługiwana i wspierana przez firmę Microsoft. 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.

Narzędzie Azure Managed Grafana jest zoptymalizowane pod kątem środowiska platformy Azure i współpracuje z wieloma usługami platformy Azure i zapewnia proste funkcje integracji. Alternatywnie możesz również wdrożyć narzędzie Grafana niezależnie jako rozwiązanie zarządzane samodzielnie. Aby uzyskać więcej informacji, zobacz Monitorowanie usług platformy Azure w narzędziu Grafana.

Koszty monitorowania usługi AKS

Model cen usługi Azure Monitor jest oparty głównie na ilości danych pozyskanych dziennie w obszarze roboczym usługi Log Analytics. Koszt zależy od wybranego planu i okresu przechowywania.

Przed włączeniem usługi Container Insights należy oszacować koszty i zrozumieć, jak kontrolować pozyskiwanie danych i ich koszty. Aby uzyskać szczegółowe wskazówki, zobacz Szacowanie kosztów w celu monitorowania klastra usługi AKS.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Autorzy zabezpieczeń:

Inni współautorzy:

  • Chad Kittel | Główny inżynier oprogramowania
  • Cena Ed | Starszy menedżer programu zawartości
  • Theano Petersen | Składnik zapisywania technicznego

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki