Amazon Managed Service for Prometheus 定价

为什么选择 Amazon Managed Service for Prometheus?

使用 Amazon Managed Service for Prometheus,没有预付费用,也无需订立合约。您只需根据摄取、查询、存储和收集的指标,按实际用量付费。费用将在每月月末按实际用量收取。

Amazon Managed Service for Prometheus 现已全面推出。我们针对收集、摄取、存储和查询的指标的使用量收费。我们将根据下面的定价表向客户收费。

AWS 定价计算器

在单次估计中计算 Amazon Managed Service for Prometheus 成本。

立即创建您的自定义估计

定价

Amazon Managed Service for Prometheus 会对摄取到兼容 Prometheus 的安全端点的每个指标样本进行计数。Amazon Managed Service for Prometheus 还以千兆字节(GB)计算存储的指标样本和指标元数据,其中 1GB 表示 230 字节。存储费用由 Prometheus 指标样本(通常为 1 或 2 字节)和元数据决定。Prometheus 指标元数据的大小因指标的名称及其关联标签(键/值对)而异。 摄取和存储的指标的费用以小时为单位按比例分配,并且仅在您向 Amazon Managed Service for Prometheus 发送指标时才计费。请注意,AMP 无任何数据传入费用。

Amazon Managed Service for Prometheus 对来自所有 QueryMetric API 请求的已处理的查询样本 (QSP) 进行计量。QSP 是在给定时间范围内使用 Prometheus Query Language(PromQL)查询的数据点总数。

对于 Amazon Managed Service for Prometheus 收集器,您需要根据其打开的小时数和收集的样本数量付费。

将 Amazon Virtual Private Cloud(VPC)或 VPC 对等连接与 Amazon Managed Service for Prometheus 收集器结合使用将产生额外的费用,如 Amazon Elastic Compute Cloud(EC2)按需定价页面上所述。

除非另行说明,否则我们的价格不包括适用的税费和关税(包括增值税、商品和服务税以及适用的销售税)。

AWS Free Tier

作为 AWS Free Tier 的一部分,您可以免费开始使用 Amazon Managed Service for Prometheus(在支持的 AWS 区域)。Free Tier 客户可获得:

摄取的指标样本 40M
已处理的查询样本 200B
存储的指标 10GB

此处详细了解 AWS Free Tier。

定价示例

注意:此处显示的定价值仅为示例。

示例 1 - EC2 和 Kubernetes 上的 Amazon Elastic Kubernetes Service(EKS)

在此示例中,您将监控 1 个 Kubernetes 集群,其中有 10 个节点,每个节点在整个月(744 小时)内每 30 秒收集 1000 个 Prometheus 指标。 此示例未考虑您的 AWS Free Tier 权益。以下使用情况和成本将针对 1) 指标样本摄取,2) 存储和 3) 查询进行计算。

指标样本摄取的使用情况和成本
首先,我们将计算摄取的指标样本数量以及这些样本的成本。每月采集的样本数为 8.928 亿个样本(10 个节点 * 每个节点 1000 个指标/30 秒收集间隔 * 一小时 3600 秒 * 一个月 744 小时 = 10 * 1000/30 * 3600 * 744 = 8.928 亿个样本)。

每月指标摄取成本为 80.93 美元(前 20 亿个指标样本为 0.90/10000000 美元 * 8.928 亿个样本)。

存储使用情况成本
其次,我们将以 GB 为单位计算存储空间以及存储的指标样本和指标元数据的成本。在此示例中,我们假设每个指标有 20 个标签,每个标签有 100 个唯一的标签值。每天都会存储包括指标名称、标签和标签值在内的元数据。我们还假设每个标签和标签值的平均摄取量为 30 字节,每个指标样本的平均摄取量为 2 字节。

每月存储空间的 GB 为 0.25 GB(指标元数据 * 每月天数)+(2 字节 * 指标样本数) =(1000 个指标 * 20 个标签 * 100 个标签值 * 30 字节 * 每月约 30 天)+(2 字节 * 8.928 亿样本)= 18 亿字节 + 17.856 亿字节 = 35.856 亿字节 = 3.34GB)。

存储费用为 0.10 美元(0.03 美元/GB * 3.34 GB)。

查询使用情况和成本
现在,我们将计算此示例的已处理的查询样本和查询成本。我们假设您有 1 个最终用户每天平均监视控制面板 2 小时,每 60 秒刷新一次,每个控制面板 20 个图表小组件(假设每个小组件 1 个 PromQL 查询)。在此示例中,我们将假设每个查询处理的样本为 100000。

首先,先计算每月的查询次数,即 72000 次查询(1 个最终用户 * 20 个图表 * 2 小时查看控制面板 * 每小时 3600 秒/每次控制面板刷新 60 秒 * 一个月约 30 天)。

其次,我们计算每月处理的查询样本为 72 亿(72000 次查询 * 100000/查询)

我们现在可以计算出查询费用为 0.72 美元(0.10 美元/10 亿个已处理样本 * 72 亿个已处理样本)。

现在,我们可以计算出此示例中的每月成本

  • 指标摄取成本:80.93 美元(0.90 美元/1000 万 * 8.928 亿个样本)
  • 存储成本:0.10 美元(0.03 美元/GB * 3.34GB)
  • 查询成本:0.72 美元(0.10 美元/10 亿个已处理样本 * 72 亿个已处理样本)

每月总费用 = 80.93 美元(指标摄取)+ 0.10 美元(存储)+ 0.72 美元(查询)= 81.75 美元

示例 2 — 使用 Amazon Managed Service for Prometheus 从 Amazon Elastic Kubernetes Service(EKS)收集 Prometheus 指标

在此示例中,您将监控 1 个 Kubernetes 集群,其中有 10 个节点,Amazon Managed Service for Prometheus 在整个月(744 小时)内每 30 秒收集 1000 个 Prometheus 指标。将计算以下使用量和成本:1) 指标样本摄取,2) 存储,以及 3) 收集的 Amazon Managed Service for Prometheus 收集器样本和收集器使用小时数。 

指标样本摄取的使用情况和成本
首先,我们将计算摄取的指标样本数量以及这些样本的成本。每月采集的样本数为 8.928 亿个样本(10 个节点 * 每个节点 1000 个指标/30 秒收集间隔 * 一小时 3600 秒 * 一个月 744 小时 = 10 * 1000/30 * 3600 * 744 = 8.928 亿个样本)。

每月指标摄取成本为 80.93 美元(前 20 亿个指标样本为 0.90/10000000 美元 * 8.928 亿个样本)。

存储使用情况成本
其次,我们将以 GB 为单位计算存储空间以及存储的指标样本和指标元数据的成本。在此示例中,我们假设每个指标有 20 个标签,每个标签有 100 个唯一的标签值。每天都会存储包括指标名称、标签和标签值在内的元数据。我们还假设每个标签和标签值的平均摄取量为 30 字节,每个指标样本的平均摄取量为 2 字节。

每月存储空间的 GB 为 0.25 GB(指标元数据 * 每月天数)+(2 字节 * 指标样本数) =(1000 个指标 * 20 个标签 * 100 个标签值 * 30 字节 * 每月约 30 天)+(2 字节 * 8.928 亿样本)= 18 亿字节 + 17.856 亿字节 = 35.856 亿字节 = 3.34GB)。

存储费用为 0.10 美元(0.03 美元/GB * 3.34 GB)。

收集的样本和收集器的小时成本
第三,我们将计算收集器的小时成本。无代理收集器每小时收费 0.04 USD,每收集 1000 万份样本的费用为 0.03 USD,我们假设单个 EKS 集群需要一个收集器。假设一个月有 744 个小时,则每月成本为:1 * 0.04 USD * 744 + 0.03 USD * 8.928 亿个样本/1000 万 = 32.44 USD。

无代理收集器的费用为 32.44 USD。 

现在,我们可以计算出此示例中的每月成本

  • 指标摄取成本:80.93 美元(0.90 美元/1000 万 * 8.928 亿个样本)
  • 存储成本:0.10 USD(0.03 USD/GB * 3.34GB)
  • 无代理收集器的费用:32.44 USD(每个收集器每小时 0.04 USD * 744 小时 + 0.03 USD * 8.928 亿个样本/1000 万)

总成本:113.47 USD

示例 3 — 计算已处理的查询样本(QSP)和成本

在此示例中,您将运行一个查询,计算过去一小时内 10000 个节点的 CPU,并每分钟运行一条警报规则,在其中一个节点超过 80% 的 CPU 容量时向您发出通知。此示例未考虑您的 AWS Free Tier 权益。我们将计算运行查询和警报规则的使用情况和成本。

查询使用情况和成本
首先,我们通过识别指标时间序列的数量和提供的时间范围,计算单个查询处理的样本数量。指标时间序列由其指标名称和键值对进行标识。在此示例中,每个节点都有一个 CPU 指标,从而生成一个在 1 小时时间范围内处理 10000 个指标时间序列的查询。Prometheus 查询在每个解决方案步骤中处理一个样本,这是任意两个数据点之间的最短时间。例如,我们假设步骤时间长度为 1 分钟,即在时间范围内每分钟 1 个样本。即,10000 个时间序列 x 1 小时 x 1 个样本/分钟 x 60 分钟/小时 = 600000 个样本/查询。

假设您运行了 1000 次查询,则成本将为 0.06 美元(0.10 美元/10 亿个已处理样本 * 0.0006 亿个样本 * 1000 个查询)。

警报规则的使用情况和成本
我们通过识别所选指标时间序列的数量,计算规则每次评估处理的样本数量。由于该规则为每个节点标识一个 CPU 指标时间序列,因此每次评估都会处理 10000 个时间序列。Prometheus 中的警报规则以即时查询的形式运行,即在单个时间点进行评估的查询。因此,此警报规则评估 10000 个时间序列 x 1 个样本/时间序列 = 10000 个样本。由于此警报每分钟运行一次,因此此警报规则处理 10000 个样本 x 60 分钟/小时 x 730 小时/月 = 4.38 亿个样本/月。

此警报规则的成本为每月 0.04 美元(0.10 美元/10 亿个已处理样本 * 4.38 亿个样本)。