Udostępnij za pośrednictwem


Włączanie monitorowania klastrów Kubernetes

W tym artykule opisano sposób włączania pełnego monitorowania klastrów Kubernetes przy użyciu następujących funkcji usługi Azure Monitor:

Za pomocą witryny Azure Portal można jednocześnie włączyć wszystkie funkcje. Można je również włączyć indywidualnie przy użyciu interfejsu wiersza polecenia platformy Azure, szablonu usługi Azure Resource Manager, narzędzia Terraform lub usługi Azure Policy. Każda z tych metod została opisana w tym artykule.

Ważne

Klastry Kubernetes generują wiele dzienników, co może spowodować znaczne koszty, jeśli nie będziesz wybierać dzienników do zbierania selektywnie. Przed włączeniem monitorowania klastra zapoznaj się z następującymi artykułami, aby upewnić się, że środowisko jest zoptymalizowane pod kątem kosztów i że ograniczysz zbieranie dzienników tylko do potrzebnych danych:

Obsługiwane klastry

Ten artykuł zawiera wskazówki dotyczące wprowadzenia dla następujących typów klastrów. Wszelkie różnice w procesie dla każdego typu są zanotowane w odpowiednich sekcjach.

Wymagania wstępne

Uprawnienia

Wymagania wstępne dotyczące zarządzanego rozwiązania Prometheus

  • Klaster musi używać uwierzytelniania tożsamości zarządzanej.
  • Następujący dostawcy zasobów muszą być zarejestrowani w subskrypcji klastra i obszaru roboczego usługi Azure Monitor:
    • Microsoft.ContainerService
    • Microsoft.Insights
    • Microsoft.AlertsManagement
    • Microsoft.Monitor
    • W ramach subskrypcji obszaru roboczego Grafana należy zarejestrować następujących dostawców zasobów:
      • Microsoft.Dashboard

Wymagania wstępne dotyczące klastrów Kubernetes z obsługą usługi Arc

Uwaga

Zarządzane rozszerzenie Prometheus Arc-Enabled Kubernetes nie obsługuje następujących konfiguracji:

  • Dystrybucje Red Hat Openshift, w tym azure Red Hat OpenShift (ARO)
  • Węzły systemu Windows

Obszary robocze

W poniższej tabeli opisano obszary robocze wymagane do obsługi zarządzanych usług Prometheus i Container Insights. Każdy obszar roboczy można utworzyć w trakcie procesu onboardingu lub użyć istniejącego obszaru roboczego. Zobacz Projektowanie architektury obszaru roboczego usługi Log Analytics, aby uzyskać wskazówki dotyczące liczby obszarów roboczych do utworzenia i miejsca ich umieszczania.

Funkcja Obszar roboczy Uwagi
Zarządzane narzędzie Prometheus Obszar roboczy usługi Azure Monitor Contributor uprawnienie jest wystarczające do włączenia dodatku do wysyłania danych do obszaru roboczego usługi Azure Monitor. Aby połączyć obszar roboczy usługi Azure Monitor i wyświetlać metryki w usłudze Azure Managed Grafana, musisz mieć uprawnienia na określonym poziomie Owner. Jest to wymagane, aby użytkownik wykonujący krok dołączania mógł nadać rolę Tożsamości Systemu Zarządzanej przez Azure Grafana Monitoring Reader w obszarze roboczym usługi Azure Monitor, w celu wykonywania zapytań dotyczących metryk.
Analizy kontenerów Obszar roboczy usługi Log Analytics Klaster można dołączyć do obszaru roboczego usługi Log Analytics w innej subskrypcji platformy Azure w tej samej dzierżawie firmy Microsoft Entra, ale musisz użyć interfejsu wiersza polecenia platformy Azure lub szablonu usługi Azure Resource Manager. Obecnie nie można wykonać tej konfiguracji w witrynie Azure Portal.

Jeśli łączysz istniejący klaster z obszarem roboczym usługi Log Analytics w innej subskrypcji, dostawca zasobów Microsoft.ContainerService musi zostać zarejestrowany w subskrypcji w obszarze roboczym usługi Log Analytics. Aby uzyskać dodatkowe informacje, zobacz Rejestrowanie dostawcy zasobów.

Aby uzyskać listę obsługiwanych par mapowań dla domyślnego obszaru roboczego, zobacz Mapowania regionów obsługiwane przez Analizę Kontenerów.
Zarządzane narzędzie Grafana Obszar roboczy usługi Azure Managed Grafana Połącz obszar roboczy Grafana z obszarem roboczym Azure Monitor, aby metryki Prometheus zebrane z klastra były dostępne na pulpitach nawigacyjnych Grafana.

Włącz Prometheus i Grafana

Użyj jednej z poniższych metod, aby włączyć pobieranie metryk Prometheus z klastra i umożliwić wizualizację metryk za pomocą zarządzanej Grafany. Zobacz Łączenie obszaru roboczego Grafana, aby zapoznać się z opcjami łączenia obszaru roboczego Azure Monitor i obszaru roboczego Azure Managed Grafana.

Uwaga

Jeśli masz pojedynczy zasób Azure Monitor połączony prywatnie, włączenie funkcji Prometheus nie będzie działać, jeśli klaster i przestrzeń robocza Azure Monitor znajdują się w różnych regionach. Konfiguracja wymagana dla dodatku Prometheus nie jest dostępna między regionami ze względu na ograniczenie łącza prywatnego. Aby rozwiązać ten problem, utwórz nowe DCE w lokalizacji klastra i nową DCRA w tym samym regionie klastra. Skojarz nowe DCE z klastrem i nadaj nowemu skojarzeniu (DCRA) nazwę configurationAccessEndpoint. Aby uzyskać pełne instrukcje dotyczące konfigurowania punktów końcowych zbierania danych skojarzonych z miejscem roboczym usługi Azure Monitor w celu korzystania z usługi Private Link do pozyskiwania danych, zobacz Włączanie łącza prywatnego do monitorowania Kubernetes w usłudze Azure Monitor.

Włącz za pomocą CLI

Jeśli nie określisz istniejącego obszaru roboczego usługi Azure Monitor w następujących poleceniach, zostanie użyty domyślny obszar roboczy dla grupy zasobów. Jeśli domyślny obszar roboczy jeszcze nie istnieje w regionie klastra, jeden z nazwą w formacie DefaultAzureMonitorWorkspace-<mapped_region> zostanie utworzony w grupie zasobów o nazwie DefaultRG-<cluster_region>.

Wymagania wstępne

  • Wymagana jest wersja interfejsu wiersza polecenia Az w wersji 2.49.0 lub nowszej.
  • Rozszerzenie aks-preview musi zostać odinstalowane z klastrów usługi AKS przy użyciu polecenia az extension remove --name aks-preview.
  • Rozszerzenie k8s-extension musi być zainstalowane przy użyciu polecenia az extension add --name k8s-extension.
  • Wymagane jest rozszerzenie k8s w wersji 1.4.1 lub nowszej.

Parametry opcjonalne

Każde z poleceń usługi AKS i Arc-Enabled Kubernetes zezwala na następujące parametry opcjonalne. Nazwa parametru jest inna dla każdego, ale ich użycie jest takie samo.

Parametr Nazwa i opis
Klucze adnotacji AKS: --ksm-metric-annotations-allow-list
Łuk: --AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList

Rozdzielona przecinkami lista kluczy adnotacji Kubernetes używanych w metryce zasobu kube_resource_annotations . Na przykład kube_pod_annotations to metryka adnotacji dla zasobu podów. Domyślnie ta metryka zawiera tylko etykiety nazw i przestrzeni nazw. Aby uwzględnić więcej adnotacji, podaj listę nazw zasobów w ich postaci mnogiej i klucze adnotacji Kubernetes, które mają być dla nich dozwolone. Dla każdego zasobu można udostępnić pojedynczy * element, aby zezwolić na wszelkie adnotacje, ale ma to poważne konsekwencje dla wydajności. Na przykład pods=[kubernetes.io/team,...],namespaces=[kubernetes.io/team],....
Klucze do etykiet Usługa AKS: --ksm-metric-labels-allow-list
Łuk: --AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist

Rozdzielona przecinkami lista większej liczby kluczy etykiet Kubernetes używanych w metryce kube_resource_labels kube_resource_labels zasobu. Na przykład kube_pod_labels to metryka etykiet zasobu podów. Domyślnie ta metryka zawiera tylko etykiety nazw i przestrzeni nazw. Aby uwzględnić więcej etykiet, podaj listę nazw zasobów w formie liczby mnogiej oraz klucze etykiet Kubernetes, które chcesz dla nich zezwolić. Można podać pojedynczy * dla każdego zasobu, aby zezwolić na dowolne etykiety, ale ma to poważne konsekwencje dla wydajności. Na przykład pods=[app],namespaces=[k8s-label-1,k8s-label-n,...],....
Reguły rejestrowania AKS: --enable-windows-recording-rules

Umożliwia włączenie grup reguł rejestrowania wymaganych do prawidłowego funkcjonowania pulpitów nawigacyjnych systemu Windows.

Klaster AKS

-enable-azure-monitor-metrics Użyj opcji az aks create lub az aks update (w zależności od tego, czy tworzysz nowy klaster, czy aktualizujesz istniejący klaster), aby zainstalować dodatek metryk, który złomuje metryki Prometheus.

### Use default Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group>

### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <workspace-name-resource-id>

### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <azure-monitor-workspace-name-resource-id> --grafana-resource-id  <grafana-workspace-name-resource-id>

### Use optional parameters
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --ksm-metric-labels-allow-list "namespaces=[k8s-label-1,k8s-label-n]" --ksm-metric-annotations-allow-list "pods=[k8s-annotation-1,k8s-annotation-n]"

Klaster z obsługą Arc

### Use default Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics

## Use existing Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id>

### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id>

### Use optional parameters
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id> AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList="pods=[k8s-annotation-1,k8s-annotation-n]" AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist "namespaces=[k8s-label-1,k8s-label-n]"

Dla klastrów z obsługą usługi Azure Arc są dostępne następujące dodatkowe parametry opcjonalne:

Parametr Opis Wartość domyślna Ustawienie nadrzędnego klastra Arc
ClusterDistribution Rozkład klastra. Azure.Cluster.Distribution tak
CloudEnvironment Środowisko chmury dla klastra. Azure.Cluster.Cloud tak
MountCATrustAnchorsDirectory Czy zamontować katalog zakotwiczeń zaufania CA. true Nie
MountUbuntuCACertDirectory Czy zainstalować katalog certyfikatów urzędu certyfikacji systemu Ubuntu. true aks_edge chyba że dystrybucja. Nie

Włączanie szczegółowych informacji o kontenerze

Użyj jednej z poniższych metod, aby włączyć Container Insights w klastrze. Po zakończeniu tej czynności zobacz Konfigurowanie zbierania danych agenta dla usługi Container Insights, aby dostosować konfigurację, aby się upewnić, że nie zbierasz większej ilości danych niż jest to wymagane.

Uwaga

Jeśli masz jeden zasób usługi Azure Monitor połączony za pomocą łącza prywatnego, nie można włączyć usługi Container Insights w portalu Azure Portal. Aby uzyskać pełne instrukcje dotyczące konfigurowania usługi Container Insights za pomocą usługi Private Link, zobacz Włączanie łącza prywatnego na potrzeby monitorowania platformy Kubernetes w usłudze Azure Monitor.

Użyj jednego z następujących poleceń, aby umożliwić monitorowanie klastrów AKS i klastrów obsługiwanych przez Arc. Jeśli nie określisz istniejącego obszaru roboczego usługi Log Analytics, zostanie użyty domyślny obszar roboczy dla grupy zasobów. Jeśli domyślny obszar roboczy jeszcze nie istnieje w regionie klastra, zostanie utworzony z nazwą w formacie DefaultWorkspace-<GUID>-<Region>.

Wymagania wstępne

  • Interfejs wiersza polecenia platformy Azure w wersji 2.43.0 lub nowszej
  • Uwierzytelnianie tożsamości zarządzanej jest domyślne w interfejsie wiersza polecenia w wersji 2.49.0 lub nowszej.
  • Rozszerzenie Azure k8s w wersji 1.3.7 lub nowszej
  • Uwierzytelnianie tożsamości zarządzanej jest ustawieniem domyślnym w rozszerzeniu k8s w wersji 1.43.0 lub nowszej.
  • Uwierzytelnianie tożsamości zarządzanej nie jest obsługiwane w przypadku klastrów Kubernetes z obsługą Arc wyposażonych w ARO (Azure Red Hat Openshift) lub węzły systemu Windows. Użyj starszego uwierzytelniania.
  • W przypadku wersji interfejsu wiersza polecenia 2.54.0 lub nowszej, schemat logowania będzie skonfigurowany na ContainerLogV2 za pomocą ConfigMap.

Uwaga

Można włączyć schemat ContainerLogV2 dla klastra przy użyciu reguły zbierania danych klastra (DCR) lub ConfigMap. Jeśli oba ustawienia są włączone, pierwszeństwo będzie mieć ConfigMap. Dzienniki stdout i stderr zostaną pozyskane do tabeli ContainerLog tylko wtedy, gdy zarówno DCR, jak i ConfigMap są jawnie wyłączone.

Klaster AKS

### Use default Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name>

### Use existing Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id>

### Use legacy authentication
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false

Przykład

az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"

Klaster obsługujący Arc

### Use default Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers

### Use existing Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<workspace-resource-id>

### Use managed identity authentication (default as k8s-extension version 1.43.0)
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true

### Use advanced configuration settings
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings  amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi

### With custom mount path for container stdout & stderr logs
### Custom mount path not required for Azure Stack Edge version > 2318. Custom mount path must be /home/data/docker for Azure Stack Edge cluster with version <= 2318
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.logsettings.custommountpath=<customMountPath>

Zobacz sekcję żądania zasobów i limity wykresu programu Helm, aby zapoznać się z dostępnymi ustawieniami konfiguracji.

Przykład

az k8s-extension create --name azuremonitor-containers --cluster-name "my-cluster" --resource-group "my-resource-group" --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID="/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"

Klaster obsługujący Arc z serwerem proxy przekierowującym

Jeśli klaster jest skonfigurowany z serwerem proxy do przodu, ustawienia serwera proxy są automatycznie stosowane do rozszerzenia. W przypadku klastra z serwerem AMPLS i serwerem proxy należy zignorować konfigurację serwera proxy. Dołącz rozszerzenie z użyciem ustawienia konfiguracyjnego amalogs.ignoreExtensionProxySettings=true.

az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.ignoreExtensionProxySettings=true

Klaster z obsługą usługi Arc posiadający węzły ARO, OpenShift lub Windows

Uwierzytelnianie za pomocą zarządzanej tożsamości nie jest obsługiwane w przypadku klastrów Kubernetes z obsługą Arc ani dla węzłów ARO (Azure Red Hat OpenShift), OpenShift lub Windows. Użyj starszego uwierzytelniania, określając amalogs.useAADAuth=false tak jak w poniższym przykładzie.

az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=false

Usuń wystąpienie rozszerzenia

Następujące polecenie usuwa tylko wystąpienie rozszerzenia, ale nie usuwa obszaru roboczego usługi Log Analytics. Dane w zasobie usługi Log Analytics pozostają nienaruszone.

az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>

Włączanie pełnego monitorowania za pomocą witryny Azure Portal

Nowy klaster usługi AKS (Prometheus, Container Insights i Grafana)

Podczas tworzenia nowego klastra AKS w portalu Azure możesz włączyć Prometheus, Container insights i Grafana z karty Monitorowanie. Upewnij się, że zaznaczasz Włącz dzienniki kontenerów, Włącz metryki Prometheus oraz Włącz Grafana.

Zrzut ekranu przedstawiający zakładkę Monitorowania dla nowego klastra usługi AKS.

Istniejący klaster (Prometheus, Container Insights i Grafana)

  1. Przejdź do klastra w witrynie Azure Portal.

  2. W menu usługi w obszarze Monitorowanie wybierz pozycję Szczegółowe informacje>

  3. Funkcja Container Insights jest już włączona. Zaznacz pola wyboru Włącz metryki Prometheus i Włącz Grafana. Jeśli masz istniejący obszar roboczy usługi Azure Monitor i obszar roboczy narzędzia Grafana, są one wybrane dla Ciebie.

  4. Wybierz pozycję Ustawienia zaawansowane, jeśli chcesz wybrać alternatywne obszary robocze lub utworzyć nowe. Ustawienia wstępne kosztów umożliwiają zmodyfikowanie domyślnych szczegółów kolekcji w celu zmniejszenia kosztów monitorowania. Aby uzyskać szczegółowe informacje, zobacz Włączanie ustawień optymalizacji kosztów w usłudze Container Insights .

  5. Wybierz Konfiguruj.

Istniejący klaster (tylko prometheus)

  1. Przejdź do klastra w witrynie Azure Portal.

  2. W menu usługi w obszarze Monitorowanie wybierz pozycję Szczegółowe informacje>

  3. Zaznacz pole wyboru Włącz metryki Prometheus.

  4. Wybierz pozycję Ustawienia zaawansowane, jeśli chcesz wybrać alternatywne obszary robocze lub utworzyć nowe. Ustawienie ustawień wstępnych kosztów umożliwia zmodyfikowanie domyślnych szczegółów kolekcji w celu zmniejszenia kosztów monitorowania.

  5. Wybierz Konfiguruj.

Włączanie zbierania metryk systemu Windows (wersja zapoznawcza)

Uwaga

Nie ma limitu procesora CPU/pamięci w pliku windows-exporter-daemonset.yaml, przez co może to przeciążać węzły systemu Windows.
Aby uzyskać więcej informacji, zobacz Rezerwacja zasobów

Podczas wdrażania obciążeń należy ustawić limity pamięci zasobów i procesora CPU dla kontenerów. Spowoduje to również odejmowanie z NodeAllocatable i pomaga harmonogramowi klastra w określaniu, które zasobniki umieścić na których węzłach. Planowanie zasobników bez ograniczeń może spowodować nadmierną aprowizację węzłów systemu Windows, a w skrajnych przypadkach może spowodować, że węzły staną się w złej kondycji.

Od wersji 6.4.0-main-02-22-2023-3ee44b9e kontenera zarządzanego dodatku Prometheus (prometheus_collector) w klastrach AKS zostało włączone zbieranie metryk systemu Windows. Integracja z dodatkiem Metryk usługi Azure Monitor umożliwia rozpoczęcie działania zasobników DaemonSet dla systemu Windows w pulach węzłów. Obsługiwane są systemy Windows Server 2019 i Windows Server 2022. Wykonaj następujące kroki, aby umożliwić podom zbieranie metryk z pul węzłów Windows.

  1. Ręcznie zainstaluj windows-exporter na węzłach AKS, aby uzyskać dostęp do metryk Windows, wdrażając windows-exporter-daemonset YAML. Włącz następujące moduły zbierające:

    • [defaults]
    • container
    • memory
    • process
    • cpu_info

    Aby uzyskać więcej modułów zbierających, zobacz Eksporter Prometheus dla metryk systemu Windows.

    Wdróż plik YAML windows-exporter-daemonset. Należy pamiętać, że jeśli w węźle zastosowano jakiekolwiek skażenia, należy zastosować odpowiednie tolerancje.

        kubectl apply -f windows-exporter-daemonset.yaml
    
  2. Zastosuj mapę ama-metrics-settings-configmap do klastra. Ustaw wartości logiczne windowsexporter i windowskubeproxy na truewartość . Aby uzyskać więcej informacji, zobacz Metryki — configmap ustawień dodatku.

  3. Włącz reguły rejestrowania, które są wymagane dla wbudowanych pulpitów nawigacyjnych:

    • W przypadku włączania przy użyciu interfejsu wiersza polecenia użyj opcji --enable-windows-recording-rules.
    • W przypadku dołączania przy użyciu szablonu usługi ARM, Bicep lub Azure Policy ustaw wartość enableWindowsRecordingRules na true w pliku parametrów.
    • Jeśli klaster jest już dołączony, użyj tego szablonu usługi ARM i tego pliku parametrów, aby utworzyć grupy reguł. Spowoduje to dodanie wymaganych reguł rejestrowania i nie jest operacją arm w klastrze i nie ma wpływu na bieżący stan monitorowania klastra.

Weryfikowanie wdrożenia

Użyj narzędzia wiersza polecenia kubectl, aby sprawdzić, czy agent jest wdrożony prawidłowo.

Zarządzane narzędzie Prometheus

Sprawdź, czy zestaw DaemonSet został prawidłowo wdrożony w pulach węzłów systemu Linux

kubectl get ds ama-metrics-node --namespace=kube-system

Liczba zasobników powinna być równa liczbie węzłów systemu Linux w klastrze. Dane wyjściowe powinny przypominać następujący przykład:

User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME               DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
ama-metrics-node   1         1         1       1            1           <none>          10h

Sprawdź, czy węzły systemu Windows zostały prawidłowo wdrożone

kubectl get ds ama-metrics-win-node --namespace=kube-system

Liczba zasobników powinna być równa liczbie węzłów systemu Windows w klastrze. Dane wyjściowe powinny przypominać następujący przykład:

User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME                   DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
ama-metrics-win-node   3         3         3       3            3           <none>          10h

Sprawdź, czy dwa ReplicaSets zostały wdrożone dla Prometheus

kubectl get rs --namespace=kube-system

Dane wyjściowe powinny przypominać następujący przykład:

User@aksuser:~$kubectl get rs --namespace=kube-system
NAME                            DESIRED   CURRENT   READY   AGE
ama-metrics-5c974985b8          1         1         1       11h
ama-metrics-ksm-5fcf8dffcd      1         1         1       11h

Analizy kontenerów

Sprawdź, czy DaemonSets zostały prawidłowo wdrożone w pulach węzłów Linuksa

kubectl get ds ama-logs --namespace=kube-system

Liczba podów powinna być równa liczbie węzłów Linux w klastrze. Dane wyjściowe powinny przypominać następujący przykład:

User@aksuser:~$ kubectl get ds ama-logs --namespace=kube-system
NAME       DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
ama-logs   2         2         2         2            2           <none>          1d

Sprawdź, czy węzły systemu Windows zostały prawidłowo wdrożone

kubectl get ds ama-logs-windows --namespace=kube-system

Liczba podów powinna być równa liczbie węzłów Windows w klastrze. Dane wyjściowe powinny przypominać następujący przykład:

User@aksuser:~$ kubectl get ds ama-logs-windows --namespace=kube-system
NAME                   DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR     AGE
ama-logs-windows           2         2         2         2            2       <none>            1d

Weryfikowanie wdrożenia rozwiązania Container Insights

kubectl get deployment ama-logs-rs --namespace=kube-system

Dane wyjściowe powinny przypominać następujący przykład:

User@aksuser:~$ kubectl get deployment ama-logs-rs --namespace=kube-system
NAME          READY   UP-TO-DATE   AVAILABLE   AGE
ama-logs-rs   1/1     1            1           24d

Wyświetlanie konfiguracji CLI

Użyj polecenia aks show, aby dowiedzieć się, czy rozwiązanie jest włączone, poznać identyfikator zasobu obszaru roboczego usługi Log Analytics oraz uzyskać informacje podsumowujące dotyczące klastra.

az aks show --resource-group <resourceGroupofAKSCluster> --name <nameofAksCluster>

Polecenie zwróci informacje w formacie JSON dotyczące rozwiązania. Sekcja addonProfiles powinna zawierać informacje na temat elementu omsagent , jak w poniższym przykładzie:

"addonProfiles": {
    "omsagent": {
        "config": {
            "logAnalyticsWorkspaceResourceID": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
            "useAADAuth": "true"
        },
        "enabled": true,
        "identity": null
    },
}

Aprowizowane zasoby

Po włączeniu monitorowania w ramach subskrypcji są tworzone następujące zasoby:

Nazwa zasobu Typ zasobu Grupa zasobów Region/lokalizacja Opis
MSCI-<aksclusterregion>-<clustername> Reguła zbierania danych Tak samo jak klaster Tak samo jak obszar roboczy usługi Log Analytics Ta reguła zbierania danych dotyczy zbierania dzienników przez agenta usługi Azure Monitor, który używa obszaru roboczego usługi Log Analytics jako miejsca docelowego i jest skojarzony z zasobem klastra usługi AKS.
MSPROM-<aksclusterregion>-<clustername> Reguła zbierania danych Tak samo jak klaster Tak samo jak obszar roboczy usługi Azure Monitor Ta reguła zbierania danych dotyczy zbierania metryk prometheus przez dodatek metryk, który ma wybrany obszar roboczy Azure Monitor jako miejsce docelowe i jest również powiązany z zasobem klastra AKS.
MSPROM-<aksclusterregion>-<clustername> Punkt końcowy zbierania danych Tak samo jak klaster Tak samo jak obszar roboczy usługi Azure Monitor Ten punkt końcowy zbierania danych jest używany przez powyższą regułę zbierania danych do pozyskiwania metryk z Prometheusa z dodatku metryk

Podczas tworzenia nowego obszaru roboczego usługi Azure Monitor zostaną utworzone następujące dodatkowe zasoby

Nazwa zasobu Typ zasobu Grupa zasobów Region/lokalizacja Opis
<azuremonitor-workspace-name> Reguła zbierania danych <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed Tak samo jak obszar roboczy usługi Azure Monitor DcR utworzony podczas korzystania z serwera OSS Prometheus do zdalnego zapisu w przestrzeni roboczej Azure Monitor.
<azuremonitor-workspace-name> Punkt końcowy zbierania danych MA_<azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed Tak samo jak obszar roboczy usługi Azure Monitor Środowisko DCE jest tworzone, gdy używasz serwera Prometheus typu open-source do Remote Write w obszarze roboczym Azure Monitor.

Różnice między klastrami systemu Windows i Linux

Główne różnice w monitorowaniu klastra systemu Windows Server w porównaniu z klastrem systemu Linux obejmują:

  • System Windows nie ma metryki RSS pamięci. W związku z tym nie jest dostępna dla węzłów i kontenerów systemu Windows. Dostępna jest metryka Zestawu roboczego.
  • Informacje o pojemności magazynu dysku nie są dostępne dla węzłów systemu Windows.
  • Monitorowane są tylko środowiska zasobników, a nie środowiska platformy Docker.
  • W wersji zapoznawczej obsługiwane są maksymalnie 30 kontenerów systemu Windows Server. To ograniczenie nie dotyczy kontenerów systemu Linux.

Uwaga

Obsługa usługi Container Insights dla systemu operacyjnego Windows Server 2022 jest dostępna w wersji zapoznawczej.

Konteneryzowany agent systemu Linux (zasobnik zestawu replik) wykonuje wywołania interfejsu API do wszystkich węzłów systemu Windows na bezpiecznym porcie Kubelet (10250) w klastrze w celu zbierania metryk związanych z wydajnością węzła i kontenera. Bezpieczny port kubelet (:10250) powinien być otwarty w sieci wirtualnej klastra zarówno dla ruchu przychodzącego, jak i wychodzącego, aby umożliwić zbieranie metryk związanych z wydajnością węzła systemu Windows oraz kontenerów.

Jeśli masz klaster Kubernetes z węzłami systemu Windows, przejrzyj i skonfiguruj sieciową grupę zabezpieczeń i zasady sieciowe, aby upewnić się, że bezpieczny port Kubelet (:10250) jest otwarty zarówno dla ruchu przychodzącego, jak i wychodzącego w sieci wirtualnej klastra.

Następne kroki

  • Jeśli podczas próby dołączenia rozwiązania wystąpią problemy, zapoznaj się z przewodnikiem rozwiązywania problemów.
  • Dzięki włączeniu monitorowania w celu zbierania kondycji i wykorzystania zasobów klastra usługi AKS i uruchomionych na nich obciążeń dowiedz się , jak używać szczegółowych informacji o kontenerze.