Share via


(已淘汰) 使用 Log Analytics 監視 Azure Container Service 叢集

提示

如需使用 Azure Kubernetes Service 的此文更新版本,請參閱適用於容器的 Azure 監視器

警告

Azure Container Service (ACS) 即將淘汰。 ACS 不會再新增任何新的特性或功能。 所有 API、入口網站體驗、CLI 命令和文件均會標示為已淘汰。

自 2017 年引進 Azure Kubernetes Service (AKS) 起,即將其用於簡化 Kubernetes 的管理、部署及作業。 若您使用 Kubernetes 協調器,請於 2020 年 1 月 31 日前遷移至 AKS。 若要開始使用,請參閱遷移至 Azure Kubernetes Service

如需詳細資訊,請參閱 Azure.com 上的 Azure Container Service 淘汰通知

必要條件

本逐步解說假設您已使用 Azure Container Service 建立 Kubernetes 叢集

同時也假設您已經安裝 az Azure cli 和 kubectl 工具。

您可以藉由執行下列操作來測試是否已安裝 az 工具:

az --version

如果您尚未安裝 az 工具,這裡有指示。 或者,您可以使用 Azure Cloud Shell,它已為您安裝 az Azure cli 和 kubectl 工具。

您可以藉由執行下列操作來測試是否已安裝 kubectl 工具:

kubectl version

如果您尚未安裝 kubectl,可以執行︰

az acs kubernetes install-cli

若要測試您的 kubectl 工具中是否已安裝 kubernetes 金鑰,您可以執行:

kubectl get nodes

如果上述命令發生錯誤,您必須將 kubernetes 叢集金鑰安裝到 kubectl 工具中。 您可以使用下列命令來執行此操作:

RESOURCE_GROUP=my-resource-group
CLUSTER_NAME=my-acs-name
az acs kubernetes get-credentials --resource-group=$RESOURCE_GROUP --name=$CLUSTER_NAME

使用Log Analytics 監視容器

Log Analytics 是 Microsoft 的雲端型 IT 管理解決方案,可協助您管理並保護內部部署和雲端基礎結構。 容器解決方案是 Log Analytics 中的解決方案,可協助您在單一位置檢視容器詳細目錄、效能和記錄。 您可以在集中式位置檢視記錄以稽核、對容器進行疑難排解,並尋找壟斷及佔用過量主機資源的容器。

如需容器解決方案的詳細資訊,請參閱容器解決方案 Log Analytics

在 Kubernetes 上安裝 Log Analytics

取得您的工作區識別碼和金鑰

為了使 Log Analytics 代理程式能與服務溝通,必須使用工作區識別碼和工作區金鑰來設定它。 若要取得工作區識別碼和金鑰,您必須在 https://mms.microsoft.com 建立帳戶。 請依步驟指示建立帳戶。 當您完成建立帳戶之後,可以按一下 [Log Analytics] 刀鋒視窗,然後按一下您的工作區名稱,來取得識別碼和金鑰。 接著,依序在 [進階設定]、[連接的來源] 及 [Linux 伺服器] 下方,您將可找到所需的資訊,如下所示。

使用 DaemonSet 安裝 Log Analytics 代理程式

DaemonSet 是 Kubernetes 用來在叢集中每個主機上執行容器的單一執行個體。 它們非常適合用來執行監視代理程式。

以下是 DaemonSet YAML 檔案。 將它儲存到名為 oms-daemonset.yaml 的檔案,並將檔案中的 WSIDKEY 預留位置值取代為您的工作區識別碼和金鑰。

當您將工作區識別碼和金鑰新增至 DaemonSet 設定之後,就可以在您的叢集上使用 kubectl 命令列工具安裝 Log Analytics 代理程式:

kubectl create -f oms-daemonset.yaml

使用 Kubernetes 秘密安裝 Log Analytics 代理程式

若要保護您的 Log Analytics 工作區識別碼和金鑰,您可以使用 Kubernetes 秘密作為 DaemonSet YAML 檔案的一部分。

  • 從存放 ) 複製腳本、秘密範本檔案和 DaemonSet YAML 檔案 (,並確定它們位於相同的目錄中。

    • 秘密產生指令碼 - secret-gen.sh
    • 祕密範本 - secret-template.yaml
      • DaemonSet YAML 檔案 - omsagent-ds-secrets.yaml
  • 執行指令碼。 此指令碼會要求提供 Log Analytics 工作區識別碼和主要金鑰。 插入該資訊,而指令碼會建立秘密 yaml 檔案,以便您執行。

    sudo bash ./secret-gen.sh
    
    • 執行以下命令來建立祕密 Pod:

      kubectl create -f omsagentsecret.yaml
      
    • 若要檢查,請執行下列命令:

    kubectl get secrets
    
    NAME                  TYPE                                  DATA      AGE
    default-token-gvl91   kubernetes.io/service-account-token   3         50d
    omsagent-secret       Opaque                                2         1d
    root@ubuntu16-13db:~# kubectl describe secrets omsagent-secret
    Name:           omsagent-secret
    Namespace:      default
    Labels:         <none>
    Annotations:    <none>
    
    Type:   Opaque
    
    Data
    ====
    WSID:   36 bytes
    KEY:    88 bytes
    
    • 執行下列命令以建立您的 omsagent 精靈集:
    kubectl create -f omsagent-ds-secrets.yaml
    

結論

大功告成! 幾分鐘後,您應該可以看到資料流向您的 Log Analytics 儀表板。