Udostępnij za pośrednictwem


Monitorowanie usługi Azure Kubernetes Service

Platforma Kubernetes to złożony, rozproszony system. Wdrożenie platformy Kubernetes należy monitorować na wielu poziomach. Mimo że usługa Azure Kubernetes Service (AKS) jest zarządzaną usługą Kubernetes, ten sam rygor jest wymagany do monitorowania wdrożenia na wielu poziomach. Ten artykuł zawiera ogólne informacje i najlepsze praktyki dotyczące monitorowania klastra AKS.

Napiwek

Aby skonfigurować monitorowanie w klastrach usługi AKS w witrynie Azure Portal, możesz użyć rozwiązania Microsoft Copilot na platformie Azure. Aby uzyskać więcej informacji, zobacz Praca z klastrami AKS wydajnie przy użyciu rozwiązania Microsoft Copilot na platformie Azure.

Wyniki analiz

Niektóre usługi na platformie Azure mają wbudowany pulpit nawigacyjny monitorowania w witrynie Azure Portal, który zapewnia punkt wyjścia do monitorowania usługi. Te pulpity nawigacyjne są nazywane szczegółowymi informacjami i można je znaleźć w centrum szczegółowych informacji usługi Azure Monitor w witrynie Azure Portal.

Usługa Container Insights w usłudze Azure Monitor zbiera niestandardowe metryki dla węzłów, zasobników, kontenerów i woluminów trwałych. Aby uzyskać więcej informacji, zobacz Metryki zbierane przez Container insights.

Usługa Application Insights ułatwia monitorowanie wydajności aplikacji. Aby włączyć usługę Application Insights ze zmianami kodu, zobacz Włączanie usługi Azure Monitor OpenTelemetry. Aby włączyć usługę Application Insights bez zmian kodu, zobacz Autoinstrumentacja AKS. Aby uzyskać więcej informacji na temat instrumentacji, dowiedz się więcej o podstawach zbierania danych.

Dane monitorowania

Usługa AKS generuje te same rodzaje danych monitorowania co inne zasoby platformy Azure, zgodnie z opisem w temacie Monitorowanie danych z zasobów platformy Azure. Aby uzyskać szczegółowe informacje na temat metryk i dzienników utworzonych przez usługę AKS, zobacz dokumentację dotyczącą danych monitorowania usługi AKS.

Inne usługi i funkcje platformy Azure zbierają inne dane i włączają inne opcje analizy, jak pokazano na poniższym diagramie i w poniższej tabeli.

Diagram przedstawiający dane monitorowania zbierane z usługi AKS.

Źródło opis
Metryki platformy Metryki usługi platformy są automatycznie zbierane dla klastrów AKS bez ponoszenia kosztów. Możesz przeanalizować te metryki przy użyciu Eksploratora metryk lub użyć ich do tworzenia alertów metryk.
Metryki Prometheusa Po włączeniu zbierania metryk dla klastra zarządzana usługa dla Prometheus w Azure Monitor zbiera metryki Prometheus i przechowuje je w obszarze roboczym Azure Monitor. Przeanalizuj te metryki przy użyciu gotowych pulpitów nawigacyjnych w Azure Managed Grafana i alertów Prometheus.
Dzienniki aktywności Dziennik aktywności usługi Azure Monitor automatycznie zbiera niektóre dane dla klastrów usługi AKS bez ponoszenia kosztów. Te pliki dziennika śledzą informacje, takie jak po utworzeniu klastra lub wprowadzeniu zmian w konfiguracji klastra. Aby analizować dane dziennika aktywności przy użyciu innych danych dziennika, wyślij dane dziennika aktywności do obszaru roboczego usługi Log Analytics.
Dzienniki zasobów Dzienniki płaszczyzny sterowania dla usługi AKS są implementowane jako dzienniki zasobów. Utwórz ustawienie diagnostyczne, aby wysyłać dzienniki do obszaru roboczego usługi Log Analytics. W obszarze roboczym można analizować dzienniki przy użyciu zapytań i konfigurować alerty na podstawie informacji dziennika.
Analizy kontenerów Usługa Container Insights zbiera różne dzienniki i dane wydajności z klastra i przechowuje je w obszarze roboczym usługi Log Analytics i w metrykach usługi Azure Monitor. Analizowanie danych takich jak strumienie stdout i stderr za pomocą widoków i skoroszytów w Container Insights lub poprzez Log Analytics oraz eksplorator metryk.
Application Insights Application Insights, funkcja usługi Azure Monitor, zbiera dzienniki, metryki i rozproszone ślady. Dane telemetryczne są przechowywane w obszarze roboczym usługi Log Analytics na potrzeby analizy w witrynie Azure Portal.

Typy zasobów

Platforma Azure używa koncepcji typów zasobów i identyfikatorów, aby zidentyfikować wszystko w subskrypcji. Typy zasobów są również częścią identyfikatorów zasobów dla każdego zasobu uruchomionego na platformie Azure. Na przykład jeden typ zasobu dla maszyny wirtualnej to Microsoft.Compute/virtualMachines. Aby uzyskać listę usług i skojarzonych z nimi typów zasobów, zobacz Dostawcy zasobów.

Usługa Azure Monitor podobnie organizuje podstawowe dane monitorowania w metryki i dzienniki na podstawie typów zasobów, zwanych także przestrzeniami nazw. Różne metryki i dzienniki są dostępne dla różnych typów zasobów. Usługa może być skojarzona z więcej niż jednym typem zasobu.

Aby uzyskać więcej informacji na temat typów zasobów w usłudze AKS, zobacz dokumentację dotyczącą danych monitorowania usługi AKS.

Magazyn danych

W przypadku usługi Azure Monitor:

  • Dane metryk są przechowywane w bazie danych metryk usługi Azure Monitor.
  • Dane dziennika są przechowywane w magazynie dzienników usługi Azure Monitor. Log Analytics to narzędzie w witrynie Azure Portal, które może wykonywać zapytania dotyczące tego magazynu.
  • Dziennik aktywności platformy Azure to oddzielny magazyn z własnym interfejsem w witrynie Azure Portal.

Opcjonalnie możesz przekierować dane dotyczące metryk i dziennika aktywności do magazynu dzienników usługi Azure Monitor. Następnie możesz użyć usługi Log Analytics, aby wykonać zapytanie o dane i skorelować je z innymi danymi dziennika.

Wiele usług może używać ustawień diagnostycznych do wysyłania danych metryk i dzienników do innych lokalizacji przechowywania poza usługą Azure Monitor. Przykłady obejmują usługę Azure Storage, hostowane systemy partnerskie i systemy partnerskie spoza platformy Azure przy użyciu usługi Event Hubs.

Aby uzyskać szczegółowe informacje na temat sposobu przechowywania danych przez usługę Azure Monitor, zobacz Azure Monitor data platformy.

Metryki platformy usługi Azure Monitor

Usługa Azure Monitor udostępnia metryki platformy dla większości usług. Te metryki to:

  • Definiowane indywidualnie dla każdej przestrzeni nazw.
  • Przechowywane w bazie danych metryk szeregów czasowych usługi Azure Monitor.
  • Lekki i zdolny do obsługi alertów niemal w czasie rzeczywistym.
  • Służy do śledzenia wydajności zasobu w czasie.

Kolekcja: Azure Monitor automatycznie zbiera metryki platformy. Nie jest wymagana żadna konfiguracja.

Routing: możesz również kierować niektóre metryki platformy do dzienników usługi Azure Monitor/ usługi Log Analytics, aby móc wykonywać zapytania względem nich przy użyciu innych danych dziennika. Sprawdź ustawienie eksportu DS dla każdej metryki, aby sprawdzić, czy możesz użyć ustawienia diagnostycznego, aby kierować metrykę do dzienników usługi Azure Monitor/ usługi Log Analytics.

Aby uzyskać listę wszystkich metryk, które można zebrać dla wszystkich zasobów w usłudze Azure Monitor, zobacz Obsługiwane metryki w usłudze Azure Monitor.

Aby uzyskać listę metryk, które można zbierać dla usługi AKS, zobacz dokumentację danych monitorowania usługi AKS.

Metryki odgrywają ważną rolę w monitorowaniu klastrów, identyfikowaniu problemów i optymalizowaniu wydajności w klastrach AKS. Metryki platformy są przechwytywane przy użyciu standardowego serwera metryk zainstalowanego w kube-system przestrzeni nazw, który okresowo pobiera metryki ze wszystkich węzłów AKS obsługiwanych przez narzędzie kubelet. Należy również włączyć usługę zarządzaną dla metryk rozwiązania Prometheus w celu zbierania metryk kontenera i metryk obiektów Kubernetes, w tym stanu wdrożenia obiektu.

Możesz wyświetlić listę domyślnych usług zarządzanych dla metryk Rozwiązania Prometheus.

Aby uzyskać więcej informacji, zobacz Zbieranie zarządzanej usługi dla metryk Prometheus z klastra AKS.

Usługa AKS udostępnia również metryki z krytycznych składników płaszczyzny sterowania, takich jak serwer interfejsu API itp., oraz harmonogram za pośrednictwem usługi zarządzanej dla rozwiązania Prometheus. Obecnie ta funkcja jest dostępna w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Monitorowanie metryk płaszczyzny sterowania usługi AKS (wersja zapoznawcza). Podzestaw metryk płaszczyzny sterowania dla serwera interfejsu API itp. jest dostępny bezpłatnie za pośrednictwem metryk platformy usługi Azure Monitor. Metryki są zbierane domyślnie i można użyć metryk do tworzenia alertów opartych na metrykach.

Metryki oparte na usłudze Azure Monitor

Ta usługa udostępnia inne metryki, które nie są uwzględnione w bazie danych metryk usługi Azure Monitor.

Do monitorowania klastrów usługi AKS można użyć następujących usług platformy Azure i funkcji usługi Azure Monitor. Włączasz te funkcje podczas tworzenia klastra usługi AKS.

W witrynie Azure Portal użyj karty Integracje lub użyj interfejsu wiersza polecenia platformy Azure, narzędzia Terraform lub usługi Azure Policy. W niektórych przypadkach można dołączyć klaster do usługi monitorowania lub funkcji po utworzeniu klastra. Każda usługa lub funkcja może ponieść koszty, dlatego przed jej włączeniem zobacz informacje o cenach dla każdego składnika.

Usługa lub funkcja opis
Szczegółowe informacje o kontenerze Używa konteneryzowanej wersji agenta usługi Azure Monitor do zbierania stdout i stderr rejestrowania i zdarzeń Kubernetes z każdego węzła w klastrze. Funkcja obsługuje różne scenariusze monitorowania klastrów usługi AKS. Monitorowanie klastra usługi AKS można włączyć podczas jego tworzenia przy użyciu interfejsu wiersza polecenia platformy Azure, usługi Azure Policy, witryny Azure Portal lub narzędzia Terraform. Jeśli nie włączysz usługi Container Insights podczas tworzenia klastra, zobacz Włączanie szczegółowych informacji o kontenerze dla klastra usługi AKS, aby poznać inne opcje włączenia.

Usługa Container Insights przechowuje większość swoich danych w obszarze roboczym usługi Log Analytics. Zazwyczaj używasz tego samego obszaru roboczego usługi Log Analytics co dzienniki zasobów dla klastra. Aby uzyskać wskazówki dotyczące liczby obszarów roboczych, których należy używać i gdzie je zlokalizować, zobacz Projektowanie architektury obszaru roboczego usługi Log Analytics.
Usługa zarządzana dla rozwiązania Prometheus w usłudze Azure Monitor Prometheus to rozwiązanie metryk chmurowych opracowane przez Cloud Native Computing Foundation. Jest to najczęściej używane narzędzie do zbierania i analizowania danych metryk z klastrów Kubernetes. Zarządzana usługa dla Prometheus w usłudze Azure Monitor to w pełni zarządzana usługa monitorowania zgodna z Prometheus. Jeśli nie włączysz usługi zarządzanej dla rozwiązania Prometheus podczas tworzenia klastra, zobacz Zbieranie metryk rozwiązania Prometheus z klastra usługi AKS , aby uzyskać inne opcje jej włączenia.

Zarządzana usługa prometheus w usłudze Azure Monitor przechowuje swoje dane w obszarze roboczym usługi Azure Monitorpołączonym z obszarem roboczym narzędzia Grafana. Do analizowania danych można użyć narzędzia Azure Managed Grafana.
Azure Managed Grafana W pełni zarządzana implementacja Grafana. Grafana to platforma wizualizacji danych typu open source, która jest często używana do prezentowania danych Rozwiązania Prometheus. Do monitorowania Kubernetes i rozwiązywania problemów z całym stosie technologicznym dostępnych jest wiele wstępnie zdefiniowanych pulpitów nawigacyjnych Grafana. Jeśli nie włączysz narzędzia Azure Managed Grafana podczas tworzenia klastra, zobacz Łączenie obszaru roboczego Grafana. Możesz połączyć go z obszarem roboczym usługi Azure Monitor, aby uzyskać dostęp do metryk rozwiązania Prometheus z klastra.

Monitorowanie metryk płaszczyzny sterowania AKS (wersja zapoznawcza)

Usługa AKS udostępnia również metryki z krytycznych składników płaszczyzny sterowania, takich jak serwer interfejsu API itp., oraz harmonogram za pośrednictwem usługi zarządzanej dla rozwiązania Prometheus w usłudze Azure Monitor. Obecnie ta funkcja jest dostępna w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Monitorowanie metryk płaszczyzny sterowania usługi AKS. Podzestaw metryk płaszczyzny sterowania dla serwera interfejsu API itp. jest dostępny bezpłatnie za pośrednictwem metryk platformy usługi Azure Monitor. Te metryki są domyślnie zbierane. Metryki umożliwiają tworzenie alertów.

Dzienniki zasobów usługi Azure Monitor

Dzienniki zasobów zapewniają wgląd w operacje wykonywane przez zasób platformy Azure. Dzienniki są generowane automatycznie, ale należy skierować je do dzienników usługi Azure Monitor, aby je zapisać lub wysłać do nich zapytanie. Dzienniki są zorganizowane w kategoriach. Dana przestrzeń nazw może mieć wiele kategorii dziennika zasobów.

Kolekcja: dzienniki zasobów nie są zbierane i przechowywane do momentu utworzenia ustawienia diagnostycznego i kierowania dzienników do co najmniej jednej lokalizacji. Podczas tworzenia ustawienia diagnostycznego należy określić kategorie dzienników, które mają być zbierane. Istnieje wiele sposobów tworzenia i konserwacji ustawień diagnostycznych, w tym za pomocą portalu Azure, programistycznie oraz przez Azure Policy.

Routing: sugerowaną wartością domyślną jest kierowanie dzienników zasobów do dzienników usługi Azure Monitor, co umożliwia wykonywanie zapytań względem nich przy użyciu innych danych dziennika. Dostępne są również inne lokalizacje, takie jak Azure Storage, Azure Event Hubs i niektórzy partnerzy monitorowania firmy Microsoft. Aby uzyskać więcej informacji, zobacz Dzienniki zasobów platformy Azure i lokalizacje docelowe dziennika zasobów.

Aby uzyskać szczegółowe informacje na temat zbierania, przechowywania i routingu dzienników zasobów, zobacz Ustawienia diagnostyczne w usłudze Azure Monitor.

Aby uzyskać listę wszystkich dostępnych kategorii dzienników zasobów w usłudze Azure Monitor, zobacz Obsługiwane dzienniki zasobów w usłudze Azure Monitor.

Wszystkie dzienniki zasobów w usłudze Azure Monitor mają te same pola nagłówka, a następnie pola specyficzne dla usługi. Typowy schemat jest opisany w schemacie dziennika zasobów usługi Azure Monitor.

Aby uzyskać dostępne kategorie dzienników zasobów, skojarzone z nimi tabele usługi Log Analytics i schematy dzienników dla usługi AKS, zobacz dokumentację dotyczącą danych monitorowania usługi AKS.

Dzienniki zasobów płaszczyzny sterowania usługi AKS

Dzienniki płaszczyzny kontrolnej dla klastrów usługi AKS są implementowane jako dzienniki zasobów w usłudze Azure Monitor. Dzienniki zasobów nie są zbierane i przechowywane do momentu utworzenia ustawienia diagnostycznego w celu kierowania ich do co najmniej jednej lokalizacji. Zazwyczaj dzienniki zasobów są wysyłane do obszaru roboczego usługi Log Analytics, w którym są przechowywane większość danych dla usługi Container Insights.

Aby dowiedzieć się, jak utworzyć ustawienie diagnostyczne przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell, zobacz Tworzenie ustawień diagnostycznych. Podczas tworzenia ustawienia diagnostycznego należy określić kategorie dzienników, które mają być zbierane. Kategorie usługi AKS są wymienione w dokumentacji danych monitorowania usługi AKS.

Ostrzeżenie

Można ponieść znaczne koszty, zbierając dzienniki zasobów dla usługi AKS, szczególnie w odniesieniu do dzienników kube-audit. Rozważ następujące zalecenia, aby zmniejszyć ilość zebranych danych:

  • Wyłącz kube-audit rejestrowanie, gdy nie jest to wymagane.
  • Włącz zbieranie z kube-audit-admin, które wyklucza zdarzenia get i list inspekcji.
  • Włącz dzienniki specyficzne dla zasobów zgodnie z opisem w tym artykule i skonfiguruj tabelę AKSAudit jako dzienniki podstawowe.

Aby uzyskać więcej zaleceń dotyczących monitorowania, zobacz Monitorowanie klastrów usługi AKS przy użyciu usług platformy Azure i narzędzi natywnych dla chmury. Aby uzyskać strategie zmniejszenia kosztów monitorowania, zobacz Optymalizacja kosztów i Usługa Azure Monitor.

Usługa AKS obsługuje tryb diagnostyki platformy Azure lub tryb specyficzny dla zasobów dla dzienników zasobów. Tryb diagnostyki platformy Azure wysyła wszystkie dane do tabeli AzureDiagnostics. Tryb specyficzny dla zasobu określa tabele w obszarze roboczym usługi Log Analytics, w którym są wysyłane dane. Wysyła również dane do AKSAudit, AKSAuditAdmini AKSControlPlane , jak pokazano w tabeli w dziennikach zasobów.

Zalecamy używanie trybu specyficznego dla zasobów dla usługi AKS z następujących powodów:

  • Dane są łatwiejsze do wykonywania zapytań, ponieważ znajdują się w poszczególnych tabelach przeznaczonych dla usługi AKS.
  • Tryb specyficzny dla zasobów umożliwia konfigurację jako dzienniki podstawowe, co pozwala na znaczne oszczędności kosztów.

Aby uzyskać więcej informacji na temat różnic między trybami kolekcji, w tym sposób zmiany istniejącego ustawienia, zobacz Wybieranie trybu zbierania.

Uwaga

Ustawienia diagnostyczne można skonfigurować przy użyciu interfejsu wiersza polecenia platformy Azure. Takie podejście nie gwarantuje sukcesu, ponieważ nie sprawdza stanu wdrożenia klastra. Po zmianie ustawień diagnostycznych upewnij się, że klaster odzwierciedla zmiany ustawień.

az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{"category": "kube-audit","enabled": true}, {"category": "kube-audit-admin", "enabled": true}, {"category": "kube-apiserver", "enabled": true}, {"category": "kube-controller-manager", "enabled": true}, {"category": "kube-scheduler", "enabled": true}, {"category": "cluster-autoscaler", "enabled": true}, {"category": "cloud-controller-manager", "enabled": true}, {"category": "guard", "enabled": true}, {"category": "csi-azuredisk-controller", "enabled": true}, {"category": "csi-azurefile-controller", "enabled": true}, {"category": "csi-snapshot-controller", "enabled": true}]'  --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true

Przykładowe zapytania dziennika

Ważne

Po wybraniu pozycji Dzienniki w menu klastra usługi AKS usługa Log Analytics zostanie otwarta z zakresem zapytania ustawionym na bieżący klaster. Zapytania dziennika obejmują tylko dane z tego zasobu. Aby uruchomić zapytanie zawierające dane z innych klastrów lub danych z innych usług platformy Azure, w menu usługi Azure Monitor wybierz pozycję Dzienniki. Aby uzyskać więcej informacji, zobacz Zakres zapytań dzienników i zakres czasu w usłudze Log Analytics.

Jeśli ustawienia diagnostyczne klastra korzystają z trybu diagnostyki platformy Azure, dzienniki zasobów dla usługi AKS są przechowywane w tabeli AzureDiagnostics . Zidentyfikuj dzienniki za pomocą kolumny Kategoria . Opis każdej kategorii znajduje się w artykule Dzienniki zasobów referencyjnych usługi AKS.

opis Zapytanie logów
Zlicz logi dla każdej kategorii
(Tryb diagnostyki platformy Azure)
AzureDiagnostics
| where ResourceType == "MANAGEDCLUSTERS"
| summarize count() by Category
Wszystkie dzienniki serwera interfejsu API
(Tryb diagnostyki platformy Azure)
AzureDiagnostics
| where Category == "kube-apiserver"
Wszystkie logi kube-audit w przedziale czasowym
(Tryb diagnostyki platformy Azure)
let starttime = datetime("2023-02-23");
let endtime = datetime("2023-02-24");
AzureDiagnostics
| where TimeGenerated between(starttime..endtime)
| where Category == "kube-audit"
| extend event = parse_json(log_s)
| extend HttpMethod = tostring(event.verb)
| extend User = tostring(event.user.username)
| extend Apiserver = pod_s
| extend SourceIP = tostring(event.sourceIPs[0])
| project TimeGenerated, Category, HttpMethod, User, Apiserver, SourceIP, OperationName, event
Wszystkie dzienniki inspekcji
(tryb specyficzny dla zasobu)
AKSAudit
Wszystkie dzienniki audytu z wyłączeniem zdarzeń audytu get i list
(tryb specyficzny dla zasobu)
AKSAuditAdmin
Wszystkie dzienniki serwera interfejsu API
(tryb specyficzny dla zasobu)
AKSControlPlane
| where Category == "kube-apiserver"

Aby uzyskać dostęp do zestawu wstępnie utworzonych zapytań w obszarze roboczym usługi Log Analytics, zobacz interfejs zapytań usługi Log Analytics i wybierz typ zasobu Usługi Kubernetes Services . Aby uzyskać listę typowych zapytań dotyczących szczegółowych informacji o kontenerze, zobacz Zapytania usługi Container Insights.

Dzienniki usługi Azure Container Insights płaszczyzny danych usługi AKS

Usługa Container Insights zbiera różne typy danych telemetrycznych z kontenerów i klastrów usługi AKS, aby ułatwić monitorowanie, rozwiązywanie problemów i uzyskiwanie wglądu w konteneryzowane aplikacje działające w klastrach usługi AKS. Aby uzyskać listę tabel i ich szczegółowe opisy używane przez Container insights, zobacz odniesienie do tabel Azure Monitor. Wszystkie tabele są dostępne dla zapytań dzienników.

Użyj ustawień optymalizacji kosztów , aby dostosować i kontrolować dane metryk zebranych za pośrednictwem agenta usługi Container Insights. Ta funkcja obsługuje ustawienia zbierania danych dla poszczególnych wyborów tabel, interwałów zbierania danych i przestrzeni nazw w celu wykluczenia zbierania danych za pomocą reguł zbierania danych (DCR) usługi Azure Monitor. Te ustawienia kontrolują ilość pozyskiwania i zmniejszają koszty monitorowania usługi Container Insights. Dane monitorowania kontenerów zebrane w portalu Azure można dostosować, korzystając z poniższych opcji. Wybranie wszystkich opcji innych niż Wszystkie (domyślne) sprawia, że środowisko analizy kontenera jest niedostępne.

Grupowanie Tabele Uwagi
Wszystkie (ustawienie domyślne) Wszystkie standardowe tabele usługi Container Insights Wymagane do włączenia domyślnych wizualizacji usługi Container Insights.
Wydajność Perf, InsightsMetrics
Dzienniki i zdarzenia ContainerLog lub ContainerLogV2, KubeEvents, KubePodInventory Zalecane, jeśli włączono usługę zarządzaną dla metryk Prometheus.
Obciążenia, wdrożenia i HPA InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
Woluminy trwałe InsightsMetrics, KubePVInventory

Grupowanie dzienników i zdarzeń przechwytuje dzienniki z tabel ContainerLog lub ContainerLogV2, KubeEvents i KubePodInventory, ale nie z metryk. Zalecaną ścieżką do zbierania metryk jest włączenie usługi zarządzanej dla rozwiązania Prometheus z klastra usługi AKS i użycie narzędzia Azure Managed Grafana do wizualizacji danych. Aby uzyskać więcej informacji, zobacz Zarządzanie obszarem roboczym usługi Azure Monitor.

Schemat ContainerLogV2

Usługa Container Insights w usłudze Azure Monitor udostępnia zalecany schemat dzienników kontenerów ContainerLogV2. Format zawiera następujące pola dla typowych zapytań umożliwiających wyświetlanie danych związanych z usługami AKS i klastrami Kubernetes z obsługą usługi Azure Arc:

  • ContainerName
  • Nazwa zasobnika
  • PodNamespace

Ten schemat jest zgodny z planem danych tabeli dzienników podstawowych , który oferuje tanią alternatywę dla standardowych dzienników analitycznych. Użyj planu danych tabeli dzienników podstawowych, aby zaoszczędzić na kosztach pozyskiwania i przechowywania dużych ilości pełnych dzienników w obszarze roboczym usługi Log Analytics na potrzeby debugowania, rozwiązywania problemów i inspekcji. Nie ma to wpływu na koszty analizy i alertów. Aby uzyskać więcej informacji, zobacz Zarządzanie tabelami w obszarze roboczym usługi Log Analytics.

Zalecamy użycie domyślnego schematu ContainerLogV2 w przypadku dołączania usługi Container Insights za pośrednictwem uwierzytelniania tożsamości zarządzanej przy użyciu szablonu Azure Resource Manager (ARM), Bicep, Terraform, Azure Policy lub portalu Azure. Aby uzyskać więcej informacji na temat włączania ContainerLogV2 przez kontroler DCR klastra lub ConfigMap, zobacz Włączanie schematu ContainerLogV2.

Dziennik aktywności platformy Azure

Dziennik aktywności zawiera zdarzenia na poziomie subskrypcji, które śledzą operacje dla każdego zasobu platformy Azure widoczne spoza tego zasobu; na przykład utworzenie nowego zasobu lub uruchomienie maszyny wirtualnej.

Kolekcja: zdarzenia dziennika aktywności są generowane automatycznie i zbierane w osobnym magazynie do wyświetlania w witrynie Azure Portal.

Routing: możesz wysyłać dane dziennika aktywności do dzienników usługi Azure Monitor, aby móc analizować je wraz z innymi danymi dziennika. Dostępne są również inne lokalizacje, takie jak Azure Storage, Azure Event Hubs i niektórzy partnerzy monitorowania firmy Microsoft. Aby uzyskać więcej informacji na temat kierowania dziennika aktywności, zobacz Omówienie dziennika aktywności platformy Azure.

Wyświetlanie dzienników kontenerów, zdarzeń i podów usługi AKS w czasie rzeczywistym

Funkcja danych na żywo w Container Insights umożliwia wyświetlanie dzienników kontenerów, zdarzeń oraz metryk podów AKS. Uzyskaj bezpośredni dostęp do kubectl logs -c, wydarzeń kubectl get i kubectl top pods, aby ułatwić rozwiązywanie problemów w czasie rzeczywistym.

Uwaga

Usługa AKS używa architektur rejestrowania na poziomie klastra Kubernetes. Dzienniki kontenera znajdują się na /var/log/containers na węźle. Aby uzyskać dostęp do węzła, zobacz Łączenie z węzłami klastra usługi AKS.

Aby dowiedzieć się, jak skonfigurować tę funkcję, zobacz Konfigurowanie danych na żywo w usłudze Container Insights. Funkcja uzyskuje bezpośredni dostęp do interfejsu API platformy Kubernetes. Aby uzyskać więcej informacji na temat modelu uwierzytelniania, zobacz interfejs API platformy Kubernetes.

Wyświetlanie dzienników na żywo zasobów usługi AKS

Uwaga

Aby uzyskać dostęp do dzienników z klastra prywatnego, należy użyć komputera, który znajduje się w tej samej sieci prywatnej co klaster.

  1. W portalu Azure przejdź do klastra AKS.
  2. W obszarze Zasoby kubernetes wybierz pozycję Obciążenia.
  3. Dla Wdrożenie, Pod, Zestaw replik, Zestaw z zachowaniem stanu, Zadanie lub Zadanie Cron, wybierz wartość, a następnie wybierz pozycję Dzienniki na żywo.
  4. Wybierz dziennik zasobów do wyświetlenia.

W poniższym przykładzie przedstawiono dzienniki zasobu podu:

Zrzut ekranu przedstawiający wdrażanie dzienników na żywo.

Wyświetlanie dzienników na żywo

Dane dziennika w czasie rzeczywistym można wyświetlać, gdy aparat kontenera generuje je na karcie Klaster, Węzły, Kontrolery lub Kontenery.

  1. W portalu Azure przejdź do klastra AKS.
  2. W obszarze Monitorowanie wybierz pozycję Analizy.
  3. Na karcie Klaster, Węzły, Kontrolery lub Kontenery wybierz wartość.
  4. W okienku Przegląd zasobu wybierz pozycję Dzienniki na żywo.

Uwaga

Aby wyświetlić dane z obszaru roboczego usługi Log Analytics, wybierz pozycję Wyświetl dzienniki w usłudze Log Analytics. Aby dowiedzieć się więcej na temat wyświetlania dzienników historycznych, zdarzeń i metryk, zobacz Zapytywanie dzienników z usługi Container Insights.

Po pomyślnym uwierzytelnieniu, jeśli dane można pobrać, rozpoczyna się przesyłanie strumieniowe na kartę Rejestry na żywo. Dane dziennika są wyświetlane tutaj w ciągłym strumieniu.

Na poniższej ilustracji przedstawiono dzienniki zasobu kontenera:

Zrzut ekranu przedstawiający opcję Live Logs kontenera w celu wyświetlenia danych.

Wyświetlanie wydarzeń na żywo

Dane zdarzeń w czasie rzeczywistym można oglądać, gdy silnik kontenerów generuje je na karcie Klaster, Węzły, Kontrolery lub Kontenery.

  1. W portalu Azure przejdź do klastra AKS.
  2. W obszarze Monitorowanie wybierz pozycję Analizy.
  3. Wybierz kartę Klaster, Węzły, Kontrolery lub Kontenery , a następnie wybierz obiekt.
  4. W okienku Przegląd zasobu wybierz pozycję Wydarzenia na żywo.

Uwaga

Aby wyświetlić dane z obszaru roboczego usługi Log Analytics, wybierz pozycję Wyświetl zdarzenia w usłudze Log Analytics. Aby dowiedzieć się więcej na temat wyświetlania dzienników historycznych, zdarzeń i metryk, zobacz Zapytywanie dzienników z usługi Container Insights.

Po pomyślnym uwierzytelnieniu, jeśli dane można odzyskać, rozpoczyna się przesyłanie strumieniowe na kartę Wydarzenia na żywo. Na poniższej ilustracji przedstawiono zdarzenia dla zasobu typu kontener:

Zrzut ekranu przedstawiający opcję Zdarzenia na żywo kontenera w celu wyświetlenia danych.

Wyświetlanie metryk

Dane metryk w czasie rzeczywistym można wyświetlać, gdy silnik kontenera je generuje, na karcie Węzły lub Kontrolery, wybierając zasób poda.

  1. W portalu Azure przejdź do klastra AKS.
  2. W obszarze Monitorowanie wybierz pozycję Analizy.
  3. Wybierz kartę Węzły lub Kontrolery, a następnie wybierz obiekt podu.
  4. W okienku Przegląd zasobu wybierz pozycję Metryki na żywo.

Uwaga

Aby wyświetlić dane z obszaru roboczego usługi Log Analytics, wybierz pozycję Wyświetl zdarzenia w usłudze Log Analytics. Aby dowiedzieć się więcej na temat wyświetlania dzienników historycznych, zdarzeń i metryk, zobacz Zapytywanie dzienników z usługi Container Insights.

Po pomyślnym uwierzytelnieniu, jeśli można uzyskać dostęp do danych, rozpoczyna się ich przesyłanie strumieniowe do karty Metryki na żywo. Na poniższym obrazku przedstawiono metryki dla zasobu zasobnika:

Zrzut ekranu przedstawiający opcję pod Metryki na żywo w celu przeglądania danych.

Analizowanie danych monitorowania

Istnieje wiele narzędzi do analizowania danych monitorowania.

Narzędzia usługi Azure Monitor

Usługa Azure Monitor obsługuje następujące podstawowe narzędzia:

Narzędzia, które umożliwiają bardziej złożoną wizualizację, obejmują:

  • Pulpity nawigacyjne, które umożliwiają łączenie różnych rodzajów danych w jednym okienku w witrynie Azure Portal.
  • Skoroszyty, dostosowywalne raporty, które można utworzyć w witrynie Azure Portal. Skoroszyty mogą zawierać tekst, metryki i zapytania dziennika.
  • Grafana to narzędzie otwartej platformy, które wyróżnia się w tworzeniu operacyjnych pulpitów nawigacyjnych. Za pomocą narzędzia Grafana można tworzyć pulpity nawigacyjne zawierające dane z wielu źródeł innych niż usługa Azure Monitor.
  • Power BI, usługa analizy biznesowej, która udostępnia interaktywne wizualizacje w różnych źródłach danych. Usługę Power BI można skonfigurować tak, aby automatycznie importować dane dziennika z usługi Azure Monitor, aby korzystać z tych wizualizacji.

Narzędzia eksportu usługi Azure Monitor

Dane z usługi Azure Monitor można pobrać do innych narzędzi przy użyciu następujących metod:

  • Metryki: użyj interfejsu API REST dla metryk , aby wyodrębnić dane metryk z bazy danych metryk usługi Azure Monitor. Interfejs API obsługuje wyrażenia filtrów w celu uściślinia pobranych danych. Aby uzyskać więcej informacji, zobacz Dokumentacja interfejsu API REST usługi Azure Monitor.

  • Dzienniki: użyj interfejsu API REST lub skojarzonych bibliotek klienckich.

  • Inną opcją jest eksportowanie danych obszaru roboczego.

Aby rozpocząć pracę z interfejsem API REST dla usługi Azure Monitor, zobacz Przewodnik po interfejsie API REST monitorowania platformy Azure.

Monitorowanie za pośrednictwem okienka przeglądu w witrynie Azure Portal

Karta Monitorowanie w okienku Przegląd zasobu klastra usługi AKS umożliwia szybkie rozpoczęcie wyświetlania danych monitorowania w witrynie Azure Portal. Ta karta zawiera wykresy z typowymi metrykami dla klastra oddzielonego pulą węzłów. Możesz wybrać dowolny z tych wykresów, aby dokładniej analizować dane w Eksploratorze metryk.

Karta Monitorowanie zawiera również linki do usługi zarządzanej platformy Azure dla rozwiązania Prometheus i usługi Container Insights dla klastra. Te narzędzia można włączyć na karcie Monitorowanie . W górnej części okienka może również zostać wyświetlony baner, który zaleca inne funkcje w celu ulepszenia monitorowania klastra.

Napiwek

Aby uzyskać dostęp do funkcji monitorowania dla wszystkich klastrów usługi AKS w ramach subskrypcji, na stronie głównej witryny Azure Portal wybierz pozycję Azure Monitor.

Zapytania usługi Kusto

Dane monitorowania można analizować w magazynie dzienników usługi Azure Monitor /Log Analytics przy użyciu języka zapytań Kusto (KQL).

Ważne

Po wybraniu pozycji Dzienniki z menu usługi w portalu usługa Log Analytics zostanie otwarta z zakresem zapytania ustawionym na bieżącą usługę. Ten zakres oznacza, że zapytania dziennika będą zawierać tylko dane z tego typu zasobu. Jeśli chcesz uruchomić zapytanie zawierające dane z innych usług platformy Azure, wybierz pozycję Dzienniki z menu usługi Azure Monitor . Aby uzyskać szczegółowe informacje, zobacz Zakres zapytań dzienników i zakres czasu w usłudze Azure Monitor Log Analytics .

Aby uzyskać listę typowych zapytań dotyczących dowolnej usługi, zobacz interfejs zapytań usługi Log Analytics.

Alerty

Alerty usługi Azure Monitor proaktywnie powiadamiają o znalezieniu określonych warunków w danych monitorowania. Alerty umożliwiają identyfikowanie i rozwiązywanie problemów w systemie przed ich zauważeniem przez klientów. Aby uzyskać więcej informacji, zobacz Alerty usługi Azure Monitor.

Istnieje wiele źródeł typowych alertów dotyczących zasobów platformy Azure. Przykłady typowych alertów dziennika dotyczących zasobów platformy Azure można znaleźć w temacie Przykładowe zapytania alertów. Witryna Azure Monitor Baseline Alerts (AMBA) udostępnia częściowo zautomatyzowaną metodę wdrażania ważnych alertów metryk platformy, dashboardów i wytycznych. Witryna ma zastosowanie do stale powiększającego się podzestawu usług platformy Azure, w tym wszystkich usług, które są częścią strefy docelowej platformy Azure (ALZ).

Typowy schemat alertu standandaryzuje użycie powiadomień o alertach usługi Azure Monitor. Aby uzyskać więcej informacji, zobacz Wspólny schemat alertów.

Typy alertów

Możesz otrzymywać alerty dotyczące dowolnej metryki lub źródła danych dziennika na platformie danych usługi Azure Monitor. Istnieje wiele różnych typów alertów w zależności od usług, które monitorujesz i zbieranych danych monitorowania. Różne typy alertów mają różne zalety i wady. Aby uzyskać więcej informacji, zobacz Wybieranie odpowiedniego typu alertu monitorowania.

Poniższa lista zawiera opis typów alertów usługi Azure Monitor, które można utworzyć:

  • Alerty dotyczące metryk oceniają metryki zasobów w regularnych odstępach czasu. Metryki mogą być metrykami platformy, metrykami niestandardowymi, dziennikami z usługi Azure Monitor przekonwertowanym na metryki lub metrykami usługi Application Insights. Alerty dla metryk mogą także stosować wiele warunków i zmienne progi.
  • Alerty dzienników umożliwiają użytkownikom używanie zapytania usługi Log Analytics do oceny dzienników zasobów z wstępnie zdefiniowaną częstotliwością.
  • Alerty dziennika aktywności są wyzwalane, gdy wystąpi nowe zdarzenie dziennika aktywności zgodne ze zdefiniowanymi warunkami. Alerty usługi Resource Health i alerty usługi Service Health to alerty dziennika aktywności, które zgłaszają kondycję usługi i zasobów.

Niektóre usługi platformy Azure obsługują również alerty wykrywania inteligentnego, alerty Prometheus lub zalecane reguły alertów.

W przypadku niektórych usług można monitorować na dużą skalę, stosując tę samą regułę alertu metrycznego do wielu zasobów tego samego typu w tym samym regionie Azure. Poszczególne powiadomienia są wysyłane dla każdego monitorowanego zasobu. Aby uzyskać informacje o obsługiwanych usługach i chmurach platformy Azure, zapoznaj się z Monitorowanie wielu zasobów przy użyciu jednej reguły alertu.

W przypadku niektórych usług platformy Azure możesz włączyć zalecane gotowe reguły alertów.

System kompiluje listę zalecanych reguł alertów na podstawie:

  • Wiedza dostawcy zasobów na temat ważnych sygnałów i progów monitorowania zasobu.
  • Dane, które informują o tym, co klienci często zgłaszają jako problem z tym zasobem.

Uwaga

Zalecane reguły alertów są dostępne dla:

  • Maszyny wirtualne
  • Zasoby usługi Azure Kubernetes Service (AKS)
  • Obszary robocze usługi Log Analytics

Alerty oparte na metrykach rozwiązania Prometheus

Po włączeniu zbierania metryk zarządzanej usługi Prometheus dla klastra możesz pobrać kolekcję zalecanych reguł alertów zarządzanej usługi Prometheus.

Pobieranie zawiera następujące reguły:

Poziom Alerty
Na poziomie klastra KubeCPUQuotaOvercommit
KubeMemoryQuotaOvercommit
KubeContainerOOMKilledCount
KubeClientErrors
KubePersistentVolumeFillingUp
KubePersistentVolumeInodesFillingUp
KubePersistentVolumeErrors
KubeContainerWaiting
KubeDaemonSetNotScheduled
KubeDaemonSetMisScheduled
KubeQuotaAlmostFull
Poziom węzła KubeNodeUnreachable
KubeNodeReadinessFlapping
Poziom modułu KubePVUsageHigh
KubeDeploymentReplicasMismatch
KubeStatefulSetReplicasMismatch
KubeHpaReplicasMismatch
KubeHpaMaxedOut
KubePodCrashLooping
KubeJobStale
KubePodContainerRestart
KubePodReadyStateLow
KubePodFailedState
KubePodNotReadyByController
KubeStatefulSetGenerationMismatch
KubeJobFailed
KubeContainerAverageCPUHigh
KubeContainerAverageMemoryHigh
KubeletPodStartUpLatencyHigh

Aby uzyskać więcej informacji, zobacz Tworzenie alertów dzienników na podstawie szczegółowych informacji o kontenerze oraz Zapytania o dzienniki z usługi Container Insights.

Alerty dzienników mogą mierzyć dwa typy informacji, aby ułatwić monitorowanie różnych scenariuszy:

  • Liczba wyników: zlicza liczbę wierszy zwracanych przez zapytanie. Te informacje umożliwiają pracę z zdarzeniami, takimi jak dzienniki zdarzeń systemu Windows, zdarzenia dziennika systemu i wyjątki aplikacji.
  • Obliczanie wartości: wykonuje obliczenia na podstawie kolumny liczbowej. Skorzystaj z tych informacji, aby uwzględnić różne zasoby. Przykładem jest wykorzystanie CPU w procentach.

Większość zapytań dziennika porównuje wartość DateTime z bieżącym czasem, używając operatora now i wracając o jedną godzinę. Aby dowiedzieć się, jak tworzyć alerty oparte na dziennikach, zobacz Tworzenie alertów na podstawie dzienników w Container insights.

Reguły alertów usługi AKS

W poniższej tabeli wymieniono sugerowane reguły alertów dla usługi AKS. Te alerty są tylko przykładami. Alerty można ustawić dla dowolnej metryki, wpisu dziennika lub wpisu dziennika aktywności wymienionego w dokumentacji danych monitorowania usługi AKS.

Warunek opis
Procent >użycia procesora CPU95 Alerty, gdy średnie użycie CPU we wszystkich węzłach przekracza próg.
Procent użycia pamięci roboczej>100 Powiadamia, gdy średni zestaw roboczy na wszystkich węzłach przekracza próg.

Zalecenia doradcy

W przypadku niektórych usług, jeśli podczas operacji zasobów wystąpią krytyczne warunki lub nieuchronne zmiany, na stronie Przegląd usługi w portalu zostanie wyświetlony alert. Więcej informacji i zalecanych poprawek alertu można znaleźć w temacie Zalecenia usługi Advisor w obszarze Monitorowanie w menu po lewej stronie. Podczas normalnych operacji nie są wyświetlane żadne zalecenia doradcy.

Aby uzyskać więcej informacji na temat usługi Azure Advisor, zobacz Omówienie usługi Azure Advisor.

Uwaga

Jeśli tworzysz lub uruchamiasz aplikację działającą w usłudze, usługa Azure Monitor application insights może oferować więcej typów alertów.

Metryki sieci węzła

Metryki sieci węzłów mają kluczowe znaczenie dla utrzymania klastra Kubernetes w dobrej kondycji i wydajności. Zbierając i analizując dane dotyczące ruchu sieciowego, możesz uzyskać cenne informacje o operacji klastra i zidentyfikować potencjalne problemy, zanim doprowadzą one do awarii lub utraty wydajności.

W usłudze Kubernetes w wersji 1.29 lub nowszej metryki sieci węzłów są domyślnie włączone dla wszystkich klastrów z włączoną usługą Azure Monitor.

Następujące metryki sieciowe węzła są domyślnie włączone i są agregowane na węzeł. Wszystkie metryki zawierają etykiety: klaster oraz instancja (nazwa węzła). Te metryki można łatwo wyświetlić, korzystając z pulpitu nawigacyjnego Zarządzany Grafana w sekcji Azure Managed Prometheus>Kubernetes>Sieci>Klastry.

Metryki na poziomie węzła

Następujące metryki są agregowane na każdy węzeł.

Wszystkie metryki obejmują następujące etykiety:

  • cluster
  • instance (nazwa węzła)

W przypadku scenariuszy płaszczyzny danych Cilium funkcja obserwacji sieci kontenerów udostępnia metryki tylko dla systemu Linux. Obecnie system Windows nie jest obsługiwany w przypadku metryk obserwacji sieci kontenerów.

Cilium udostępnia kilka metryk, które wykorzystuje obserwowalność sieci kontenerów.

Nazwa metryki opis Dodatkowe etykiety Linux Windows
cilium_forward_count_total Łączna liczba przekazanych pakietów direction
cilium_forward_bytes_total Łączna liczba przekazanych bajtów direction
cilium_drop_count_total Łączna liczba porzuconych pakietów direction, reason
cilium_drop_bytes_total Łączna liczba porzuconych bajtów direction, reason

Aby uzyskać szczegółowe metryki na poziomie podów i DNS, zobacz Advanced Container Networking Services.