Google Cloud Managed Service for Prometheus 是 Google Cloud的全代管、多雲端、跨專案解決方案,適用於 Prometheus 和 OpenTelemetry 指標。可讓您使用 Prometheus 和 OpenTelemetry 監控全球工作負載並發出快訊,無須大規模管理及操作 Prometheus。
Managed Service for Prometheus 會從 Prometheus 匯出工具收集指標,並讓您使用 PromQL 查詢全球資料,也就是說,您可以繼續使用任何現有的 Grafana 資訊主頁、PromQL 型快訊和工作流程。這項服務支援混合式和多雲端,可監控 Cloud Run 上的 Kubernetes、VM 和無伺服器工作負載,保留資料 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 可讓您享有 Prometheus 的優勢,並且受到 Cloud Monitoring 的全球、多雲端和跨專案基礎架構支援。
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 處理,可在所有 Google Cloud區域和最多 3,500 個Google Cloud 專案中執行查詢和聯合結果。
- 規則和快訊評估可透過以下方式處理:在 Cloud Monitoring 中編寫 PromQL 快訊 (在雲端完全執行),或是使用本機執行且在本機設定的規則評估器元件,針對全球 Monarch 資料儲存庫執行規則和快訊,並將任何觸發的快訊轉送至 Prometheus AlertManager。
- 資料儲存空間由 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 輔助程式。
您可以在地端部署和任何雲端上執行代管、自行部署和 OpenTelemetry 收集器。在 Google Cloud外執行的收集器會將資料傳送至 Monarch,以便長期儲存和全域查詢。
選擇收集資料的選項時,請考量下列事項:
代管集合:
- Google 針對所有 Kubernetes 環境建議採用的做法。
- 使用 GKE UI、gcloud CLI、
kubectl
CLI 或 Terraform 部署。 - Kubernetes 作業員會全權處理 Prometheus 作業,包括產生刮除設定、擴大攝入量、將規則範圍設為正確資料等等。
- 系統會使用輕量級自訂資源 (CR) 設定抓取作業和規則。
- 適合希望享有全代管服務的使用者。
- 從 prometheus-operator 設定進行直覺式遷移。
- 支援目前 Prometheus 的大多數用途。
- Google Cloud 技術支援人員提供完整協助。
自行部署的收集作業:
- 可直接取代上游 Prometheus 二進位檔。
- 您可以使用偏好的部署機制,例如 prometheus-operator 或手動部署。
- 您可以使用偏好的註解或 Prometheus 運算子等方法設定抓取作業。
- 您必須手動進行資源調度和功能性分割作業。
- 適合快速整合至更複雜的現有設定。您可以重複使用現有設定,並排執行上游 Prometheus 和 Managed Service for Prometheus。
- 規則和快訊通常會在個別 Prometheus 伺服器中執行,這類伺服器可能較適合邊緣部署,因為本地規則評估不會產生任何網路流量。
- 可能支援受控集合尚未支援的長尾用途,例如本機匯總,以減少基數。
- Google Cloud 技術支援團隊提供的協助有限。
OpenTelemetry 收集器:
- 單一收集器,可從任何環境收集指標 (包括 Prometheus 指標),並將指標傳送至任何相容的後端。也可以用來收集記錄和追蹤記錄,並將其傳送至任何相容的後端,包括 Cloud Logging 和 Cloud Trace。
- 在任何運算或 Kubernetes 環境中手動部署或使用 Terraform 部署。可用於從無狀態環境 (例如 Cloud Run) 傳送指標。
- 收集器的 Prometheus 接收器會使用類似 Prometheus 的設定來設定刮除作業。
- 支援以推送為基礎的指標收集模式。
- 使用資源偵測器處理器,從任何雲端注入中繼資料。
- 您可以使用 Cloud Monitoring 快訊政策或獨立規則評估工具執行規則和快訊。
- 最適合跨信號工作流程和範例等功能。
- Google Cloud 技術支援團隊提供的協助有限。
作業套件代理程式:
- 這是收集及傳送 Prometheus 指標資料的簡單方法,這些資料來自 Compute Engine 環境,包括 Linux 和 Windows 發行版。
- 使用 gcloud CLI、Compute Engine UI 或 Terraform 部署。
- 在代理程式的 Prometheus 接收器中,使用類似 Prometheus 的設定來設定內容抓取作業,並由 OpenTelemetry 提供支援。
- 您可以使用 Cloud Monitoring 或獨立規則評估器執行規則和快訊。
- 內含選用的記錄代理程式和程序指標。
- Google Cloud 技術支援團隊提供完整協助。如要開始使用,請參閱「開始使用代管集合」、「開始使用自行部署的收集功能」、「開始使用 OpenTelemetry Collector」或「開始使用 Ops Agent」。
如果您在 Google Kubernetes Engine 或 Google Cloud以外使用代管服務,可能需要進行一些額外設定。請參閱「在 Google Cloud以外執行代管收集」、「在Google Cloud以外執行自行部署的收集」或「新增 OpenTelemetry 處理器」。
查詢評估
Managed Service for Prometheus 支援任何可呼叫 Prometheus 查詢 API 的查詢 UI,包括 Grafana 和 Cloud Monitoring UI。從本機 Prometheus 切換至 Managed Service for Prometheus 後,現有的 Grafana 資訊主頁仍可正常運作,您也可以繼續使用熱門開放原始碼存放區和社群論壇中的 PromQL。
您可以使用 PromQL 查詢 Cloud Monitoring 中的超過 6,500 個免付費指標,即使未將資料傳送至 Managed Service for Prometheus 也一樣。您也可以使用 PromQL 查詢免費的 Kubernetes 指標、自訂指標和記錄指標。
如要瞭解如何設定 Grafana 以查詢 Managed Service for Prometheus 資料,請參閱「使用 Grafana 進行查詢」。
如要瞭解如何使用 PromQL 查詢 Cloud Monitoring 指標,請參閱「Cloud Monitoring 中的 PromQL」。
規則和快訊評估
Managed Service for Prometheus 提供雲端式快訊管道和獨立規則評估器,兩者皆可根據指標範圍中可存取的所有 Monarch 資料評估規則。針對多專案指標範圍評估規則,可免除在單一 Prometheus 伺服器或單一 Google Cloud 專案中,同時放置所有相關資料的必要性,並讓您為專案群組設定 IAM 權限。
由於所有規則評估選項都接受標準 Prometheus rule_files
格式,因此您可以輕鬆遷移至 Managed Service for Prometheus,方法是複製並貼上現有規則,或是複製並貼上熱門開放原始碼存放區中的規則。如果您使用自行部署的收集器,則可繼續在收集器中本機評估錄製規則。錄製和快訊規則的結果會儲存在 Monarch 中,就像直接收集的指標資料一樣。您也可以在 Cloud Monitoring 中,將 Prometheus 快訊規則遷移至以 PromQL 為基礎的快訊政策。
如要瞭解如何使用 Cloud Monitoring 評估快訊,請參閱「Cloud Monitoring 中的 PromQL 快訊」。
如要瞭解如何評估採用代管集合的規則,請參閱「採用代管集合評估規則並發出警報」。
如要瞭解如何使用自行部署的收集器、OpenTelemetry Collector 和作業套件代理程式進行規則評估,請參閱「自行部署的規則評估和警示」。
如要瞭解如何在自行部署的收集器上使用記錄規則來減少基數,請參閱「費用控管和歸因」一文。
資料儲存
所有 Managed Service for Prometheus 資料都會儲存 24 個月,且無須額外付費。
Managed Service for Prometheus 支援 5 秒的最低刮除間隔。資料會以完整細節儲存 1 週,然後在接下來的 5 週內降採樣至 1 分鐘點,再降採樣至 10 分鐘點,並在保留期間的剩餘時間內儲存。
Managed Service for Prometheus 對有效時間序列或總時間序列的數量沒有限制。
詳情請參閱 Cloud Monitoring 說明文件中的配額與限制。
帳單與配額
Managed Service for Prometheus 是 Google Cloud 產品,因此適用帳單和用量配額。
帳單
這項服務的計費依據主要是儲存空間中擷取的指標樣本數量。讀取 API 呼叫也會產生少許費用。Managed Service for Prometheus 不會針對儲存或保留指標資料收費。
- 如需瞭解目前的定價,請參閱 Google Cloud Managed Service for Prometheus 定價摘要。
- 如要根據預期的時間序列數量或每秒預期的樣本數,預估帳單費用,請參閱 Google Cloud Pricing Calculator 中的 Cloud Operations 分頁。
- 如需降低帳單金額或判斷高費用來源的訣竅,請參閱「費用控管和歸因」。
- 如要瞭解定價模式的理由,請參閱「可控管性與可預測性的定價」。
- 如需計費示例,請參閱「根據已擷取的樣本數量計費範例」。
配額
Managed Service for Prometheus 會與 Cloud Monitoring 共用攝入和讀取配額。每個專案的預設攝取配額為 500 QPS,單一呼叫最多可攝取 200 個樣本,相當於每秒 100,000 個樣本。預設讀取配額為每個指標範圍 100 QPS。
您可以調高這些配額,以支援指標和查詢的數量。如要瞭解如何管理配額及要求提高配額,請參閱「處理配額」。
服務條款和遵循規定
Managed Service for Prometheus 是 Cloud Monitoring 的一部分,因此會繼承 Cloud Monitoring 的特定協議和認證,包括 (但不限於) 以下項目:
後續步驟
- 開始使用代管集合。
- 開始使用自行部署的收集資料。
- 開始使用 OpenTelemetry 收集器。
- 開始使用Ops Agent。
- 在 Cloud Monitoring 中使用 PromQL 查詢 Prometheus 指標。
- 使用 Grafana 查詢 Prometheus 指標。
- 使用 PromQL 查詢 Cloud Monitoring 指標。
- 請參閱最佳做法和架構圖表。