Google Cloud Managed Service per Prometheus

借助 Google Cloud Managed Service per Prometheus,您可以使用 Prometheus 大规模监控工作负载并发出提醒,而无需手动管理和操作 Prometheus。

本文档介绍了托管式服务的一些特征。 如需接收更新,请提交可选的注册表单

Managed Service for Prometheus 是 Google Cloud 针对 Prometheus 指标的全代管式存储和查询服务。此服务基于 Monarch,即与 Cloud Monitoring 相同的可全局扩缩的数据存储区。Prometheus 的瘦分支会替换现有的 Prometheus 部署并将数据发送到代管式服务,无需用户干预。然后,您可以通过代管式服务支持的 Prometheus Query API 和现有的 Cloud Monitoring 查询机制,使用 PromQL 来查询此数据。

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

该服务旨在直接替代Prometheus(用于替代 Thanos),同时允许您保留其现有的 Grafana 信息中心、基于 PromQL 的提醒和工作流。您可以在当前使用上游 Prometheus 的任意位置使用代管式 Prometheus 二进制文件。此收集器会保留所有常规 Prometheus 功能,例如本地存储和规则评估。

通过 Managed Service for Prometheus 收集数据

您可以通过以下两种方式使用 Managed Service for Prometheus:使用代管式数据收集或使用自部署数据收集。本文档介绍了各模式之间的差异。

Managed Service for Prometheus 为 Kubernetes 环境中的代管式数据集合提供运算符。我们建议您使用代管式集合;它降低了部署、扩缩、分片、配置和维护 Prometheus 服务器的复杂性。GKE 和非 GKE Kubernetes 环境均支持代管式集合。

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

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

  • 代管式收集:

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

    • Managed Service for Prometheus 二进制文件可以直接替代上游 Prometheus 二进制文件。
    • 您可以使用自己偏好的部署机制,例如 prometheus-operator 或手动部署。
    • 您可以使用首选方法(如注解或 prometheus-operator)配置爬取。
    • 扩缩和功能分片是手动完成的。
    • 适合快速集成到更复杂的现有设置中。您可以重复使用现有配置,并行运行上游 Prometheus 和 Managed Service for Prometheus。
    • 可能支持代管式集合尚不支持的使用场景,例如用于减少基数的本地聚合

    将数据流式传输到 Managed Service for Prometheus 会消耗额外的资源。如果您要手动部署收集器,我们建议将 CPU 和内存限额提高 5 倍,并根据实际使用情况调整限额。

Managed Service for Prometheus 和 Google Cloud

Managed Service for Prometheus 是一款 Google Cloud 产品,适用于某些结算和配额。

结算

该服务的结算主要取决于提取到存储空间中的指标样本数量。读取 API 调用还存在名义费用。Managed Service for Prometheus 不收取指标数据的存储或保留费用。 所有 Managed Service for Prometheus 数据都会保留 24 个月,且无额外费用。

配额

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

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

与上游 Prometheus 的互操作性

以下部分介绍了一些常见的 Prometheus 使用场景,以及 Managed Service for Prometheus 如何适用于这些使用场景。

现有 Prometheus 部署

Managed Service for Prometheus 会将适用于 Kubernetes 环境的代管式收集器添加到上游 Prometheus。代管式集合简化了 Prometheus 部署的设置和维护,如使用 Managed Service for Prometheus 收集数据中所述。如需了解设置说明,请参阅开始使用代管式集合

您还可以使用自部署收集方法运行代管式服务。您可以复制现有的部署配置,并将其与 Managed Service for Prometheus 容器映像或二进制文件搭配使用。所有现有配置和工作流将继续有效,并且您的数据会存储在 Monarch 中。 如需了解设置说明,请参阅自部署收集方法使用入门

如果您在 Google Kubernetes Engine 之外使用代管式服务,则可能需要进行一些其他配置;请参阅明确提供凭据

记录规则

您可以继续在收集器中本地评估记录规则。记录规则的结果存储在 Monarch 中,就像直接收集的指标数据一样。

Managed Service for Prometheus 还提供独立规则评估器,用于针对指标范围中可访问的所有数据评估记录和提醒规则。针对多项目指标范围评估规则后,无需将所有相关数据一起存储在单个 Prometheus 服务器或单个 Google Cloud 项目中。

限制导出的数据

对于大量数据,您可能需要阻止将某些时序发送到 Managed Service for Prometheus,以降低费用。您可以使用过滤功能来限制导出的数据。如需了解详情,请参阅过滤托管收集过滤自部署收集

联合服务器

我们不建议在联合服务器中使用 Managed Service for Prometheus 二进制文件。代管式服务可通过其可在全球范围内扩缩的存储来提供所有数据的全球视图。Prometheus 联合通常尝试解决缺少此类可扩缩存储空间的问题,因此联合和代管式服务代表实现指标数据全局视图的两种不同方法。

Managed Service for Prometheus 支持进行过滤,以限制导出到 Monarch 的指标。导出过滤具有与联合相同的配置语义,因此您可以将联合替换为导出过滤和局部聚合,以实现相同的目标。如需了解详情,请参阅配置局部聚合

后续步骤