Szkolenie
Moduł
Napisz zapytania dzienników, aby uzyskać wgląd w działalność biznesową, operacje IT i wydajność. Wyodrębnianie danych dziennika w usłudze Azure Monitor Log Analytics przy użyciu języka KQL (Kusto Query Language).
Ta przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano:
Uwaga
Jeśli znasz już tę usługę i/lub usługę Azure Monitor i chcesz wiedzieć, jak analizować dane monitorowania, zobacz sekcję Analizowanie pod koniec tego artykułu.
Jeśli masz krytyczne aplikacje i procesy biznesowe korzystające z zasobów platformy Azure, musisz monitorować i otrzymywać alerty dla systemu. Usługa Azure Monitor zbiera i agreguje metryki i dzienniki z każdego składnika systemu. Usługa Azure Monitor zapewnia wgląd w dostępność, wydajność i odporność oraz powiadamia o problemach. Do konfigurowania i wyświetlania danych monitorowania można użyć witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure, interfejsu API REST lub bibliotek klienckich.
Ważne
Kubernetes to złożony system rozproszony z wieloma ruchomymi częściami. Monitorowanie na wielu poziomach jest wymagane. Mimo że usługa AKS jest zarządzaną usługą Kubernetes, ta sama rygor monitorowania na wielu poziomach jest nadal wymagana. Ten artykuł zawiera ogólne informacje i najlepsze rozwiązania dotyczące monitorowania klastra usługi AKS.
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.
Funkcja Azure Monitor Container Insights gromadzi metryki niestandardowe 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 Azure Monitor Application Insights służy do monitorowania wydajności aplikacji (APM). 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, zobacz Podstawy zbierania danych.
Usługa AKS generuje te same rodzaje danych monitorowania co inne zasoby platformy Azure opisane w temacie Monitorowanie danych z zasobów platformy Azure. Zapoznaj się z Monitoring AKS data reference w celu uzyskania szczegółowych informacji na temat metryk i dzienników utworzonych przez usługę 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.
Ź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 za pomocą Eksploratora metryk lub użyć ich do alertów dotyczących metryk. |
Metryki Prometheusa | Po włączeniu zeskrobywania metryk dla klastra, zarządzana usługa Azure Monitor dla Prometheus zbiera metryki Prometheus i przechowuje je w obszarze roboczym Azure Monitor. Analizuj je za pomocą wstępnie utworzonych pulpitów nawigacyjnych w Azure Managed Grafana i alertów Prometheus. |
Dzienniki aktywności | Dziennik aktywności zbiera się automatycznie dla klastrów AKS bez ponoszenia kosztów. Te dzienniki śledzą informacje, takie jak w chwili tworzenia klastra lub zmiany jego konfiguracji. Aby przeanalizować je przy użyciu innych danych dziennika, wyślij dziennik 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 wysłać je do obszaru roboczego usługi Log Analytics, w którym można analizować je i powiadamiać za pomocą zapytań dzienników w usłudze Log Analytics. |
Analizy kontenerów | Szczegółowe informacje o kontenerze zbierają różne dzienniki i dane wydajności z klastra, w tym strumieni stdout/stderr i przechowują je w obszarze roboczym usługi Log Analytics i metrykach usługi Azure Monitor. Przeanalizuj te dane za pomocą widoków i skoroszytów zawartych w usłudze Container Insights lub za pomocą usługi Log Analytics i eksploratora metryk. |
Szczegółowe dane dotyczące aplikacji | Usługa Azure Monitor Application Insights zbiera dzienniki, metryki i rozproszone ślady. Ta telemetria jest przechowywana w obszarze roboczym usługi Log Analytics na potrzeby analizy w witrynie Azure Portal. |
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 dla usługi AKS, zobacz Azure Kubernetes Service monitoring data reference (Dokumentacja danych monitorowania usługi Azure Kubernetes Service).
W przypadku usługi Azure Monitor:
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.
Usługa Azure Monitor udostępnia metryki platformy dla większości usług. Te metryki to:
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ę dostępnych metryk dla usługi AKS, zobacz Dokumentacja danych monitorowania usługi Azure Kubernetes Service.
Metryki odgrywają ważną rolę w monitorowaniu klastra, identyfikowaniu problemów i optymalizowaniu wydajności w klastrach AKS (Azure Kubernetes Service). Metryki platformy są przechwytywane przy użyciu domyślnego serwera metryk zainstalowanego w przestrzeni nazw kube-system, który okresowo pobiera metryki ze wszystkich węzłów Kubernetes obsługiwanych przez serwis Kubelet. Należy również włączyć metryki usługi Azure Managed Prometheus w celu zbierania metryk kontenera i metryk obiektów Kubernetes, takich jak stan obiektu Wdrożenia. Aby uzyskać więcej informacji, zobacz Zbieranie 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, ETCD, harmonogram za pośrednictwem usługi Azure Managed Prometheus. Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Aby uzyskać więcej informacji, zobacz Monitorowanie metryk płaszczyzny sterowania usługi Azure Kubernetes Service (AKS) (wersja zapoznawcza). Podzestaw metryk płaszczyzny sterowania dla serwera interfejsu API i ETCD są dostępne bezpłatnie za pośrednictwem metryk platformy usługi Azure Monitor. Te metryki są zbierane domyślnie i mogą być używane do tworzenia alertów opartych na metrykach.
Ta usługa udostępnia inne metryki, które nie są uwzględnione w bazie danych metryk usługi Azure Monitor.
Następujące usługi i funkcje platformy Azure usługi Azure Monitor mogą służyć do dodatkowego monitorowania klastrów Kubernetes. Te funkcje można włączyć podczas tworzenia klastra usługi AKS na karcie Integracje w witrynie Azure Portal, interfejsie wiersza polecenia platformy Azure, narzędziu Terraform, usłudze Azure Policy lub dołączeniu klastra do nich później. Każda z tych funkcji może wiązać się z kosztami, dlatego przed ich włączeniem zapoznaj się z informacjami o cenach dla każdej z nich.
Usługa/funkcja | opis |
---|---|
Szczegółowe informacje o kontenerze | Używa konteneryzowanej wersji agenta usługi Azure Monitor do zbierania dzienników stdout/stderr 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 Azure Kubernetes Service (AKS), aby uzyskać inne opcje jego włączenia. Usługa Container Insights przechowuje większość swoich danych w obszarze roboczym usługi Log Analytics i zazwyczaj używasz tego samego obszaru roboczego usługi Log Analytics co dzienniki zasobów dla klastra. Zobacz Projektowanie architektury obszaru roboczego usługi Log Analytics, aby uzyskać wskazówki dotyczące liczby obszarów roboczych, których należy używać i gdzie je zlokalizować. |
Zarządzana usługa Azure Monitor dla Prometheus |
Prometheus to rozwiązanie monitoringu chmurowego z Cloud Native Compute Foundation. Jest to najczęściej używane narzędzie 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 zgodnego z rozwiązaniem Prometheus na platformie Azure. Jeśli nie włączysz zarządzanego rozwiązania Prometheus podczas tworzenia klastra, zobacz Zbieranie metryk rozwiązania Prometheus z klastra usługi AKS, aby uzyskać inne opcje, aby je włączyć. Usługa zarządzana usługi Azure Monitor dla rozwiązania Prometheus przechowuje swoje dane w obszarze roboczym usługi Azure Monitor połączonym z obszarem roboczym Grafana, dzięki czemu można analizować dane za pomocą usługi Azure Managed Grafana. |
Azure Managed Grafana | W pełni zarządzana implementacja Grafana, która jest platformą wizualizacji danych typu open-source, często używaną do prezentowania danych z 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 zarządzanej Grafany podczas tworzenia klastra, zobacz Połącz obszar roboczy Grafana. Możesz połączyć go z obszarem roboczym usługi Azure Monitor, aby uzyskać dostęp do metryk rozwiązania Prometheus dla klastra. |
Usługa AKS udostępnia również metryki z krytycznych składników płaszczyzny sterowania, takich jak serwer interfejsu API, ETCD, harmonogram za pośrednictwem usługi Azure Managed Prometheus. Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Aby uzyskać więcej informacji, zobacz Monitorowanie metryk płaszczyzny sterowania usługi Azure Kubernetes Service (AKS) (wersja zapoznawcza). Podzestaw metryk płaszczyzny kontroli dla serwera interfejsu API i ETCD jest dostępny bezpłatnie za pośrednictwem metryk platformy Azure Monitor. Te metryki są zbierane domyślnie i mogą być używane do tworzenia alertów opartych na metrykach.
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 Dokumentacja danych monitorowania usługi Azure Kubernetes Service.
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 są one wysyłane do obszaru roboczego usługi Log Analytics, w którym jest przechowywana większość danych usługi Container Insights.
Zobacz Tworzenie ustawień diagnostycznych dla szczegółowego procesu tworzenia ustawienia diagnostycznego przy użyciu witryny Azure Portal, interfejsu wiersza polecenia lub programu PowerShell. Podczas tworzenia ustawienia diagnostycznego należy określić kategorie dzienników, które mają być zbierane. Kategorie dla AKS są wymienione w danych referencyjnych monitorowania AKS.
Ważne
Podczas zbierania dzienników zasobów dla usługi AKS mogą wystąpić znaczne koszty, szczególnie w przypadku kube-audit. Rozważ następujące zalecenia, aby zmniejszyć ilość zebranych danych:
AKSAudit
tabelę jako podstawowe dzienniki.Zobacz Monitorowanie klastrów Kubernetes przy użyciu usług Azure i narzędzi natywnych dla chmury w celu uzyskania dalszych zaleceń oraz Optymalizacja kosztów i Azure Monitor w celu uzyskania strategii zmniejszenia kosztów monitorowania.
Usługa AKS obsługuje tryb diagnostyki platformy Azure lub tryb specyficzny dla zasobów dla dzienników zasobów. Ten tryb określa tabele w obszarze roboczym usługi Log Analytics, w którym są wysyłane dane. Tryb diagnostyki platformy Azure wysyła wszystkie dane do tabeli AzureDiagnostics, podczas gdy tryb specyficzny dla zasobu wysyła dane do usługi AKS Audit, AKS Audit Admin i AKS Control Plane, jak pokazano w tabeli w obszarze Dzienniki zasobów.
Tryb specyficzny dla zasobu jest zalecany dla usługi AKS z następujących powodó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
Można również skonfigurować ustawienia diagnostyczne za pomocą interfejsu wiersza polecenia. W takich przypadkach nie ma gwarancji, że działa pomyślnie, ponieważ nie sprawdza stanu aprowizacji klastra. Pamiętaj, aby sprawdzić ustawienia diagnostyczne klastra, aby odzwierciedlić je po skonfigurowaniu.
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
Ważne
Po wybraniu pozycji Dzienniki z menu klastra usługi AKS usługa Log Analytics zostanie otwarta z zakresem zapytania ustawionym na bieżący klaster. Oznacza to, że zapytania dziennika będą zawierać tylko dane z tego zasobu. Jeśli chcesz uruchomić zapytanie zawierające dane z innych klastrów lub danych 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 .
Jeśli ustawienie diagnostyczne klastra używa trybu diagnostyki platformy Azure, dzienniki zasobów dla usługi AKS są przechowywane w tabeli AzureDiagnostics. Różne dzienniki można odróżnić od 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 | gdzie TimeGenerated pomiędzy(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 inspekcji z wyłączeniem zdarzeń pobierania i wyświetlania listy (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 Kubernetes Services. Aby uzyskać listę typowych zapytań dotyczących szczegółowych informacji o kontenerze, zobacz Zapytania usługi Container Insights.
Usługa Container Insights zbiera różne typy danych telemetrycznych z kontenerów i klastrów Kubernetes, 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 te tabele są dostępne dla zapytań logów.
Ustawienia optymalizacji kosztów umożliwiają dostosowywanie i kontrolowanie danych metryk zebranych za pośrednictwem agenta usługi Container Insights. Ta funkcja obsługuje ustawienia zbierania danych dla poszczególnych opcji tabeli, 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ą poziom pozyskiwania i zmniejszają koszty monitorowania informacji o kontenerach. Szczegółowe informacje o kontenerach Zebrane dane można dostosować za pomocą witryny Azure Portal, korzystając z następujących opcji. Wybranie dowolnej opcji innej niż Wszystkie (domyślne) spowoduje, że funkcja analizy danych dotyczących kontenerów stanie się niedostępna.
Grupowanie | Tabele | Uwagi |
---|---|---|
Wszystkie (ustawienie domyślne) | Wszystkie standardowe tabele szczegółowych informacji o kontenerach | Wymagane do włączenia domyślnych wizualizacji szczegółowych informacji o kontenerach |
Wydajność | Perf, InsightsMetrics | |
Dzienniki i zdarzenia | ContainerLog lub ContainerLogV2, KubeEvents, KubePodInventory | Zalecane, jeśli włączono zarządzane metryki rozwiązania Prometheus |
Obciążenia, wdrożenia i hpa | InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices | |
Trwałe woluminy | InsightsMetrics, KubePVInventory |
Grupowanie dzienników i zdarzeń przechwytuje dzienniki z tabel ContainerLog lub ContainerLogV2, KubeEvents, KubePodInventory, ale nie z metryk. Zalecaną ścieżką do zbierania metryk jest włączenie zarządzanej usługi Azure Monitor Prometheus w klastrze AKS oraz użycie narzędzia Azure Managed Grafana do wizualizacji danych. Aby uzyskać więcej informacji, zobacz Zarządzanie obszarem roboczym usługi Azure Monitor.
Usługa Azure Monitor Container Insights udostępnia schemat dzienników kontenerów znany jako ContainerLogV2, co jest zalecaną opcją. Ten format zawiera następujące pola, które ułatwiają typowe zapytania dotyczące wyświetlania danych związanych z usługami AKS i klastrami Kubernetes z obsługą usługi Azure Arc:
Ponadto ten schemat jest zgodny z planem danych dzienników podstawowych, który oferuje tanią alternatywę dla standardowych dzienników analitycznych. Podstawowy plan danych dziennika pozwala zaoszczędzić na kosztach pozyskiwania i przechowywania szczegółowych dzienników o dużej objętości 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.
KontenerLogV2 jest zalecanym podejściem i jest domyślnym schematem dla klientów dołączania szczegółowych informacji o kontenerze przy użyciu uwierzytelniania tożsamości zarządzanej przy użyciu usługi ARM, Bicep, Terraform, Zasad i witryny Azure Portal. Aby uzyskać więcej informacji na temat, jak włączyć ContainerLogV2 za pomocą reguły zbierania danych klastra (DCR) lub ConfigMap, zobacz Włączanie schematu ContainerLogV2.
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.
W tej sekcji dowiesz się, jak używać funkcji danych na żywo w usłudze Container Insights do wyświetlania dzienników kontenerów, zdarzeń i zasobników usługi Azure Kubernetes Service (AKS) w czasie rzeczywistym. Ta funkcja zapewnia bezpośredni dostęp do kubectl logs -c
, kubectl get
zdarzeń oraz kubectl top pods
i ułatwia rozwiązywanie problemów w czasie rzeczywistym.
Uwaga
Usługa AKS używa architektur rejestrowania na poziomie klastra Kubernetes. Dzienniki kontenera znajdują się wewnątrz /var/log/containers
węzła. Aby uzyskać dostęp do węzła, zobacz Nawiązywanie połączenia z węzłami klastra usługi Azure Kubernetes Service (AKS).
Aby uzyskać pomoc dotyczącą konfigurowania funkcji danych na żywo, zobacz Konfigurowanie danych na żywo w usłudze Container Insights. Ta 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.
Uwaga
Aby uzyskać dostęp do dzienników z klastra prywatnego, musisz być na maszynie w tej samej sieci prywatnej co klaster.
W witrynie Azure Portal przejdź do klastra usługi AKS.
W obszarze Zasoby kubernetes wybierz pozycję Obciążenia.
Wybierz Wdrożenie, Zasobnik, Zestaw replik, Zestaw stanowy, Zadanie lub Zadanie Cron, dla którego chcesz wyświetlić dzienniki, a następnie wybierz Aktywne dzienniki.
Wybierz zasób, dla którego chcesz wyświetlić dzienniki.
W poniższym przykładzie przedstawiono dzienniki zasobu Pod:
Dane dziennika w czasie rzeczywistym można wyświetlać, gdy aparat kontenera generuje je w klastrze, węzłach, kontrolerach lub kontenerach.
W witrynie Azure Portal przejdź do klastra usługi AKS.
W obszarze Monitorowanie wybierz pozycję Analizy.
Wybierz kartę Klaster, Węzły, Kontrolery lub Kontenery, a następnie wybierz obiekt, dla którego chcesz wyświetlić dzienniki.
W obszarze 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 Jak wykonywać zapytania o dzienniki z usługi Container Insights.
Po pomyślnym uwierzytelnieniu, jeśli dane mogą zostać pobrane, dane te rozpoczynają przesyłanie strumieniowe na zakładkę Live Logs. Tutaj można wyświetlić dane dziennika w strumieniu ciągłym. Na poniższej ilustracji przedstawiono dzienniki zasobu kontenera:
Dane zdarzeń w czasie rzeczywistym można wyświetlać, gdy aparat kontenera generuje je w klastrze, węzłach, kontrolerach lub kontenerach.
W witrynie Azure Portal przejdź do klastra usługi AKS.
W obszarze Monitorowanie wybierz pozycję Analizy.
Wybierz kartę Klaster, Węzły, Kontrolery lub Kontenery, a następnie wybierz obiekt, dla którego chcesz wyświetlić zdarzenia.
Na stronie 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 Jak wykonywać zapytania o dzienniki z usługi Container Insights.
Po pomyślnym uwierzytelnieniu, jeśli dane można pobrać, rozpoczynają przesyłanie strumieniowe na kartę Wydarzenia na Żywo. Na poniższej ilustracji przedstawiono zdarzenia dla zasobu Kontener.
Dane metryk w czasie rzeczywistym można wyświetlać, gdy silnik kontenera generuje je na węzłach lub kontrolerach poprzez wybranie zasobnika Pod.
W witrynie Azure Portal przejdź do klastra usługi AKS.
W obszarze Monitorowanie wybierz pozycję Analizy.
Wybierz kartę Węzły lub Kontrolery, a następnie wybierz obiekt Pod, dla którego chcesz wyświetlić metryki.
Na stronie Przegląd zasobu wybierz 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 Jak wykonywać zapytania o dzienniki z usługi Container Insights.
Po pomyślnym uwierzytelnieniu, jeśli dane można pobrać, zaczynają być przesyłane strumieniowo na kartę Metryki na żywo. Na poniższej ilustracji przedstawiono metryki zasobu Pod:
Istnieje wiele narzędzi do analizowania danych monitorowania.
Usługa Azure Monitor obsługuje następujące podstawowe narzędzia:
Eksplorator metryk, narzędzie w portalu Azure, które umożliwia wyświetlanie i analizowanie metryk dla zasobów Azure. Aby uzyskać więcej informacji, zobacz Analizowanie metryk za pomocą Eksploratora metryk usługi Azure Monitor.
Log Analytics — narzędzie w witrynie Azure Portal, które umożliwia wykonywanie zapytań i analizowanie danych dzienników przy użyciu języka zapytań Kusto (KQL). Aby uzyskać więcej informacji, zobacz Rozpoczynanie pracy z zapytaniami dzienników w usłudze Azure Monitor.
Dziennik aktywności, który zawiera interfejs użytkownika w portalu Azure do wyświetlania i podstawowych wyszukiwań. Aby przeprowadzić bardziej szczegółową analizę, musisz kierować dane do dzienników usługi Azure Monitor i uruchamiać bardziej złożone zapytania w usłudze Log Analytics.
Narzędzia, które umożliwiają bardziej złożoną wizualizację, obejmują:
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.
Aby rozpocząć pracę z interfejsem API REST dla usługi Azure Monitor, zobacz Przewodnik po interfejsie API REST monitorowania platformy Azure.
Karta Monitorowanie na stronie 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 zarządzanego rozwiązania Prometheus i usługi Container Insights dla klastra. Jeśli musisz włączyć te narzędzia, możesz je włączyć tutaj. W górnej części ekranu może również zostać wyświetlony baner z zaleceniem włączenia innych funkcji w celu ulepszenia monitorowania klastra.
Porada
Aby uzyskać dostęp do funkcji monitorowania dla wszystkich klastrów usługi AKS w ramach subskrypcji, wybierz pozycję Azure Monitor na stronie głównej witryny Azure Portal.
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 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.
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ć:
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:
Uwaga
Zalecane reguły alertów są dostępne dla:
Po włączeniu zbierania metryk Prometheus dla twojego klastra możesz pobrać kolekcję zalecanych reguł alertów Prometheus. Ten plik do pobrania zawiera następujące reguły:
Poziom | Alerty |
---|---|
Na poziomie klastra | KubeCPUQuotaOvercommit KubeMemoryQuotaPrzekroczenieLimituPamięci KubeContainerOOMKilledCount KubeClientErrors KubePersistentVolumeFillingUp KubePersistentVolumeInodesFillingUp KubePersistentVolumeErrors KubeContainerWaiting KubeDaemonSetNotScheduled NiepoprawnieZaplanowanyKubeDaemonSet KubeQuotaAlmostFull |
Poziom węzła | KubeNodeUnreachable KubeNodeReadinessFlapping |
Poziom modułu | KubePVUsageHigh NiezgodnośćReplikKubeDeployment Niepopasowanie replik KubeStatefulSet KubeHpaReplicasMismatch KubeHpaMaxedOut KubePodCrashLooping KubeJobStale KubePodContainerRestart Niski status gotowości KubePod KubePodFailedState KubePodNotReadyByController KubeStatefulSetGenerationMismatch KubeJobFailed Wysokie Średnie Zużycie CPU Kontenera Kube ŚrednieWysokieZużyciePamięciKonteneraKube KubeletPodStartUpLatencyHigh |
Zobacz Jak tworzyć alerty dzienników z usługi Container Insights i Jak zapytania dotyczące dzienników z usługi Container Insights. Alerty dzienników mogą mierzyć dwie różne rzeczy, które mogą służyć do monitorowania w różnych scenariuszach:
W zależności od wymaganego scenariusza zgłaszania alertów należy utworzyć zapytania dziennika porównujące wartość DateTime z bieżącą godziną przy użyciu now
operatora 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.
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 Azure Kubernetes Service.
Warunek | opis |
---|---|
Procent > użycia procesora CPU 95 | Uruchamia się, gdy średnie użycie procesora CPU we wszystkich węzłach przekracza próg. |
Procent użycia zestawu roboczego pamięci > 100 | Uruchamia się, gdy średni zestaw roboczy we wszystkich węzłach przekracza próg. |
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łó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ć cenny wgląd w operację klastra i zidentyfikować potencjalne problemy, zanim doprowadzą one do awarii lub obniżenia wydajności.
Począwszy od platformy Kubernetes w wersji 1.29, 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 wizualizować przy użyciu zarządzanego pulpitu nawigacyjnego Grafana dostępnego w obszarze Azure Managed Prometheus > Kubernetes > Sieci > klastry.
Następujące metryki są agregowane na każdy węzeł. Wszystkie metryki obejmują etykiety:
cluster
instance
(Nazwa węzła)W przypadku scenariuszy płaszczyzny danych Cilium funkcja Obserwacja sieci kontenerów udostępnia metryki tylko dla systemu Linux, system Windows nie jest obecnie obsługiwany. Cilium uwidacznia kilka metryk, w tym następujące metryki używane przez funkcję obserwacji 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 zasobnika i dns, zapoznaj się z naszą ofertą usług Advanced Container Networking .
Opinia o produkcie Azure Kubernetes Service
Azure Kubernetes Service to projekt typu open source. Wybierz link, aby przekazać opinię:
Szkolenie
Moduł
Napisz zapytania dzienników, aby uzyskać wgląd w działalność biznesową, operacje IT i wydajność. Wyodrębnianie danych dziennika w usłudze Azure Monitor Log Analytics przy użyciu języka KQL (Kusto Query Language).