本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解并优化 Amazon Managed Service for Prometheus 的成本
以下常见问题及其答案可能有助于了解和优化与 Amazon Managed Service for Prometheus 相关的成本。
哪些因素会增加我的成本?
对于大多数客户而言,指标摄取占据了大部分成本。查询使用率高的客户也会看到一些基于已处理的查询样本的成本,而指标存储仅占总成本的一小部分。有关每个的价格的更多信息,请参阅“Amazon Managed Service for Prometheus 产业页面”中的定价
降低成本的最佳方法是什么? 如何降低摄取成本?
摄取率(不是指标的存储)是大多数客户的主要成本。您可以通过降低收集频率(增加收集间隔)或减少摄入的活跃系列数量来降低摄取率。
您可以从收集代理增加收集(抓取)间隔:Prometheus 服务器(在代理模式下运行)和 Distro for (ADOT) 收集器都 OpenTelemetry支持 AWS 该配置。scrape_interval例如,将收集间隔从 30 秒增加到 60 秒会将摄取使用量减少一半。
您也可以使用 <relabel_config> 筛选发送到 Amazon Managed Service for Prometheus 的指标。有关在 Prometheus 代理配置中重新标记的更多信息,请参阅 https://prometheus。 io/docs/prometheus/latest/configuration/configuration/#relabel_config
降低我的查询成本的最佳方法是什么?
查询成本基于已处理的样本数量。您可以降低查询频率来降低查询成本。
要更深入地了解对您的查询费用影响最大的查询,请参阅在 Amazon Managed Service for Prometheus 中管理查询成本。
如果我缩短指标的保留期,这会有助于减少我的账单总额吗?
您可以缩短保留期,但是,这不太可能大幅降低成本。
有关如何配置工作区的保留期的信息,请参阅配置工作区。
如何降低警报查询成本?
警报功能会对数据进行查询,从而增加查询成本。以下是一些可以用来优化警报查询并降低成本的策略。
-
使用 Amazon Managed Service for Prometheus 警报 – Amazon Managed Service for Prometheus 外部的警报系统可能需要额外的查询来增加弹性或高可用性,因为外部服务会从多个可用区或区域查询指标。这包括在 Grafana 中发出警报,以实现高可用性。这可能会使您的成本增加三倍或更多。Amazon Managed Service for Prometheus 中的警报功能经过优化,将以最少的查询次数为您提供高可用性和弹性。
我们建议使用 Amazon Managed Service for Prometheus 中的原生警报,而不是外部警报系统。
-
优化警报间隔 - 优化警报查询的一种快速方法是增加自动刷新间隔。如果您有一个每分钟查询一次的警报,但只需要每五分钟查询一次,那么增加自动刷新时间间隔可以为您节省五倍的警报查询成本。
-
使用最佳回溯 - 查询中的回溯窗口越大,查询的成本就越高,因为它需要提取更多的数据。确保 PromQL 查询中的回溯窗口大小与需要警报的数据相匹配。例如,在下面的规则中,表达式包括一个十分钟的回溯窗口:
- alert: metric:alerting_rule expr: avg(rate(container_cpu_usage_seconds_total[10m])) > 0 for: 2m将
expr更改为avg(rate(container_cpu_usage_seconds_total[有助于降低查询成本。5m])) > 0
一般来说,查看您的警报规则,确保针对服务的最佳指标发出警报。在同一指标上创建重叠警报或提供相同信息的多个警报非常容易,尤其是当您随着时间的推移添加警报时。如果您发现经常有几组警报同时发出,您可以优化警报,不将所有警报都包括在内。
这些建议有助于您降低成本。最终,您必须在成本与创建一套正确的警报以了解系统状态之间取得平衡。
有关 Amazon Managed Service for Prometheus 中警报的更多信息,请参阅使用警报管理器在 Amazon Managed Service for Prometheus 中管理和转发警报。
我可以随时查看账单吗?
它会 AWS 成本和使用情况报告 跟踪您的 AWS 使用情况,并提供账单周期内与您的账户相关的预估费用。有关更多信息,请参阅什么是 AWS 成本和使用情况报告? 在《AWS 成本和使用情况报告用户指南》中
我可以使用哪些指标来监控我的成本?
您采集的指标样本是亚马逊 Prometheus 托管服务的主要成本驱动因素。摄取的样本数量直接决定了您的每月费用,因此监控和了解您的摄入模式至关重要。
AWS Cost Explorer是监控您的亚马逊托管服务 Prometheus 成本的真实来源。您可以从多个维度监控 Cost Explorer, day-by-day了解适用于Prometheus的亚马逊托管服务的历史和成本趋势,包括摄取的样本。AWS 成本异常检测还可以让您监控支出模式的意外变化。
使用IngestionRate指标提供了一种辅助方法来监控与成本直接相关的摄取趋势。IngestionRate用作附加指标的好处包括:
-
工作空间级别的跟踪 — 以每个工作空间为基础监控摄取情况,而不仅仅是账户级别。
-
精细可见性 — 每小时甚至每小时跟踪一次摄取模式, minute-by-minute以获得实时见解。
-
主动监控-设置 CloudWatch警报,在使用量峰值出现在账单中之前对其进行检测。
注意
IngestionRate可用于估算成本和趋势或归因每个工作空间的成本,但并非 100% 准确。由于IngestionRate报告每隔 1 分钟采样的平均速率,因此将该速率乘以时间可以得出摄取的样本的近似值,而不是确切的样本数。此外,Amaz CloudWatch on 的数据保留政策会影响历史查询的可用粒度,超过 63 天的数据间隔限制为 1 小时。
有关监控 Amazon Prometheus 托管服务指标的更多信息,请参阅。 CloudWatch 使用 CloudWatch 指标监控亚马逊托管服务的 Prometheus 资源
如何查看我的费用 AWS Cost Explorer?
作为亚马逊Prometheus托管服务费 AWS Cost Explorer 用的真实来源,提供您对Prometheus样本的亚马逊托管服务的实际账单使用量和费用,包括按月份和地区划分的历史账单数据。使用 Cost Explorer 查看最终账单金额和 day-by-day成本趋势。
要查看您的 Amazon Prometheus 托管服务费用,请执行以下操作:
访问权限 AWS Cost Explorer
-
登录到 AWS 管理控制台。
-
导航至 “账单和成本管理” 控制面板。
-
从左侧导航菜单中选择 Cos t Explorer。
-
选择 Launch Cost Explorer(如果你是第一次使用它)。
配置报告
-
将您的时间范围设置为所需的账单周期(例如,2025 年 3 月至 2026 年 2 月)。
-
在 “筛选器” 下,选择:
-
服务:选择 “适用于 Prometheus 的亚马逊托管服务”。
-
使用类型:筛选 “MetricSampleCount” 以隔离样本摄取费用。
-
对数据进行分组和查看
-
在 “分组依据” 下,选择 “区域” 以查看每个区域的成本和使用情况数据。
-
选择您的首选可视化效果(条形图、折线图或表格)。
-
选择 “应用” 以生成报告。
导出数据(可选)
-
选择右上角的下载 CSV 以导出数据。
-
CSV 文件将包含:账单周期、区域、使用类型、账单金额和使用量(计费样本数量)。
注意
Cost Explorer 的数据通常会延迟 24 小时。对于最新的账单周期,数据可能要等到第二天才可用。
如何计算一个月内摄入的样本数量?
您可以使用带有 Amazon CloudWatch 的IngestionRate指标来计算采集的大致样本数量。 AWS Command Line Interface这对于查看月度账单和了解跨工作空间的使用模式非常有用。
要检索摄取数据,请执行以下操作:
aws cloudwatch get-metric-data \ --regionyour-region\ --start-timestart-timestamp\ --end-timeend-timestamp\ --metric-data-queries '[ { "Id": "e1", "Expression": "SUM(METRICS())", "Period": 3600 }, { "Id": "ws1", "MetricStat": { "Metric": { "Namespace": "AWS/Usage", "MetricName": "ResourceCount", "Dimensions": [ {"Name": "Service", "Value": "Prometheus"}, {"Name": "Resource", "Value": "IngestionRate"}, {"Name": "Type", "Value": "Resource"}, {"Name": "Class", "Value": "None"}, {"Name": "ResourceId", "Value": "YOUR_AMP_WORKSPACE_ID"} ] }, "Period": 3600, "Stat": "Average" } } ]'
该命令返回每小时平均IngestionRate值,以每秒采样数为单位。要计算一个月内摄取的样本的大致数量,请将每个小时的数据点乘以 3600(每小时秒),得出该小时内摄取的样本,然后将该月所有每小时的总量相加:
Monthly samples ≈ Σ (hourly IngestionRate average × 3600)
例如,如果一个小时平均IngestionRate每秒返回 500 个样本,则该小时贡献了大约 500 × 3600 = 1,800,000 个样本。每月每小时重复此操作,然后将结果相加,得出大概的每月摄取次数。
关键参数:
-
Period: 3600(以秒为单位 1 小时) -
StartTime: 您的月初(例如,2026-02-01T00:00:00Z) -
EndTime: 您的月底(例如,2026-03-01T00:00:00Z) -
Stat: 平均
要找到您的工作空间,请执行 IDs以下操作:
aws amp list-workspaces --regionyour-region
使用工作空间 ID 筛选指标以仅显示指定工作空间的数据,而不是聚合该区域的所有 Prometheus 资源。
哪些数据粒度可用于历史成本分析?
Amaz CloudWatch on 的数据保留政策会影响历史查询的可用粒度:
-
存储时间@@ 少于 15 天的数据:以 1 分钟为间隔进行查询 (
Period: 60) -
15—63 天前的数据:以 5 分钟为间隔进行查询 (
Period: 300) -
超过 63 天的数据:限制在 1 小时间隔内 (
Period: 3600)
对于超过 63 天的历史分析, CloudWatch 自动将数据缩减至至少 1 小时的时间段。在查看超过 63 天的月份的账单时,必须使用每小时的汇总数据。月度样本计算使用这些小时平均值的数据点,将每个值相加乘以整个月的 3600。
这种精细度的降低进一步促成了为什么要为旧数据IngestionRate提供估算值而不是精确计数——请务必参阅 Cost Explorer 了解您的权威账单金额。
有关 CloudWatch 指标保留的更多详情,请参阅 Amazon CloudWatch 用户指南中的指标保留率。
监控亚马逊托管服务 Prometheus 成本的最佳做法是什么?
为了有效管理和优化您的 Amazon 托管服务 Prometheus 支出,请考虑实施以下监控实践:
-
定期监控 Cost Explorer,跟踪实际支出趋势,识别多个维度的成本异常,包括摄取的样本。
-
启用 “ AWS 成本异常检测” 以接收提醒,提醒您的亚马逊托管服务 Prometheus 支出出现意外成本增加。
-
将 CloudWatch 警报设置
IngestionRate为开启,以便在工作空间级别进行监控,并尽早发现摄入峰值。 -
定期导出 Cost Explorer 数据以进行长期成本分析和报告。
为什么我月初的账单高于月末?
Amazon Managed Service for Prometheus 采用分层定价模式,这会导致您的初始使用费用较高。当您的使用量达到更高的摄取等级时,如果费用较低,您的费用就会降低。有关定价(包括摄取等级)的更多信息,请参阅“Amazon Managed Service for Prometheus 产业页面”中的定价
注意
-
等级是针对区域内的使用情况,而不是跨区域的使用情况。一个区域内的使用量必须达到下一等级,才能使用较低的费率。
-
在中的组织中 AWS Organizations,等级使用是按付款人账户计算的,而不是按账户计算的(付款人账户始终是组织管理账户)。当一个组织内所有账户的摄取指标总量(在一个区域内)达到下一等级时,所有账户都将按照较低的费率收费。
我删除了我所有的 Amazon Managed Service for Prometheus 工作区,但似乎仍在收费。这可能是怎么回事?
在这种情况下,一种可能性是,您仍然有 AWS 托管抓取器,这些抓取器设置为将指标发送到已删除的工作区。按照说明查找和删除抓取程序。