Włącz monitorowanie już wdrożonego klastra usługi Azure Kubernetes Service (AKS)Enable monitoring of Azure Kubernetes Service (AKS) cluster already deployed

W tym artykule opisano sposób konfigurowania usługi Container Insights w celu monitorowania zarządzanego klastra Kubernetes hostowanego w usłudze Azure Kubernetes Service , która została już wdrożona w ramach subskrypcji.This article describes how to set up Container insights to monitor managed Kubernetes cluster hosted on Azure Kubernetes Service that have already been deployed in your subscription.

Można włączyć monitorowanie klastra AKS, który jest już wdrożony przy użyciu jednej z obsługiwanych metod:You can enable monitoring of an AKS cluster that's already deployed using one of the supported methods:

Jeśli łączysz istniejący klaster AKS z obszarem roboczym usługi Azure Log Analytics w innej subskrypcji, dostawca zasobów Microsoft. ContainerService musi być zarejestrowany w subskrypcji, w której został utworzony obszar roboczy Log Analytics.If you're connecting an existing AKS cluster to an Azure Log Analytics workspace in another subscription, the Microsoft.ContainerService resource provider must be registered in the subscription in which the Log Analytics workspace was created. Aby uzyskać więcej informacji, zobacz Rejestrowanie dostawcy zasobów.For more information, see Register resource provider.

Logowanie się do witryny Azure PortalSign in to the Azure portal

Zaloguj się w witrynie Azure Portal.Sign in to the Azure portal.

Włączanie przy użyciu interfejsu wiersza polecenia platformy AzureEnable using Azure CLI

Poniższy krok umożliwia monitorowanie klastra AKS przy użyciu interfejsu wiersza polecenia platformy Azure.The following step enables monitoring of your AKS cluster using Azure CLI. W tym przykładzie nie trzeba wstępnie tworzyć ani określać istniejącego obszaru roboczego.In this example, you are not required to pre-create or specify an existing workspace. To polecenie upraszcza proces przez utworzenie domyślnego obszaru roboczego w domyślnej grupie zasobów subskrypcji klastra AKS, jeśli jeszcze nie istnieje w regionie.This command simplifies the process for you by creating a default workspace in the default resource group of the AKS cluster subscription if one does not already exist in the region. Utworzony domyślny obszar roboczy jest podobny do formatu DefaultWorkspace- <GUID> - <Region>.The default workspace created resembles the format of DefaultWorkspace-<GUID>-<Region>.

az aks enable-addons -a monitoring -n MyExistingManagedCluster -g MyExistingManagedClusterRG

Dane wyjściowe będą wyglądać następująco:The output will resemble the following:

provisioningState       : Succeeded

Integracja z istniejącym obszarem roboczymIntegrate with an existing workspace

Jeśli wolisz zintegrować z istniejącym obszarem roboczym, wykonaj następujące kroki, aby najpierw zidentyfikować pełny identyfikator zasobu Log Analytics obszaru roboczego, który jest wymagany dla tego --workspace-resource-id parametru, a następnie uruchom polecenie, aby włączyć dodatek monitorowania względem określonego obszaru roboczego.If you would rather integrate with an existing workspace, perform the following steps to first identify the full resource ID of your Log Analytics workspace required for the --workspace-resource-id parameter, and then run the command to enable the monitoring add-on against the specified workspace.

  1. Wyświetl listę wszystkich subskrypcji, do których masz dostęp, za pomocą następującego polecenia:List all the subscriptions that you have access to using the following command:

    az account list --all -o table
    

    Dane wyjściowe będą wyglądać następująco:The output will resemble the following:

    Name                                  CloudName    SubscriptionId                        State    IsDefault
    ------------------------------------  -----------  ------------------------------------  -------  -----------
    Microsoft Azure                       AzureCloud   68627f8c-91fO-4905-z48q-b032a81f8vy0  Enabled  True
    

    Skopiuj wartość identyfikatora subskrypcji.Copy the value for SubscriptionId.

  2. Przejdź do subskrypcji, w której znajduje się obszar roboczy Log Analytics, przy użyciu następującego polecenia:Switch to the subscription hosting the Log Analytics workspace using the following command:

    az account set -s <subscriptionId of the workspace>
    
  3. Poniższy przykład wyświetla listę obszarów roboczych w Twoich subskrypcjach w domyślnym formacie JSON.The following example displays the list of workspaces in your subscriptions in the default JSON format.

    az resource list --resource-type Microsoft.OperationalInsights/workspaces -o json
    

    W danych wyjściowych Znajdź nazwę obszaru roboczego, a następnie skopiuj pełny identyfikator zasobu tego Log Analytics obszaru roboczego pod identyfikatorem pola.In the output, find the workspace name, and then copy the full resource ID of that Log Analytics workspace under the field id.

  4. Uruchom następujące polecenie, aby włączyć dodatek monitorowania, zastępując wartość --workspace-resource-id parametru.Run the following command to enable the monitoring add-on, replacing the value for the --workspace-resource-id parameter. Wartość ciągu musi znajdować się w podwójnych cudzysłowach:The string value must be within the double quotes:

    az aks enable-addons -a monitoring -n ExistingManagedCluster -g ExistingManagedClusterRG --workspace-resource-id "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.OperationalInsights/workspaces/<WorkspaceName>"
    

    Dane wyjściowe będą wyglądać następująco:The output will resemble the following:

    provisioningState       : Succeeded
    

Włącz korzystanie z TerraformEnable using Terraform

  1. Dodawanie profilu dodatku oms_agent do istniejącego zasobu azurerm_kubernetes_clusterAdd the oms_agent add-on profile to the existing azurerm_kubernetes_cluster resource

    addon_profile {
     oms_agent {
       enabled                    = true
       log_analytics_workspace_id = "${azurerm_log_analytics_workspace.test.id}"
      }
    }
    
  2. Dodaj azurerm_log_analytics_solution , wykonując czynności opisane w dokumentacji Terraform.Add the azurerm_log_analytics_solution following the steps in the Terraform documentation.

Włączanie z Azure Monitor w portaluEnable from Azure Monitor in the portal

Aby włączyć monitorowanie klastra AKS w Azure Portal z Azure Monitor, wykonaj następujące czynności:To enable monitoring of your AKS cluster in the Azure portal from Azure Monitor, do the following:

  1. W Azure Portal wybierz pozycję Monitoruj.In the Azure portal, select Monitor.

  2. Z listy wybierz kontenery .Select Containers from the list.

  3. Na stronie monitorowanie kontenerów wybierz opcję Niemonitorowane klastry.On the Monitor - containers page, select Unmonitored clusters.

  4. Na liście niemonitorowanych klastrów Znajdź kontener na liście i kliknij pozycję Włącz.From the list of unmonitored clusters, find the container in the list and click Enable.

  5. Na stronie Dołączanie do usługi Container Insights , jeśli masz istniejący obszar roboczy log Analytics w tej samej subskrypcji co klaster, wybierz go z listy rozwijanej.On the Onboarding to Container insights page, if you have an existing Log Analytics workspace in the same subscription as the cluster, select it from the drop-down list. Na tej liście jest wybierany domyślny obszar roboczy i lokalizacja, w ramach której jest wdrażany kontener AKS.The list preselects the default workspace and location that the AKS container is deployed to in the subscription.

    Włącz monitorowanie usługi AKS Container Insights

    Uwaga

    Jeśli chcesz utworzyć nowy obszar roboczy Log Analytics do przechowywania danych monitorowania z klastra, postępuj zgodnie z instrukcjami w temacie tworzenie log Analytics obszaru roboczego.If you want to create a new Log Analytics workspace for storing the monitoring data from the cluster, follow the instructions in Create a Log Analytics workspace. Upewnij się, że obszar roboczy jest tworzony w tej samej subskrypcji, w której jest wdrażany kontener AKS.Be sure to create the workspace in the same subscription that the AKS container is deployed to.

Po włączeniu monitorowania może upłynąć około 15 minut, zanim będzie można wyświetlić metryki kondycji klastra.After you've enabled monitoring, it might take about 15 minutes before you can view health metrics for the cluster.

Włącz bezpośrednio z klastra AKS w portaluEnable directly from AKS cluster in the portal

Aby włączyć monitorowanie bezpośrednio z jednego z klastrów AKS w Azure Portal, wykonaj następujące czynności:To enable monitoring directly from one of your AKS clusters in the Azure portal, do the following:

  1. W Azure Portal wybierz pozycję wszystkie usługi.In the Azure portal, select All services.

  2. Na liście zasobów Rozpocznij wpisywanie kontenerów.In the list of resources, begin typing Containers. Lista filtruje się na podstawie danych wejściowych.The list filters based on your input.

  3. Wybierz pozycję Kubernetes Services.Select Kubernetes services.

  4. Na liście usług Kubernetes wybierz usługę.In the list of Kubernetes services, select a service.

  5. Na stronie Przegląd usługi Kubernetes wybierz pozycję monitorowanie — szczegółowe informacje.On the Kubernetes service overview page, select Monitoring - Insights.

  6. Na stronie Dołączanie do usługi Container Insights , jeśli masz istniejący obszar roboczy log Analytics w tej samej subskrypcji co klaster, wybierz go na liście rozwijanej.On the Onboarding to Container insights page, if you have an existing Log Analytics workspace in the same subscription as the cluster, select it in the drop-down list. Na tej liście jest wybierany domyślny obszar roboczy i lokalizacja, w ramach której jest wdrażany kontener AKS.The list preselects the default workspace and location that the AKS container is deployed to in the subscription.

    Włącz monitorowanie kondycji kontenera AKS

    Uwaga

    Jeśli chcesz utworzyć nowy obszar roboczy Log Analytics do przechowywania danych monitorowania z klastra, postępuj zgodnie z instrukcjami w temacie tworzenie log Analytics obszaru roboczego.If you want to create a new Log Analytics workspace for storing the monitoring data from the cluster, follow the instructions in Create a Log Analytics workspace. Upewnij się, że obszar roboczy jest tworzony w tej samej subskrypcji, w której jest wdrażany kontener AKS.Be sure to create the workspace in the same subscription that the AKS container is deployed to.

Po włączeniu monitorowania może upłynąć około 15 minut, zanim będzie można wyświetlić dane operacyjne dla klastra.After you've enabled monitoring, it might take about 15 minutes before you can view operational data for the cluster.

Włączanie przy użyciu szablonu Azure Resource ManagerEnable using an Azure Resource Manager template

Ta metoda obejmuje dwa szablony JSON.This method includes two JSON templates. Jeden szablon określa konfigurację umożliwiającą monitorowanie, a druga zawiera wartości parametrów, które można skonfigurować, aby określić następujące elementy:One template specifies the configuration to enable monitoring, and the other contains parameter values that you configure to specify the following:

  • Identyfikator zasobu kontenera AKS.The AKS container resource ID.
  • Grupa zasobów, w której jest wdrażany klaster.The resource group that the cluster is deployed in.

Uwaga

Szablon musi zostać wdrożony w tej samej grupie zasobów co klaster.The template needs to be deployed in the same resource group as the cluster.

Aby można było włączyć monitorowanie za pomocą Azure PowerShell lub interfejsu wiersza polecenia, należy utworzyć obszar roboczy Log Analytics.The Log Analytics workspace has to be created before you enable monitoring using Azure PowerShell or CLI. Aby utworzyć obszar roboczy, można go skonfigurować za pomocą Azure Resource Manager, za pomocą programu PowerShelllub Azure Portal.To create the workspace, you can set it up through Azure Resource Manager, through PowerShell, or in the Azure portal.

Jeśli nie znasz koncepcji wdrażania zasobów przy użyciu szablonu, zobacz:If you are unfamiliar with the concept of deploying resources by using a template, see:

Jeśli zdecydujesz się na korzystanie z interfejsu wiersza polecenia platformy Azure, musisz najpierw zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie.If you choose to use the Azure CLI, you first need to install and use the CLI locally. Wymagany jest interfejs wiersza polecenia platformy Azure w wersji 2.0.59 lub nowszej.You must be running the Azure CLI version 2.0.59 or later. Aby zidentyfikować swoją wersję, uruchom polecenie az --version .To identify your version, run az --version. Jeśli konieczne jest zainstalowanie lub uaktualnienie interfejsu wiersza polecenia platformy Azure, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.If you need to install or upgrade the Azure CLI, see Install the Azure CLI.

Tworzenie i wykonywanie szablonuCreate and execute a template

  1. Skopiuj i wklej następującą składnię JSON do pliku:Copy and paste the following JSON syntax into your file:

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "aksResourceId": {
          "type": "string",
          "metadata": {
            "description": "AKS Cluster Resource ID"
          }
        },
        "aksResourceLocation": {
          "type": "string",
          "metadata": {
            "description": "Location of the AKS resource e.g. \"East US\""
          }
        },
        "aksResourceTagValues": {
          "type": "object",
          "metadata": {
            "description": "Existing all tags on AKS Cluster Resource"
          }
        },
        "workspaceResourceId": {
          "type": "string",
          "metadata": {
            "description": "Azure Monitor Log Analytics Resource ID"
          }
        }
      },
      "resources": [
        {
          "name": "[split(parameters('aksResourceId'),'/')[8]]",
          "type": "Microsoft.ContainerService/managedClusters",
          "location": "[parameters('aksResourceLocation')]",
          "tags": "[parameters('aksResourceTagValues')]",
          "apiVersion": "2018-03-31",
          "properties": {
            "mode": "Incremental",
            "id": "[parameters('aksResourceId')]",
            "addonProfiles": {
              "omsagent": {
                "enabled": true,
                "config": {
                  "logAnalyticsWorkspaceResourceID": "[parameters('workspaceResourceId')]"
                }
              }
            }
          }
        }
      ]
    }
    
  2. Zapisz ten plik jako existingClusterOnboarding.jsw folderze lokalnym.Save this file as existingClusterOnboarding.json to a local folder.

  3. Wklej następującą składnię JSON do pliku:Paste the following JSON syntax into your file:

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "aksResourceId": {
          "value": "/subscriptions/<SubscriptionId>/resourcegroups/<ResourceGroup>/providers/Microsoft.ContainerService/managedClusters/<ResourceName>"
        },
        "aksResourceLocation": {
          "value": "<aksClusterLocation>"
        },
        "workspaceResourceId": {
          "value": "/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroup>/providers/Microsoft.OperationalInsights/workspaces/<workspaceName>"
        },
        "aksResourceTagValues": {
          "value": {
            "<existing-tag-name1>": "<existing-tag-value1>",
            "<existing-tag-name2>": "<existing-tag-value2>",
            "<existing-tag-nameN>": "<existing-tag-valueN>"
          }
        }
      }
    }
    
  4. Edytuj wartości dla aksResourceId i aksResourceLocation przy użyciu wartości na stronie Przegląd AKS dla klastra AKS.Edit the values for aksResourceId and aksResourceLocation using the values on the AKS Overview page for the AKS cluster. Wartość workspaceResourceId to pełny identyfikator zasobu obszaru roboczego log Analytics, który obejmuje nazwę obszaru roboczego.The value for workspaceResourceId is the full resource ID of your Log Analytics workspace, which includes the workspace name.

    Edytuj wartości dla aksResourceTagValues , aby pasowały do istniejących wartości tagów określonych dla klastra AKS.Edit the values for aksResourceTagValues to match the existing tag values specified for the AKS cluster.

  5. Zapisz ten plik jako existingClusterParam.jsw folderze lokalnym.Save this file as existingClusterParam.json to a local folder.

  6. Wszystko jest teraz gotowe do wdrożenia tego szablonu.You are ready to deploy this template.

    • Aby wdrożyć program przy użyciu Azure PowerShell, użyj następujących poleceń w folderze zawierającym szablon:To deploy with Azure PowerShell, use the following commands in the folder that contains the template:

      New-AzResourceGroupDeployment -Name OnboardCluster -ResourceGroupName <ResourceGroupName> -TemplateFile .\existingClusterOnboarding.json -TemplateParameterFile .\existingClusterParam.json
      

      Zmiana konfiguracji może potrwać kilka minut.The configuration change can take a few minutes to complete. Po zakończeniu zostanie wyświetlony komunikat podobny do poniższego i zawiera wynik:When it's completed, a message is displayed that's similar to the following and includes the result:

      provisioningState       : Succeeded
      
    • Aby przeprowadzić wdrożenie przy użyciu interfejsu wiersza polecenia platformy Azure, uruchom następujące polecenia:To deploy with Azure CLI, run the following commands:

      az login
      az account set --subscription "Subscription Name"
      az deployment group create --resource-group <ResourceGroupName> --template-file ./existingClusterOnboarding.json --parameters @./existingClusterParam.json
      

      Zmiana konfiguracji może potrwać kilka minut.The configuration change can take a few minutes to complete. Po zakończeniu zostanie wyświetlony komunikat podobny do poniższego i zawiera wynik:When it's completed, a message is displayed that's similar to the following and includes the result:

      provisioningState       : Succeeded
      

      Po włączeniu monitorowania może upłynąć około 15 minut, zanim będzie można wyświetlić metryki kondycji klastra.After you've enabled monitoring, it might take about 15 minutes before you can view health metrics for the cluster.

Weryfikowanie wdrożenia agenta i rozwiązaniaVerify agent and solution deployment

W przypadku agenta w wersji 06072018 lub nowszej można sprawdzić, czy zarówno Agent, jak i rozwiązanie zostały pomyślnie wdrożone.With agent version 06072018 or later, you can verify that both the agent and the solution were deployed successfully. W przypadku wcześniejszych wersji agenta można zweryfikować tylko wdrożenie agenta.With earlier versions of the agent, you can verify only agent deployment.

Agent w wersji 06072018 lub nowszejAgent version 06072018 or later

Uruchom następujące polecenie, aby sprawdzić, czy Agent został wdrożony pomyślnie.Run the following command to verify that the agent is deployed successfully.

kubectl get ds omsagent --namespace=kube-system

Dane wyjściowe powinny wyglądać podobnie do poniższego, co oznacza, że zostało prawidłowo wdrożone:The output should resemble the following, which indicates that it was deployed properly:

User@aksuser:~$ kubectl get ds omsagent --namespace=kube-system
NAME       DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
omsagent   2         2         2         2            2           beta.kubernetes.io/os=linux   1d

Jeśli w klastrze znajdują się węzły systemu Windows Server, możesz uruchomić następujące polecenie, aby sprawdzić, czy Agent został wdrożony pomyślnie.If there are Windows Server nodes on the cluster then you can run the following command to verify that the agent is deployed successfully.

kubectl get ds omsagent-win --namespace=kube-system

Dane wyjściowe powinny wyglądać podobnie do poniższego, co oznacza, że zostało prawidłowo wdrożone:The output should resemble the following, which indicates that it was deployed properly:

User@aksuser:~$ kubectl get ds omsagent-win --namespace=kube-system
NAME                   DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                   AGE
omsagent-win           2         2         2         2            2           beta.kubernetes.io/os=windows   1d

Aby zweryfikować wdrożenie rozwiązania, uruchom następujące polecenie:To verify deployment of the solution, run the following command:

kubectl get deployment omsagent-rs -n=kube-system

Dane wyjściowe powinny wyglądać podobnie do poniższego, co oznacza, że zostało prawidłowo wdrożone:The output should resemble the following, which indicates that it was deployed properly:

User@aksuser:~$ kubectl get deployment omsagent-rs -n=kube-system
NAME       DESIRED   CURRENT   UP-TO-DATE   AVAILABLE    AGE
omsagent   1         1         1            1            3h

Wersja agenta wcześniejsza niż 06072018Agent version earlier than 06072018

Aby sprawdzić, czy wersja agenta Log Analytics wydana przed 06072018 zostanie wdrożona prawidłowo, uruchom następujące polecenie:To verify that the Log Analytics agent version released before 06072018 is deployed properly, run the following command:

kubectl get ds omsagent --namespace=kube-system

Dane wyjściowe powinny wyglądać podobnie do poniższego, co oznacza, że zostało prawidłowo wdrożone:The output should resemble the following, which indicates that it was deployed properly:

User@aksuser:~$ kubectl get ds omsagent --namespace=kube-system
NAME       DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                 AGE
omsagent   2         2         2         2            2           beta.kubernetes.io/os=linux   1d

Wyświetl konfigurację przy użyciu interfejsu wiersza poleceniaView configuration with CLI

Użyj aks show polecenia, aby uzyskać szczegółowe informacje, takie jak rozwiązanie włączone lub nie, co to jest identyfikator zasobu obszaru roboczego log Analytics i szczegóły podsumowania klastra.Use the aks show command to get details such as is the solution enabled or not, what is the Log Analytics workspace resourceID, and summary details about the cluster.

az aks show -g <resourceGroupofAKSCluster> -n <nameofAksCluster>

Po kilku minutach polecenie zostanie wykonane i zwróci informacje w formacie JSON o rozwiązaniu.After a few minutes, the command completes and returns JSON-formatted information about solution. Wyniki polecenia powinny zawierać profil dodatku monitorowania i podobne do następujących przykładowych danych wyjściowych:The results of the command should show the monitoring add-on profile and resembles the following example output:

"addonProfiles": {
    "omsagent": {
      "config": {
        "logAnalyticsWorkspaceResourceID": "/subscriptions/<WorkspaceSubscription>/resourceGroups/<DefaultWorkspaceRG>/providers/Microsoft.OperationalInsights/workspaces/<defaultWorkspaceName>"
      },
      "enabled": true
    }
  }

Następne krokiNext steps

  • Jeśli wystąpią problemy podczas próby dołączenia rozwiązania, zapoznaj się z przewodnikiem rozwiązywania problemówIf you experience issues while attempting to onboard the solution, review the troubleshooting guide

  • Dzięki monitorowaniu z możliwością zbierania danych o kondycji i obciążeniu zasobów klastra AKS oraz uruchomionych na nich obciążeń zapoznaj się z tematem korzystanie z usługi Container Insights.With monitoring enabled to collect health and resource utilization of your AKS cluster and workloads running on them, learn how to use Container insights.