記錄和監控

Google Distributed Cloud (僅限軟體) for VMware 提供多種叢集記錄和監控選項,包括雲端代管服務、開放原始碼工具,以及通過驗證的第三方商業解決方案相容性。本文將說明這些選項,並提供基本指引,協助您為環境選取合適的解決方案。

Google Distributed Cloud 選項

您可以透過下列幾種方式記錄及監控 Google Distributed Cloud:

Cloud Logging 和 Cloud Monitoring

Google Cloud Observability (原名為 Stackdriver) 是Google Cloud的內建觀測解決方案,提供全代管記錄解決方案、指標收集、監控、資訊主頁和快訊功能。Cloud Monitoring 監控 Google Distributed Cloud 叢集的方式,與監控雲端 GKE 叢集類似。

您可以設定叢內代理程式的監控和記錄範圍,以及收集的指標層級:

  • 記錄和監控範圍可以只設為系統元件 (預設),也可以設為系統元件和應用程式
  • 您可以設定要收集的指標層級,以取得最佳化指標組合或完整指標

詳情請參閱本文的「為 Anthos clusters on VMware 設定記錄和監控代理程式」一節。

Cloud Logging 和 Cloud Monitoring 是理想的解決方案,可供客戶輕鬆設定功能強大的單一雲端式觀測解決方案。如果只在 Google Distributed Cloud 上執行工作負載,或是在 GKE 和 Google Distributed Cloud 上執行工作負載,我們強烈建議使用記錄和監控功能。如果應用程式的元件是在 Google Distributed Cloud 和傳統地端基礎架構上執行,您可能需要考慮其他解決方案,才能取得這些應用程式的端對端檢視畫面。

第三方解決方案

Google 與多家第三方記錄和監控解決方案供應商合作,確保他們的產品能與 Google Distributed Cloud 順暢搭配使用。包括 Datadog、Elastic 和 Splunk。日後還會新增其他經過驗證的第三方。

如要進一步瞭解如何搭配使用第三方解決方案與 Google Distributed Cloud,請參閱下列文章:

Google Distributed Cloud 的記錄與監控功能運作方式

建立新的管理員或使用者叢集時,系統會在每個叢集中安裝並啟用記錄和監控代理程式。代理程式會收集系統元件的資料,您可以設定資料範圍。

如要在 Google Cloud 控制台中查看收集到的資料,您必須設定 Google Cloud 專案,儲存要查看的記錄和指標。

每個叢集上的記錄和監控代理程式包括:

  • GKE 指標代理程式 (gke-metrics-agent):將指標傳送至 Cloud Monitoring API 的 DaemonSet。

  • 記錄轉送器 (stackdriver-log-forwarder):Fluent Bit DaemonSet,可將每部機器的記錄轉送至 Cloud Logging。記錄轉送器會在節點上緩衝處理記錄項目,並重新傳送最多四小時。如果緩衝區已滿,或記錄檔轉送器無法連線至 Cloud Logging API 超過四小時,系統就會捨棄記錄檔。

  • 全域 GKE 指標代理程式 (gke-metrics-agent-global)。這項 Deployment 會將指標傳送至 Cloud Monitoring API。

  • 中繼資料代理程式 (stackdriver-metadata-agent):將 Kubernetes 資源 (例如 Pod、部署或節點) 的中繼資料傳送至 Stackdriver 資源中繼資料 API 的 Deployment;這項資料可用於擴充指標查詢,讓您依部署名稱、節點名稱,甚至是 Kubernetes 服務名稱進行查詢。

  • kube-state-metrics:Deployment,會監聽 API 伺服器,並產生物件狀態的指標。

  • node-exporter:產生硬體和 OS 指標的 DaemonSet。

執行下列指令即可查看所有部署代理程式:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get deployments -l "managed-by=stackdriver" --all-namespaces

其中 CLUSTER_KUBECONFIG 是叢集 kubeconfig 檔案的路徑。

這個指令會輸出類似以下的結果:

gke-metrics-agent-global                      1/1     Running   0   4h31m
stackdriver-metadata-agent-cluster-level      1/1     Running   0   4h31m

如要查看所有 DaemonSet 代理程式,請執行下列指令:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get daemonsets -l "managed-by=stackdriver" --all-namespaces

這個指令會輸出類似以下的結果:

gke-metrics-agent                             1/1     Running   0   4h31m
stackdriver-log-forwarder                     1/1     Running   0   4h31m

為 Google Distributed Cloud 設定記錄和監控代理程式

Google Distributed Cloud 安裝的代理程式會收集系統元件的資料,但須遵守您的設定和配置,目的是維護叢集並排解相關問題。

僅限系統元件 (預設範圍)

安裝後,代理程式會收集記錄和指標,包括 Google 提供的系統元件的效能詳細資料 (例如 CPU 和記憶體使用率) 和類似的中繼資料。包括管理員叢集中的所有工作負載,以及使用者叢集中 kube-system、gke-system、gke-connect、istio-system 和 config-management-system 命名空間中的工作負載。您可以按照下列各節的說明設定或停用代理程式。

收集的記錄和指標範圍可擴大,納入應用程式。如需啟用應用程式記錄與監控功能的操作說明,請參閱「啟用使用者應用程式的記錄與監控功能」。

最佳化指標 (預設指標)

根據預設,叢集中執行的指標代理程式會收集並回報一組經過最佳化的容器、kubelet 和 kube-state-metrics 指標至 Google Cloud Observability (原稱 Stackdriver)。

收集這組最佳化指標所需的資源較少,因此可提升整體效能和延展性。由於要監控的物件數量龐大,因此這對容器層級和 Kube 層級的指標尤其重要。

如要停用最佳化 kube-state-metrics 指標 (不建議),請在 Stackdriver 自訂資源中將 optimizedMetrics 欄位設為 false。如要進一步瞭解如何變更 Stackdriver 自訂資源,請參閱設定 Stackdriver 元件資源。所有 Google Distributed Cloud 指標 (包括預設排除的指標) 都說明於「GKE Enterprise 指標」一文。

啟用及停用 Stackdriver

您可以啟用或停用 Stackdriver 自訂資源,完全啟用或停用記錄和監控代理程式。這項功能目前為預先發布版。

停用記錄和監控代理程式前,請參閱支援頁面,瞭解這項操作對支援服務 SLA 的影響。 Google Cloud

記錄與監控代理程式會擷取本機儲存的資料,但須遵守儲存和保留設定。資料會使用有權將資料寫入該專案的服務帳戶,複製到安裝時指定的 Google Cloud專案。如先前所述,你隨時可以停用這些代理程式。

您也可以管理及刪除記錄和監控代理程式傳送至 Cloud Logging 和 Cloud Monitoring 的資料。詳情請參閱 Cloud Monitoring 說明文件

記錄與監控功能的設定需求

如要查看 Cloud Logging 和 Cloud Monitoring 資料,請設定 Google Cloud 專案,儲存您要查看的記錄和指標。這個 Google Cloud 專案稱為「記錄與監控專案」

  1. 在記錄與監控專案中啟用下列 API:

  2. 在記錄與監控專案中,將下列 IAM 角色授予記錄與監控服務帳戶

    • logging.logWriter
    • monitoring.metricWriter
    • stackdriver.resourceMetadata.writer
    • monitoring.dashboardEditor
    • opsconfigmonitoring.resourceMetadata.writer

記錄標記

許多 Google Distributed Cloud 記錄檔都含有 F 標記:

logtag: "F"

這個標記表示記錄項目完整或完整。如要進一步瞭解這個標記,請參閱 GitHub 上 Kubernetes 設計提案中的「記錄格式」。

定價

如果是 GKE Enterprise 叢集,控制層指標、精選 Kube State MetricscAdvisor/Kubelet 指標DCGM 指標皆不收費。系統記錄、控制層記錄和工作負載記錄會產生Cloud Logging 費用。 對於在啟用 GKE Enterprise 的專案中,於叢集建立時註冊的 Google Cloud 上的 GKE 叢集,系統會預設啟用控制層記錄、控制層指標、Kube State Metrics、cAdvisor/Kubelet 指標和 DCGM 指標。如要查看包含的 GKE 記錄和指標清單,請參閱「收集的記錄」和「可用指標」。

在 Google Distributed Cloud 叢集中,GKE Enterprise 系統記錄檔和指標 (包括下列項目) 不會產生費用:

  • 來自管理員叢集中所有元件的記錄檔和指標。
  • 來自使用者叢集中這些命名空間元件的記錄檔和指標:kube-systemgke-systemgke-connectknative-servingistio-systemmonitoring-systemconfig-management-systemgatekeeper-systemcnrm-system

詳情請參閱 Google Cloud Observability 定價

如要瞭解 Cloud Logging 指標的抵免額,請與銷售人員聯絡以取得定價資訊

後續步驟