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 採用 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 處理,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 Collector:
- 單一收集器,可從任何環境收集指標 (包括 Prometheus 指標),並傳送至任何相容的後端。也可以用來收集記錄和追蹤記錄,並傳送至任何相容的後端,包括 Cloud Logging 和 Cloud Trace。
- 無論是手動或使用 Terraform,都可以部署在任何運算或 Kubernetes 環境中。可用於從無狀態環境 (例如 Cloud Run) 傳送指標。
- 擷取作業是透過收集器 Prometheus 接收器中的類似 Prometheus 設定進行設定。
- 支援以推送為基礎的指標收集模式。
- 中繼資料會使用資源偵測器處理器,從任何雲端注入。
- 您可以使用 Cloud Monitoring 快訊政策或獨立規則評估工具,執行規則和快訊。
- 最適合用於跨信號工作流程和範例等功能。
- 技術支援團隊提供的協助有限。 Google Cloud
作業套件代理程式:
- 這是最簡單的方法,可收集及傳送源自 Compute Engine 環境的 Prometheus 指標資料,包括 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。
您可以在 Cloud Monitoring 中使用 PromQL 查詢超過 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 中,就像直接收集的指標資料一樣。您也可以將 Prometheus 快訊規則遷移至 Cloud Monitoring 中以 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」分頁。
- 如需降低帳單金額或找出高費用來源的訣竅,請參閱費用控管和歸因。
- 如要瞭解定價模式的原理,請參閱「將 Google Cloud Managed Service for Prometheus 調整至最佳狀態以控管成本」一文。
- 如需計費示例,請參閱根據擷取的樣本數量計費的指標資料。
配額
Managed Service for Prometheus 與 Cloud Monitoring 共用擷取和讀取配額。每個專案的預設擷取配額為 500 QPS,單一呼叫最多可有 200 個樣本,相當於每秒 100,000 個樣本。預設讀取配額為每個指標範圍 100 QPS。
您可以提高這些配額,以支援指標和查詢量。如要瞭解如何管理配額及要求增加配額,請參閱「處理配額」。
服務條款和法規遵循
Managed Service for Prometheus 是 Cloud Monitoring 的一部分,因此會沿用 Cloud Monitoring 的特定協議和認證,包括 (但不限於):
後續步驟
- 開始使用代管集合。
- 開始使用自行部署的收集器。
- 開始使用 OpenTelemetry Collector。
- 開始使用 Ops Agent。
- 在 Cloud Monitoring 中使用 PromQL 查詢 Prometheus 指標。
- 使用 Grafana 查詢 Prometheus 指標。
- 使用 PromQL 查詢 Cloud Monitoring 指標。
- 請參閱最佳做法和架構圖。