

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

# 配置警报管理器以向 Amazon SNS 主题发送消息
<a name="AMP-alertmanager-receiver-config"></a>

在您拥有（新的或现有的）**标准**类型的 Amazon SNS 主题后，您可以将其作为警报接收器添加到警报管理器配置中。警报管理器可将警报转发给已配置的警报接收器。要完成此操作，您必须知道 Amazon SNS 主题的 Amazon 资源名称（ARN）。

有关 Amazon SNS 接收方配置的更多信息，请参阅 Prometheus 配置文档中的 [<sns\$1configs>](https://prometheus.io/docs/alerting/latest/configuration/#sns_configs)。

**不支持的属性**

Amazon Managed Service for Prometheus 支持 Amazon SNS 作为警报接收方。但是，由于服务限制，并非支持 Amazon SNS 接收方的所有属性。Amazon Managed Service for Prometheus 警报管理器配置文件中不允许使用以下属性：
+ `api_url:` – Amazon Managed Service for Prometheus 会为您设置 `api_url`，因此不允许使用此属性。
+ `Http_config` – 此属性允许您设置外部代理。Amazon Managed Service for Prometheus 目前不支持此功能。

此外，还需要 SigV4 设置才能具有 Region 属性。如果没有 Region 属性，Amazon Managed Service for Prometheus 就没有足够的信息来提出授权请求。

**配置将您的 Amazon SNS 主题作为接收方的警报管理器**

1. 如果您使用的是现有的警报管理器配置文件，请在文本编辑器中打开该文件。

1. 如果 `receivers` 数据块中当前有 Amazon SNS 以外的接收方，请将其移除。您可以将多个 Amazon SNS 主题配置为接收方，方法是将它们放在 `receivers` 数据块内单独的 `sns_config` 数据块中。

1. 在 `receivers` 部分中添加以下 YAML 数据块。

   ```
   - name: name_of_receiver
     sns_configs:
       - sigv4:
           region: AWS 区域
         topic_arn: ARN_of_SNS_topic
         subject: yoursubject
         attributes:
           key: yourkey
           value: yourvalue
   ```

如果未指定 `subject`，则默认情况下，将使用带有标签名称和值的默认模板生成主题，这可能会导致值对于 SNS 来说太长。要更改应用于主题的模板，请参阅本指南中的 [将警报管理器配置为以 JSON 格式向 Amazon SNS 发送消息](AMP-alertmanager-receiver-JSON.md)。

现在，必须将警报管理器配置文件上传到 Amazon Managed Service for Prometheus。有关更多信息，请参阅 [将您的警报管理器配置文件上传到 Amazon Managed Service for Prometheus](AMP-alertmanager-upload.md)。