Google Cloud Managed Service for Prometheus 是全代管的多雲解決方案,可跨專案使用,適用於 Prometheus 和 OpenTelemetry 指標。 Google Cloud您可以使用 Prometheus 和 OpenTelemetry 監控世界各地的部署項目並接收快訊,無須大規模管理及操作 Prometheus。
Managed Service for Prometheus 會從 Prometheus 匯出工具收集指標,並讓您使用 PromQL 全域查詢資料,因此您可以繼續使用任何現有的 Grafana 資訊主頁、以 PromQL 為基礎的快訊和工作流程。這項服務與混合雲和多雲相容,可監控 Kubernetes、VM 和 Cloud Run 上的無伺服器工作負載,並保留資料 24 個月,且與上游 Prometheus 相容,因此可維持可攜性。您也可以使用 PromQL 查詢 Cloud Monitoring 中超過 6,500 個免費指標 (包括免費的 GKE 系統指標),進一步強化 Prometheus 的監控功能。
本文將概略說明這項代管服務,其他文件則會介紹如何設定及執行這項服務。如要定期接收新功能和版本的最新消息,請提交選填的註冊表單。
瞭解 The Home Depot 如何使用 Managed Service for Prometheus,在 2,200 家商店的內部部署 Kubernetes 叢集上,取得統一的觀測資料:
系統總覽
Google Cloud Managed Service for Prometheus 採用 Cloud Monitoring 的全域、多雲端和跨專案基礎架構,讓您享有熟悉的 Prometheus 體驗。
Managed Service for Prometheus 的建構基礎為 Monarch,也就是 Google 自行監控時使用的全球可擴充資料儲存庫。由於 Managed Service for Prometheus 使用與 Cloud Monitoring 相同的後端和 API,因此您可以使用 Cloud Monitoring 中的 PromQL、Grafana 或任何其他可讀取 Prometheus API 的工具,查詢 Cloud Monitoring 指標和 Managed Service for Prometheus 擷取的指標。
在標準 Prometheus 部署作業中,資料收集、查詢評估、規則和警報評估,以及資料儲存作業,全都在單一 Prometheus 伺服器中處理。Managed Service for Prometheus 會將這些函式的責任劃分為多個元件:
- 資料收集作業由代管收集器、自行部署的收集器、OpenTelemetry 收集器或作業套件代理程式處理,這些工具會抓取本機匯出工具,並將收集到的資料轉送至 Monarch。這些收集器可用於 Kubernetes、無伺服器和傳統 VM 工作負載,且可在任何地方執行,包括其他雲端和內部部署環境。
- 查詢評估是由 Monarch 處理,Monarch 會執行查詢,並合併所有 Google Cloud區域和最多 3,500 個Google Cloud 專案的結果。
- 規則和快訊評估作業可透過下列方式處理:在 Cloud Monitoring 中編寫 PromQL 快訊,並在雲端完整執行;或使用在本機執行及設定的規則評估器元件,針對全球 Monarch 資料儲存庫執行規則和快訊,並將觸發的快訊轉送至 Prometheus AlertManager。
- 資料儲存作業由 Monarch 處理,Monarch 會儲存所有 Prometheus 資料 24 個月,不收取額外費用。
Grafana 會連線至全球 Monarch 資料儲存庫,而不是連線至個別的 Prometheus 伺服器。如果您在所有部署作業中都設定了 Managed Service for Prometheus 收集器,這個 Grafana 執行個體就能整合顯示所有雲端中的所有指標。
資料收集
您可以使用下列四種模式的其中一種,搭配 Managed Service for Prometheus:代管資料收集、自行部署資料收集、OpenTelemetry Collector 或 Ops Agent。
Managed Service for Prometheus 提供運算子,可在 Kubernetes 環境中管理資料收集作業。建議您使用受管理收集功能,因為這樣就不必費心部署、擴充、分片、設定及維護 Prometheus 伺服器。代管收集功能支援 GKE 和非 GKE Kubernetes 環境。
使用自行部署的資料收集機制時,您可以照常管理 Prometheus 安裝作業。這與上游 Prometheus 的唯一差異在於,您執行的是 Managed Service for Prometheus 的替代二進位檔,而非上游 Prometheus 二進位檔。
OpenTelemetry Collector 可用於擷取 Prometheus 匯出工具,並將資料傳送至 Managed Service for Prometheus。OpenTelemetry 支援所有信號的單一代理程式策略,也就是說,在任何環境中,一個收集器可用於指標 (包括 Prometheus 指標)、記錄和追蹤。
您可以在任何 Compute Engine 執行個體上設定作業套件代理程式,以抓取 Prometheus 指標並傳送至全域資料存放區。使用代理程式可大幅簡化 VM 探索作業,且不必在 VM 環境中安裝、部署或設定 Prometheus。
如果 Cloud Run 服務會寫入 Prometheus 指標或 OTLP 指標,您可以使用補充資訊和 Managed Service for Prometheus,將指標傳送至 Cloud Monitoring。
- 如要從 Cloud Run 收集 Prometheus 指標,請使用 Prometheus 邊車容器。
- 如要從 Cloud Run 收集 OTLP 指標,請使用 OpenTelemetry Sidecar。
您可以在地端部署和任何雲端中,執行代管、自行部署和 OpenTelemetry 收集器。在 Google Cloud外部執行的收集器會將資料傳送至 Monarch,以供長期儲存和全域查詢。
選擇收取方式時,請考量下列事項:
代管型集合:
- Google 建議所有 Kubernetes 環境都採用這種做法。
- 使用 GKE UI、gcloud CLI、
kubectlCLI 或 Terraform 部署。