

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 了解并优化 Amazon Managed Service for Prometheus 的成本
<a name="AMP-costs"></a>

以下常见问题及其答案可能有助于了解和优化与 Amazon Managed Service for Prometheus 相关的成本。

## 哪些因素会增加我的成本？
<a name="AMP-costs-FAQ-contributors"></a>

对于大多数客户而言，指标*摄取*占据了大部分成本。查询使用率高的客户也会看到一些基于*已处理的查询样本*的成本，而*指标存储*仅占总成本的一小部分。有关每个的价格的更多信息，请参阅“Amazon Managed Service for Prometheus 产业页面”中的**[定价](https://aws.amazon.com/prometheus/pricing#Pricing)。

## 降低成本的最佳方法是什么？ 如何降低摄取成本？
<a name="AMP-costs-FAQ-ingestion"></a>

摄取率（不是指标的存储）是大多数客户的主要成本。您可以通过降低收集频率（增加收集间隔）或减少摄入的活跃系列数量来降低摄取率。

您可以从收集代理增加收集（抓取）间隔：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/\$1relabel\$1config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config) 在 Prometheus 文档中。

## 降低我的查询成本的最佳方法是什么？
<a name="AMP-costs-FAQ-query"></a>

查询成本基于已处理的样本数量。您可以降低查询频率来降低查询成本。

要更深入地了解对您的查询费用影响最大的查询，请参阅[在 Amazon Managed Service for Prometheus 中管理查询成本](query-insights-control.md)。

## 如果我缩短指标的保留期，这会有助于减少我的账单总额吗？
<a name="AMP-costs-FAQ-dataretention"></a>

您可以缩短保留期，但是，这不太可能大幅降低成本。

有关如何配置工作区的保留期的信息，请参阅[配置工作区](AMP-workspace-configuration.md)。

## 如何降低警报查询成本？
<a name="AMP-costs-FAQ-alertquery"></a>

警报功能会对数据进行查询，从而增加查询成本。以下是一些可以用来优化警报查询并降低成本的策略。
+ **使用 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 中管理和转发警报](AMP-alert-manager.md)。

## 我可以使用哪些指标来监控我的成本？
<a name="AMP-costs-FAQ-monitor"></a>

`IngestionRate`在 Amazon 中进行监控 CloudWatch 以跟踪您的摄取成本。

**注意**  
`IngestionRate` 提供了估算值，可能与您的最终账单费用并不完全匹配。

有关监控 Amazon Prometheus 托管服务指标的更多信息，请参阅。 CloudWatch [使用 CloudWatch 指标监控亚马逊托管服务的 Prometheus 资源](AMP-CW-usage-metrics.md)

## 我可以随时查看账单吗？
<a name="AMP-costs-FAQ-bill"></a>

它会 AWS 成本和使用情况报告 跟踪您的 AWS 使用情况，并提供账单周期内与您的账户相关的预估费用。有关更多信息，请参阅[什么是 AWS 成本和使用情况报告？](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html) 在《*AWS 成本和使用情况报告用户指南》*中

## 为什么我月初的账单高于月末？
<a name="AMP-costs-FAQ-tiers"></a>

Amazon Managed Service for Prometheus 采用分层定价模式，这会导致您的初始使用费用较高。当您的使用量达到更高的摄取等级时，如果费用较低，您的费用就会降低。有关定价（包括摄取等级）的更多信息，请参阅“Amazon Managed Service for Prometheus 产业页面”中的**[定价](https://aws.amazon.com/prometheus/pricing#Pricing)。

**注意**  
等级是针对*区域内*的使用情况，而不是跨区域的使用情况。一个区域内的使用量必须达到下一等级，才能使用较低的费率。
在中的组织中 AWS Organizations，等级使用是*按付款人账户*计算的，而不是按账户计算的（付款人账户始终是组织管理账户）。当*一个组织内所有账户*的摄取指标总量（在一个区域内）达到下一等级时，所有账户都将按照较低的费率收费。

## 我删除了我所有的 Amazon Managed Service for Prometheus 工作区，但似乎仍在收费。这可能是怎么回事？
<a name="AMP-costs-FAQ-scrapers"></a>

在这种情况下，一种可能性是，您仍然有 AWS 托管抓取器，这些抓取器设置为将指标发送到已删除的工作区。按照说明[查找和删除抓取程序](AMP-collector-how-to.md#AMP-collector-list-delete)。