本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用亚马逊 CloudWatch 指标和日志监控亚马逊SNSSMS配送
您可以使用 Amazon CloudWatch 和 Amazon CloudWatch Logs 来监控您的SMS消息传送情况。
查看亚马逊 CloudWatch 指标
Amazon SNS 会自动收集有关您SMS发送消息的指标,并将其推送到亚马逊 CloudWatch。您可以使用 CloudWatch 监控这些指标并创建警报,以便在指标超过阈值时提醒您。例如,您可以监控 CloudWatch 指标以了解您的SMS配送费率和 month-to-dateSMS费用。
有关监控 CloudWatch 指标、设置 CloudWatch 警报和可用指标类型的信息,请参阅使用监控亚马逊SNS话题 CloudWatch。
查看 CloudWatch 日志
您可以通过启用 Amazon 写入 Amazon SNS Logs 来收集有关成功和失败SMS消息 CloudWatch 传输的信息。对于您发送的每SMS条消息,Amazon 都会SNS写一份日志,其中包含消息价格、成功或失败状态、失败原因(如果消息失败)、消息停留时间和其他信息。
启用和查看SMS消息 CloudWatch 日志
登录 Amazon SNS 控制台
。 -
在控制台菜单中,将区域选择器设置为支持消息SMS传递的区域。
-
在导航面板上,选择短信 (SMS)。
-
在移动短信 (SMS) 页面的短信偏好设置部分,选择编辑。
-
在下一页上,展开 Delivery status logging(传输状态日志记录)部分。
-
对于成功采样率,请指定 Amazon SNS 将在日志中 CloudWatch 写入日志的成功SMS交付百分比。例如:
-
要仅将失败传输写入日志,请将此值设为 0。
-
要将 10% 的成功传输写入日志,请将其设为 10。
如果您未指定百分比,Amazon SNS 会为所有成功交付写入日志。
-
-
为提供所需的权限,请执行以下操作之一:
-
要创建新的服务角色,请选择 Create new service role(创建新的服务角色),然后选择 Create new roles(创建新角色)。在下一页上,选择 “允许” 以授予 Amazon 对您账户资源的SNS写入权限。
-
要使用现有的服务角色,请选择 “使用现有服务角色”,然后将ARN名称粘贴到 “成功和失败的交付IAM角色” 框中。
您指定的服务角色必须允许对账户资源进行写入访问。有关创建IAM角色的更多信息,请参阅《IAM用户指南》中的为 AWS 服务创建角色。
-
-
选择 Save changes(保存更改)。
-
返回移动短信 (SMS) 页面,转至传送状态日志部分以查看所有可用的日志。
注意
根据目的地电话号码的承运人,送货日志最多可能需要 72 小时才能显示在 Amazon SNS 控制台中。
成功SMS传送的示例日志
成功交付的传SMS送状态日志将与以下示例类似:
{ "notification": { "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "timestamp": "2016-06-28 00:40:34.558" }, "delivery": { "phoneCarrier": "My Phone Carrier", "mnc": 270, "numberOfMessageParts": 1, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 310, "providerResponse": "Message has been accepted by phone carrier", "dwellTimeMs": 599, "dwellTimeMsUntilDeviceAck": 1344 }, "status": "SUCCESS" }
SMS传送失败的日志示例
传送失败的SMS传送状态日志将与以下示例类似:
{ "notification": { "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625", "timestamp": "2016-06-28 00:40:34.559" }, "delivery": { "mnc": 0, "numberOfMessageParts": 1, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 0, "providerResponse": "Unknown error attempting to reach phone", "dwellTimeMs": 1420, "dwellTimeMsUntilDeviceAck": 1692 }, "status": "FAILURE" }
SMS配送失败原因
providerResponse
属性中提供失败的原因。SMS由于以下原因,邮件可能无法传送:
-
被电话运营商作为垃圾消息屏蔽
-
目的地位于阻止列表中
-
电话号码无效
-
消息正文无效
-
电话运营商已屏蔽此消息
-
电话运营商目前无法访问/不可用
-
电话已被屏蔽 SMS
-
电话位于阻止列表中
-
电话当前无法访问/可用
-
电话号码已退出
-
此传输会超过最高价格
-
尝试联系电话时发生未知错误