使用监控亚马逊SNS话题 CloudWatch - Amazon Simple Notification Service

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

使用监控亚马逊SNS话题 CloudWatch

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

注意

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

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

查看 Amazon 的 CloudWatch 指标 SNS

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

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

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

  3. 所有指标选项卡上 SNS,选择,然后选择以下维度之一:

    • 国家、SMS类型

    • PhoneNumber

    • Topic Metrics (主题指标)

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

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

  5. 要查看亚马逊SNS使用量指标,请在所有指标选项卡上,选择使用情况,然后选择目标亚马逊SNS使用量指标(例如NumberOfMessagesPublishedPerAccount)。

为 Amazon SNS 指标设置 CloudWatch 警报

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

使用 CloudWatch 控制台设置警报
  1. 登录 AWS 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文档

亚马逊SNS指标

Amazon SNS 将以下指标发送至 CloudWatch。

命名空间 指标 描述

AWS/SNS

NumberOfMessagesPublished

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

单位:计数

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

有效统计数据:总和

AWS/SNS

NumberOfNotificationsDelivered

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

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

单位:计数

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

有效统计数据:总和

AWS/SNS

NumberOfNotificationsFailed

Amazon SNS 未能传送的消息数量。

对于亚马逊SQSSMS、电子邮件或移动推送终端节点,当亚马逊SNS停止尝试发送消息时,该指标将以 1 为增量。对于我们的HTTPHTTPS终端节点,该指标包括每一次失败的交付尝试,包括初次尝试之后的重试次数。对于所有其他终端节点,消息传输失败时计数增加 1(不考虑尝试次数)。

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

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

单位:计数

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

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

AWS/SNS

NumberOfNotificationsFilteredOut

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

单位:计数

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

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

AWS/SNS

NumberOfNotificationsFilteredOut-MessageAttributes

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

单位:计数

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

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

AWS/SNS

NumberOfNotificationsFilteredOut-MessageBody

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

单位:计数

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

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

AWS/SNS

NumberOfNotificationsFilteredOut-InvalidAttributes

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

单位:计数

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

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

AWS/SNS

NumberOfNotificationsFilteredOut-NoMessageAttributes

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

单位:计数

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

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

AWS/SNS

NumberOfNotificationsFilteredOut-InvalidMessageBody

由于邮件正文无法进行过滤(例如,无效的邮件正文)而被订阅筛选策略拒绝的JSON邮件数量。

单位:计数

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

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

AWS/SNS

NumberOfNotificationsRedrivenToDlq

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

单位:计数

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

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

AWS/SNS

NumberOfNotificationsFailedToRedriveToDlq

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

单位:计数

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

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

AWS/SNS

PublishSize

已发布消息的大小。

单位:字节

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

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

AWS/SNS

SMSMonthToDateSpentUSD

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

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

有关设置每月SMS支出配额的信息,或有关申请增加支出配额的信息 AWS,请参阅在 Amazon 中设置SMS消息偏好 SNS

单位:USD

有效尺寸:

有效统计数据:总和

AWS/SNS

SMSSuccessRate

成功SMS传送消息的比率。

单位:计数

有效尺寸: PhoneNumber

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

Amazon SNS 指标的尺寸

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

维度

描述

Application

对应用程序对象进行筛选,这些对象表示在支持的推送通知服务之一中注册的应用程序和设备,例如APNs和FCM。

Application,Platform

对应用程序和平台对象进行筛选,其中平台对象用于支持的推送通知服务,例如APNs和FCM。

Country

按SMS邮件的目的地国家或地区进行筛选。国家或地区由其 ISO 3166-1 alpha-2 代码表示。

PhoneNumber

当您SMS直接向电话号码(不含主题)发布内容时,会根据电话号码进行筛选。

Platform

筛选推送通知服务的平台对象,例如APNs和FCM。

TopicName

筛选亚马逊SNS主题名称。

SMSType

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

Amazon SNS 使用量指标

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

命名空间

服务

指标

资源

类型

描述

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

  • 单位:无

  • 有效统计数据:Sum

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

  • 单位:无

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

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

  • 单位:无

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

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

  • 单位:无

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

AWS/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
  • 您 AWS 账户中选定的 Amazon SNS API 的API通话次数。

  • 单位:无

  • 有效统计数据:Sum