使用监控亚马逊 SNS 主题 CloudWatch - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用监控亚马逊 SNS 主题 CloudWatch

Amazon SNS 和亚马逊 CloudWatch 集成在一起,因此您可以收集、查看和分析每条有效的亚马逊 SNS 通知的指标。配置 CloudWatch Amazon SNS 后,您可以更好地了解 Amazon SNS 主题、推送通知和短信发送的表现。例如,您可以设置一个告警,以便在某个 Amazon SNS 指标(如 NumberOfNotificationsFailed)达到指定阈值时向您发送电子邮件通知。有关 Amazon SNS 发送到的所有指标的列表 CloudWatch,请参阅。Amazon SNS 指标有关 Amazon SNS 推送通知的更多信息,请参阅 移动推送通知

注意

系统会自动收集您 CloudWatch 为 Amazon SNS 主题配置的指标,并每隔 1 分钟推送 CloudWatch 一次。这些指标是针对所有符合活跃 CloudWatch 指南的话题收集的。自该主题的上次活动(即任何 API 调用)起,该主题最多在六小时内被视为处于活动状态。 CloudWatch

中报告的亚马逊 SNS 指标不收取任何费用 CloudWatch;这些指标是作为亚马逊 SNS 服务的一部分提供的。

查看 Amazon SNS 的 CloudWatch 指标

您可以使用 CloudWatch 控制台、 CloudWatch自己的命令行界面 (CLI) 或使用 API 以编程方式监控 Amazon SNS 的指标。 CloudWatch 以下过程展示如何使用 Amazon Web Services Management Console访问指标。

使用 CloudWatch 控制台查看指标
  1. 登录 CloudWatch 控制台

  2. 在导航面板上,选择 Metrics

  3. All metrics (全部指标) 选项卡上,选择 SNS,然后选择以下维度之一:

    • Country, SMS Type (国家/地区,短信类型)

    • PhoneNumber

    • Topic Metrics (主题指标)

    • Metrics with no dimensions (无维度指标)

  4. 要查看详细信息,请选择特定项目。例如,如果您选择 “主题指标”,然后选择 NumberOfMessagesPublished,则会显示 6 小时时间范围内在 1 分钟内发布的 Amazon SNS 消息的平均数量。

  5. 要查看 Amazon SNS 使用情况指标,请在 All metrics(所有指标)选项卡上选择 Usage(使用情况),然后选择 Target Amazon SNS usage metric(目标 Amazon SNS 使用情况指标),例如 NumberOfMessagesPublishedPerAccount

为 Amazon SNS 指标设置 CloudWatch 警报

CloudWatch 还允许您在指标达到阈值时设置警报。例如,您可以为指标设置警报 NumberOfNotificationsFailed,以便在采样周期内达到指定的阈值时,系统会发送一封电子邮件通知来通知您该事件。

使用 CloudWatch 控制台设置警报
  1. 登录 Amazon Web Services Management Console 并打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

  2. 选择警报,然后选择创建警报按钮。这样会启动“Create Alarm”向导。

  3. 滚动 Amazon SNS 指标找到您想要设置告警的指标的位置。选择该指标创建一个警报并选择继续

  4. 填写指标的名称描述阈值时间值,然后选择继续

  5. 按照报警器说明选择“Alarm”。如果您 CloudWatch 想在达到警报状态时向您发送电子邮件,请选择现有的 Amazon SNS 主题或选择创建新电子邮件主题。如果您选择 新建电子邮件主题,则可以为新主题设置名称和电子邮件地址。此清单将会被保存下来并在将来报警器的下列框显示。选择继续

    注意

    如果您使用新建电子邮件主题来创建新的 Amazon SNS 主题,那么电子邮件地址必须通过验证才能接收通知。当报警器进入报警状态时,才发送电子邮件。如果在电子邮件地址验证之前报警状态发生变化,那么他们不会收到通知。

  6. 此时,“Create Alarm”向导会给您一次机会检查您准备创建的报警器。如果你想做一些变动,那么您可使用右边的“Edit”链接。如果您满意,请选择创建警报

有关使用 CloudWatch 和警报的更多信息,请参阅CloudWatch文档

Amazon SNS 指标

Amazon SNS 向发送以下指标。 CloudWatch

命名空间 指标 描述

Amazon/SNS

NumberOfMessagesPublished

发布到您的 Amazon SNS 主题的消息数量。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和

Amazon/SNS

NumberOfNotificationsDelivered

从您的 Amazon SNS 主题成功传输到订阅终端节点的消息数量。

要想成功传输,终端节点的订阅必须接受消息。在以下两种情况下订阅可接受消息:a.) 它缺少筛选策略或 b.) 其筛选策略中包含的属性与分配给消息的属性相匹配。如果订阅拒绝消息,则传输尝试不会计入此指标。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和

Amazon/SNS

NumberOfNotificationsFailed

Amazon SNS 传输失败的消息数量。

对于 Amazon SQS、电子邮件、SMS 或移动推送终端节点,当 Amazon SNS 停止尝试传送消息时,此指标会递增 1。对于 HTTP 或 HTTPS 终端节点,此指标包括每次失败的传输尝试(含初始尝试之后的重试)。对于所有其他终端节点,消息传输失败时计数增加 1(不考虑尝试次数)。

此指标不包括被订阅筛选策略拒绝的消息。

您可以控制 HTTP 终端节点的重试次数。有关更多信息,请参阅 Amazon SNS 消息传输重试

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsFilteredOut

被订阅筛选策略拒绝的消息数量。如果消息属性与策略属性不匹配,筛选策略会拒绝消息。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsFilteredOut-MessageAttributes

被基于属性的筛选的订阅筛选策略拒绝的消息数量。

单位: CountValid

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsFilteredOut-MessageBody

被基于有效负载的筛选的订阅筛选策略拒绝的消息数量。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsFilteredOut-InvalidAttributes

由于消息属性无效(例如属性 JSON 格式不正确)而被订阅筛选策略拒绝的消息数量。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsFilteredOut-NoMessageAttributes

由于消息没有属性而被订阅筛选策略拒绝的消息数量。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsFilteredOut-InvalidMessageBody

由于消息正文对于筛选条件无效(例如无效的 JSON 消息正文)而被订阅筛选策略拒绝的消息数量。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsRedrivenToDlq

已移动到死信队列的消息量。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

NumberOfNotificationsFailedToRedriveToDlq

无法移动到死信队列中的消息量。

单位:计数

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:总和、平均值

Amazon/SNS

PublishSize

已发布消息的大小。

单位:字节

有效维度:应用程序 PhoneNumber、平台和 TopicName

有效统计数据:最小值、最大值、平均值和计数

Amazon/SNS

SMSMonthToDateSpentUSD

当前日历月开始以来您因发送 SMS 消息累积产生的费用。

您可以为此指标设置警报,以了解您的 month-to-date 费用何时接近账户的每月短信支出配额。如果 Amazon SNS 确定发送 SMS 消息产生的费用会超过此配额,它会在几分钟内停止发布 SMS 消息。

有关设置您的每月 SMS 支出配额的信息,或有关向 Amazon请求提高支出配额的信息,请参阅在 Amazon SNS 中设置短信首选项

单位:美元

有效尺寸:

有效统计数据:总和

Amazon/SNS

SMSSuccessRate

SMS 消息传输的成功率。

单位:计数

有效尺寸: PhoneNumber

有效统计数据:总和、平均值、数据样本

Amazon SNS 指标的维度

Amazon 简单通知服务将以下维度发送至 CloudWatch。

维度

描述

Application

应用程序对象的筛选条件,表示某一应用程序和设备向一项支持的推送通知服务(如 APNs 和 FCM)进行了注册。

Application,Platform

应用程序和平台对象筛选条件,其中,平台对象针对的是支持的推送通知服务(如 APNs 和 FCM)。

Country

用于 SMS 消息的目标国家或地区的筛选条件。代表该国家或地区的是其 ISO 3166-1 α-2 代码。

PhoneNumber

当您将 SMS 直接发布到电话号码(无主题)时,筛选电话号码。

Platform

针对推送通知服务(如 APNs 和 FCM)的平台对象的筛选条件。

TopicName

筛选 Amazon SNS 主题名称。

SMSType

SMS 消息的消息类型的筛选条件。可以为 promotionaltransactional

Amazon SNS 使用情况指标

Amazon 简单通知服务向发送以下使用指标 CloudWatch。

命名空间

服务

指标

资源

类型

描述

Amazon/Usage SNS ResourceCount NumberOfMessagesPublishedPerAccount 资源
  • 在您的账户中发布到您的 Amazon SNS 主题的消息数量。 Amazon

  • 单位:无

  • 有效统计数据:Sum

Amazon/Usage SNS ResourceCount ApproximateNumberOfTopics 资源
  • 您 Amazon 账户中话题的大致数量。

  • 单位:无

  • 有效统计数据:Average、Minimum、Maximum、Sum

Amazon/Usage SNS ResourceCount ApproximateNumberOfFilterPolicies 资源
  • 您的 Amazon 账户中的大致筛选条件策略数量。

  • 单位:无

  • 有效统计数据:Average、Minimum、Maximum、Sum

Amazon/Usage SNS ResourceCount ApproximateNumberOfPendingSubscriptions 资源
  • 您 Amazon 账户中待处理订阅的大致数量。

  • 单位:无

  • 有效统计数据:Average、Minimum、Maximum、Sum

Amazon/Usage SNS CallCount
  • AddPermission

  • CheckIfPhoneNumberIsOptedOut

  • CreatePlatformApplication

  • CreatePlatformEndpoint

  • ConfirmSubscription

  • CreateSMSSandboxPhoneNumber

  • CreateTopic

  • DeleteEndpoint

  • DeletePlatformApplication

  • DeleteSMSSandboxPhoneNumber

  • DeleteTopic

  • GetEndpointAttributes

  • GetPlatformApplicationAttributes

  • GetSMSAttributes

  • GetSMSSandboxAccountStatus

  • GetSubscriptionAttributes

  • GetTopicAttributes

  • ListEndpointsByPlatformApplication

  • ListOriginationNumbers

  • ListPhoneNumbersOptedOut

  • ListPlatformApplications

  • ListSMSSandboxPhoneNumbers

  • ListSubscriptions

  • ListSubscriptionsByTopic

  • ListTagsForResource

  • ListTopics

  • OptInPhoneNumber

  • RemovePermission

  • SetEndpointAttributes

  • SetPlatformApplicationAttributes

  • SetSMSAttributes

  • SetSubscriptionAttributes

  • SetTopicAttributes

  • Subscribe

  • Unsubscribe

  • UntagResource

  • VerifySMSSandboxPhoneNumber

API
  • 您 Amazon 账户中选定的亚马逊 SNS API 的 API 调用次数。

  • 单位:无

  • 有效统计数据:Sum