Google Cloud Managed Service for Prometheus

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Google Cloud Managed Service for Prometheus 是针对 Prometheus 指标的 Google Cloud 全代管式多云解决方案。您可以使用 Prometheus 全局监控工作负载并发出提醒,而无需大规模手动管理和操作 Prometheus。

Managed Service for Prometheus 会从 Prometheus 导出器中收集指标,并支持使用 PromQL 全局查询数据,这意味着您可以继续使用任何现有的 Grafana 信息中心、基于 PromQL 的提醒和工作流。它与混合云和多云兼容,可以监控 Kubernetes 和虚拟机工作负载,将数据保留 24 个月,并与上游 Prometheus 保持兼容以维持可移植性。您还可以使用 PromQL 在 Cloud Monitoring 中查询超过 1500 个免费指标(包括免费的 GKE 系统指标),作为 Prometheus 监控的补充。

本文档简要介绍代管式服务,此外还有其他文档介绍如何设置和运行该服务。如需定期接收新功能和版本的最新动态,请提交可选的注册表单

了解家得宝公司如何使用 Managed Service for Prometheus 在运行 Kubernetes 本地集群的 2,200 家门店中统一可观测性:

系统概览

Managed Service for Prometheus 可让您使用 Prometheus 和 Cloud Monitoring 的功能。

Managed Service for Prometheus 基于 Monarch 构建。Monarch 是可全局扩缩的数据存储区,Google 将其用于自己的监控服务。由于它使用与 Cloud Monitoring 相同的后端和 API,因此所有 Cloud Monitoring 指标数据均可使用 PromQL 查询,所有 Managed Service for Prometheus 数据均可使用 Cloud Monitoring 查询

在标准 Prometheus 部署中,数据收集、查询评估、规则和提醒评估,以及数据存储都在单个 Prometheus 服务器中处理。Managed Service for Prometheus 将这些功能的责任拆分为多个组件:

  • 数据收集由代管式或自部署的收集器处理,这些收集器会抓取本地导出器,并将收集到的数据转发到 Monarch。这些收集器可用于 Kubernetes 和传统工作负载,并且可以在任何地方运行,包括其他云和本地部署。
  • 查询评估由 Monarch 处理,它会在所有 Google Cloud 区域和多达 1,000 个 Google Cloud 项目中执行查询并联合结果。
  • 规则和提醒评估由本地运行和本地配置的规则评估器组件处理,这些组件针对全局 Monarch 数据存储区执行规则和提醒,并将所有触发的提醒转发到 Prometheus AlertManager
  • 数据存储由 Monarch 处理,它会将所有 Prometheus 数据存储 24 个月,不产生额外费用。

Grafana 连接到全局 Monarch 数据存储区,而不是连接到各个 Prometheus 服务器。如果您在所有部署中配置了 Managed Service for Prometheus 收集器,则此单个 Grafana 实例可让您集中查看所有云中的所有指标。

数据收集

您可以通过以下两种方式使用 Managed Service for Prometheus:使用代管式数据收集或使用自部署数据收集

Managed Service for Prometheus 为 Kubernetes 环境中的代管式数据收集提供 operator。我们建议您使用代管式收集;使用它可使您免于部署、扩缩、分片、配置和维护 Prometheus 服务器。GKE 和非 GKE Kubernetes 环境均支持代管式收集。

借助自部署数据收集,您可以像往常一样管理 Prometheus 安装。它与上游 Prometheus 的唯一区别在于,您运行Managed Service for Prometheus 直接替换二进制文件,而不是上游 Prometheus 二进制文件。

您可以在本地部署和任何云中运行任一收集选项。在 Google Cloud 外部运行的收集器会将数据发送到 Monarch,以进行长期存储和全局查询。

在选择代管式收集和自部署收集时,请考虑以下事项:

  • 代管式收集:

    • Google 推荐在所有 Kubernetes 环境中使用的方法。
    • 使用 GKE 界面、gcloud CLI、kubectl CLI 或 Terraform 进行部署。
    • Prometheus 的操作(生成抓取配置、扩缩注入、将规则的范围限定到正确的数据等等)完全由 Kubernetes operator 处理。
    • 使用轻量级自定义资源 (CR) 配置抓取和规则。
    • 适合希望享受自动化程度更高的全代管式体验的用户。
    • 通过 prometheus-operator 配置进行直观迁移。
    • 支持最新的 Prometheus 使用场景。
  • 自部署收集:

    • 可以直接替代上游 Prometheus 二进制文件。
    • 您可以使用自己偏好的部署机制,例如 prometheus-operator 或手动部署。
    • 使用偏好的方法(如注解或 prometheus-operator)配置抓取。
    • 扩缩和功能分片是手动完成的。
    • 适合快速集成到更复杂的现有设置中。您可以重复使用现有配置,并行运行上游 Prometheus 和 Managed Service for Prometheus。
    • 规则和提醒通常在单独的 Prometheus 服务器中运行,可能更适合边缘部署,因为本地规则评估不会产生任何网络流量。
    • 可能支持代管式收集尚不支持的长尾用例,例如用于减少基数的局部聚合

如需开始使用,请参阅代管式收集使用入门自部署收集使用入门

如果您在 Google Kubernetes Engine 或 Google Cloud 之外使用托管式服务,则可能需要进行一些其他配置;具体请参阅在 Google Cloud 之外运行代管式收集在 Google Cloud 之外运行自部署收集

查询评估

Managed Service for Prometheus 支持可调用 Prometheus 查询 API 的任何查询界面,包括 Grafana 和 Cloud Monitoring 界面。从本地 Prometheus 切换到 Managed Service for Prometheus 时,现有 Grafana 信息中心会继续运行;您可以继续使用热门开源代码库和社区论坛中的 PromQL。

您可以使用 PromQL 在 Cloud Monitoring 中查询超过 1,500 个免费指标,甚至无需将数据发送到 Managed Service for Prometheus。您还可以使用 PromQL 查询免费的 Kubernetes 指标自定义指标基于日志的指标

如需了解如何配置 Grafana 以查询 Managed Service for Prometheus 数据,请参阅配置查询界面

如需了解如何使用 PromQL 查询 Cloud Monitoring 指标,请参阅适用于 Cloud Monitoring 指标的 PromQL

规则和提醒评估

Managed Service for Prometheus 提供独立规则评估器,用于针对指标范围中可访问的所有 Monarch 数据评估记录和提醒规则。如果针对多项目指标范围评估规则,您就无需将感兴趣的所有数据共同存储在单个 Prometheus 服务器或单个 Google Cloud 项目中,而且还可以在群组或者项目上设置 IAM 权限。

由于规则评估器接受标准 Prometheus rule_files 格式,因此您可以复制粘贴现有规则或复制粘贴热门开源代码库中的规则,从而轻松迁移到 Managed Service for Prometheus。如果使用自部署收集器,您可以继续在收集器中本地评估记录规则。记录和提醒规则的结果存储在 Monarch 中,就像直接收集的指标数据一样。

如需了解如何使用代管式收集进行规则评估,请参阅代管式规则评估和提醒

如需了解如何使用自部署收集进行规则评估,请参阅自部署规则评估和提醒

如需了解如何使用自部署收集器的记录规则来减少基数,请参阅费用控制和归因

数据存储

所有 Managed Service for Prometheus 数据都会存储 24 个月,且无额外费用。

Managed Service for Prometheus 支持最短 5 秒的抓取间隔。数据会以完整的粒度保存 1 周,然后降采样为 1 分钟时间点并保存 5 周,然后降采样为 10 分钟时间点并保存剩余的保留期限。

Managed Service for Prometheus 对活跃时序数或时序总数没有限制。

如需了解详情,请参阅 Cloud Monitoring 文档中的配额和限制

结算和配额

Managed Service for Prometheus 是一款 Google Cloud 产品,具有结算和用量配额。

结算

该服务的结算主要取决于提取到存储空间中的指标样本数量。读取 API 调用还存在名义费用。Managed Service for Prometheus 不收取指标数据的存储或保留费用。

配额

Managed Service for Prometheus 与 Cloud Monitoring 共享注入和读取配额。默认注入配额为每个项目 500 QPS,一次调用最多可以包含 200 个样本,相当于每秒 10 万个样本。默认读取配额为每个指标范围 100 QPS。

您可以增加这些配额以支持您的指标和查询量。如需了解如何管理配额及申请增加配额,请参阅使用配额

后续步骤