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 danych dziennika, co może spowodować znaczne koszty, jeśli nie będziesz selektywnie wybierać zebranych dzienników. 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 dołączania 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 usługi AKS 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 Kubernetes z obsługą usługi Arc z obsługą usługi Prometheus nie obsługuje następujących konfiguracji:

  • Dystrybucje Red Hat Openshift
  • 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 ramach procesu dołączania 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 wyświetlić metryki w usłudze Azure Managed Grafana, musisz Owner mieć uprawnienia na poziomie, aby połączyć obszar roboczy usługi Azure Monitor. Jest to wymagane, ponieważ użytkownik wykonujący krok dołączania musi mieć możliwość nadania roli Tożsamości Monitoring Reader systemu zarządzanej przez platformę Azure Grafana w obszarze roboczym usługi Azure Monitor w celu wykonywania zapytań dotyczących metryk.
Analizy kontenerów Obszar roboczy usługi Log Analytics Klaster usługi AKS 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 usługi AKS 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 mapowania używanych dla domyślnego obszaru roboczego, zobacz Mapowania regionów obsługiwane przez szczegółowe informacje o kontenerze.
Zarządzane narzędzie Grafana Obszar roboczy usługi Azure Managed Grafana Połącz obszar roboczy narzędzia Grafana z obszarem roboczym usługi Azure Monitor, aby metryki rozwiązania Prometheus zebrane z klastra dostępne dla pulpitów nawigacyjnych narzędzia Grafana.

Włączanie rozwiązań Prometheus i Grafana

Użyj jednej z poniższych metod, aby włączyć złomowanie metryk Rozwiązania Prometheus z klastra i włączyć zarządzaną aplikację Grafana w celu wizualizacji metryk. Zobacz Łączenie obszaru roboczego narzędzia Grafana, aby uzyskać opcje łączenia obszaru roboczego usługi Azure Monitor i obszaru roboczego usługi Azure Managed Grafana.

Uwaga

Jeśli masz jeden zasób usługi Azure Monitor połączony prywatnie, włączenie rozwiązania Prometheus nie będzie działać, jeśli klaster usługi AKS i obszar roboczy usługi 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 kontrolery domeny w lokalizacji klastra usługi AKS i nowe skojarzenie DCRA (skojarzenie) w tym samym regionie klastra usługi AKS. Skojarz nowe dcE z klastrem AKS i nadaj nowe skojarzenie (DCRA) jako configurationAccessEndpoint. Aby uzyskać pełne instrukcje dotyczące konfigurowania kontrolerów domeny skojarzonych z obszarem roboczym usługi Azure Monitor w celu korzystania z usługi Private Link do pozyskiwania danych, zobacz Use a private link for Managed Prometheus data ingestion (Używanie linku prywatnego do pozyskiwania danych zarządzanego rozwiązania Prometheus).

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.

Klaster usługi 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.

Przykładowe polecenia

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

### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics -n <cluster-name> -g <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 -n <cluster-name> -g <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 -n <cluster-name> -g <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ą usługi 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]"

Dowolne z poleceń może używać następujących parametrów opcjonalnych:

  • AKS: --ksm-metric-annotations-allow-list
    Łuku: --AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList
    Rozdzielona przecinkami lista kluczy adnotacji Kubernetes używanych w metryce kube_resource_annotations zasobu. Na przykład kube_pod_annotations to metryka adnotacji dla zasobu zasobnikó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],....
  • AKS: --ksm-metric-labels-allow-list
    Łuku: --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 zasobników. Domyślnie ta metryka zawiera tylko etykiety nazw i przestrzeni nazw. Aby uwzględnić więcej etykiet, podaj listę nazw zasobów w ich postaci mnogiej i klucze etykiet Kubernetes, które chcesz zezwolić dla nich Jeden * można podać 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,...],....
  • AKS: --enable-windows-recording-rules umożliwia włączenie grup reguł rejestrowania wymaganych do prawidłowego funkcjonowania pulpitów nawigacyjnych systemu Windows.

Włączanie szczegółowych informacji o kontenerze

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

Użyj jednego z następujących poleceń, aby umożliwić monitorowanie klastrów usługi AKS i usługi 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ą usługi Arc z usługą ARO (Azure Red Hat Openshift) ani węzłami systemu Windows. Użyj starszego uwierzytelniania.
  • W przypadku interfejsu wiersza polecenia w wersji 2.54.0 lub nowszej schemat rejestrowania zostanie skonfigurowany na wartość ContainerLogV2 przy użyciu narzędzia ConfigMap.

Klaster usługi AKS

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

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

Przykład

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

Klaster z obsługą usługi 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 z obsługą usługi Arc z serwerem proxy przekazywania dalej

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 przy użyciu ustawienia amalogs.ignoreExtensionProxySettings=truekonfiguracji .

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 z węzłami ARO lub OpenShift lub Windows

Uwierzytelnianie tożsamości zarządzanej nie jest obsługiwane w przypadku klastrów Kubernetes z obsługą usługi Arc z usługą ARO (Azure Red Hat OpenShift) ani węzłami 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

Usuwanie wystąpienia 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

Korzystając z witryny Azure Portal, możesz jednocześnie włączyć usługę Managed Prometheus i Container Insights.

Uwaga

Jeśli chcesz włączyć usługę Managed Prometheus bez szczegółowych informacji o kontenerze, włącz ją z obszaru roboczego usługi Azure Monitor zgodnie z poniższym opisem.

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

Podczas tworzenia nowego klastra usługi AKS w witrynie Azure Portal możesz włączyć rozwiązanie Prometheus, Container Insights i Grafana na karcie Integracje . W sekcji Azure Monitor wybierz pozycję Konfiguracja domyślna lub Konfiguracja niestandardowa, jeśli chcesz określić, które obszary robocze mają być używane. Po utworzeniu klastra można wykonać dodatkową konfigurację.

Zrzut ekranu przedstawiający kartę integracji dla nowego klastra usługi AKS.

Istniejący klaster (Prometheus i Container Insights)

Ta opcja umożliwia korzystanie ze szczegółowych informacji o kontenerach i opcjonalnie rozwiązania Prometheus i Grafana w istniejącym klastrze usługi AKS.

  1. Wybierz Szczegółowe informacje z menu klastra LUB wybierz pozycję Kontenery z menu Monitorowanie, Niemonitorowane klastry i kliknij przycisk Włącz obok klastra.

    1. Jeśli usługa Container Insights nie jest włączona dla klastra, zostanie wyświetlony ekran określający, które funkcje zostały włączone. Kliknij pozycję Konfiguruj monitorowanie.

    Zrzut ekranu przedstawiający ekran konfiguracji klastra.

    1. Jeśli usługa Container Insights została już włączona w klastrze, wybierz przycisk Monitorowanie Ustawienia, aby zmodyfikować konfigurację.

    Zrzut ekranu przedstawiający przycisk ustawień monitorowania dla klastra.

  2. Szczegółowe informacje o kontenerze zostaną włączone. Zaznacz pola wyboru Włącz metryki Prometheus i Włącz Grafana, jeśli chcesz również włączyć je dla klastra. Jeśli masz istniejący obszar roboczy usługi Azure Monitor i obszar roboczy narzędzia Grafana, są one wybrane dla Ciebie.

    Zrzut ekranu przedstawiający okno dialogowe konfigurowania szczegółowych informacji o kontenerze za pomocą rozwiązań Prometheus i Grafana.

  3. Kliknij pozycję Ustawienia zaawansowane, aby wybrać alternatywne obszary robocze lub utworzyć nowe. Ustawienie Ustawienia ustawień wstępnych kosztów umożliwia 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 .

    Zrzut ekranu przedstawiający okno dialogowe ustawień zaawansowanych.

  4. Kliknij przycisk Konfiguruj , aby zapisać konfigurację.

Istniejący klaster (tylko prometheus)

Ta opcja umożliwia korzystanie z metryk rozwiązania Prometheus w klastrze bez włączania szczegółowych informacji o kontenerze.

  1. Otwórz menu Obszary robocze usługi Azure Monitor w witrynie Azure Portal i wybierz swój obszar roboczy.

  2. Wybierz pozycję Monitorowane klastry w sekcji Zarządzany prometheus , aby wyświetlić listę klastrów usługi AKS.

  3. Wybierz pozycję Konfiguruj obok klastra, który chcesz włączyć.

    Zrzut ekranu przedstawiający obszar roboczy usługi Azure Monitor z konfiguracją rozwiązania Prometheus.

Istniejący klaster (Dodawanie rozwiązania Prometheus)

  1. Wybierz pozycję Kontenery z menu Monitor, kartę Monitored clusters (Monitorowane klastry), a następnie kliknij przycisk Configure (Konfiguruj) obok klastra w kolumnie Managed Prometheus (Zarządzany prometheus).

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

Uwaga

Nie ma limitu procesora CPU/pamięci w pliku windows-exporter-daemonset.yaml, więc może on nadmiernie aprowizować 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 węzłaAllocatable i pomaga harmonogramowi w całym klastrze w określaniu zasobników do umieszczenia w 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 z zarządzanego kontenera dodatków Prometheus (prometheus_collector), kolekcja metryk systemu Windows została włączona dla klastrów usługi AKS. Dołączanie do dodatku Metryk usługi Azure Monitor umożliwia uruchamianie zasobników DaemonSet 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ć zasobnikom zbieranie metryk z pul węzłów systemu Windows.

  1. Ręcznie zainstaluj eksportera systemu Windows w węzłach usługi AKS, aby uzyskać dostęp do metryk systemu Windows. 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 eksportera systemu Windows:

        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 dołączania przy użyciu interfejsu wiersza polecenia dołącz opcję --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ł.

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 zestawy replik zostały wdrożone dla rozwiązania 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 zestawy DaemonSet zostały prawidłowo wdrożone w pulach węzłów systemu Linux

kubectl get ds ama-logs --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-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 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-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 za pomocą interfejsu wiersza polecenia

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

az aks show -g <resourceGroupofAKSCluster> -n <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/00000000-0000-0000-0000-000000000000/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 według dodatku metryk, który wybrał obszar roboczy usługi Azure Monitor jako miejsce docelowe, a także jest skojarzony z zasobem klastra usługi 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żej regułę zbierania danych na potrzeby pozyskiwania metryk Prometheus 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 Prometheus systemu operacyjnego do zdalnego zapisu w obszarze roboczym usługi 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 utworzone podczas korzystania z serwera Prometheus systemu operacyjnego do zdalnego zapisu w obszarze roboczym usługi 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 dla ruchu przychodzącego i wychodzącego dla węzła systemu Windows i kolekcji metryk związanych z wydajnością kontenera do działania.

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.