AWS监控SNS服务的两种方案(每日使用量和Cloud Watch)

方案一.
配置使用sns的每日使用量报告:
订阅每日使用量报告,可在控制台操作配置。
参考:https://docs.aws.amazon.com/zh_cn/sns/latest/dg/sms_stats_usage.html
1.为每日报告形成的csv文件创建s3的一个bucket
2.sms使用量报告订阅到bucket
3.在s3的指定bucket中获取csv文件
4.解析csv文件

方案二,使用cloud watch云监控收集的sns指标:
使用Cloud Watch服务
参考:https://docs.aws.amazon.com/zh_cn/sns/latest/dg/sms_stats_cloudwatch.html
Amazon SNS 会自动收集有关您的 SMS 消息传输的指标并将其推送至 Amazon CloudWatch,该功能自动启用。

1).cloud watch 收集的指标,参考:https://docs.aws.amazon.com/zh_cn/sns/latest/dg/MonitorSNSwithCloudWatch.html#SNS_metricscollected

2).使用cloud watch client的getMetricStatistics方法获取指标统计结果
参考:https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-monitoring-2010-08-01.html#getmetricstatistics

//获取统计结果的方法:
getMetricStatistics([
'Dimensions' => [
[
'Name' => 'TopicName', //使用TopicName,维度
'Value' => 'MDS-US-SMS', //TopicName为
],
],
'Namespace' => 'AWS/SNS', //命名空间为'AWS/SNS'
'MetricName' => 'NumberOfMessagesPublished', //查询指标为'NumberOfMessagesPublished'(发布到您的 Amazon SNS 主题的消息数量),
'StartTime' => '2018-07-01T00:00:00Z', //查询开始时间
'EndTime' => '2018-08-01T00:00:00Z', //查询结束时间
'Period' => 86400, //查询间隔,单位s
'Statistics' => ['Sum'],//统计总和
])

//请求结果:
[
"Label" => "NumberOfMessagesPublished",
"Datapoints" => [],
...
...
]

Datapoints中应该包含请求结果

3).根据Datapoints中的数据分析。

当然NumberOfMessagesPublished指标是cloud watch服务自动在sns中获取的,你也可以自定义指标。
cloud watch还有log服务,这个服务需要在控制台获取,具体使用方法可以参考手册

4).发送短信的demo可以参考我的另外一个博客https://blog.csdn.net/aikiller/article/details/77131988

我们上述说的监控适用于通过topic群发短信的情况,也就是demo博客中的第3节提到的方案

对于直接向指定手机号发送短信的情况(demo博客中第4节提到的方案)我们需要更改维度为

'Dimensions' => [
[
'Name' => 'PhoneNumber', //使用指定手机号发送短信
'Value' => 'PhoneNumberDirect', //使用指定手机号发送短信
],
],

而且这个维度可用的指标只有NumberOfNotificationsDelivered和NumberOfNotificationsDelivered

想要查看自己的sns服务可用的维度和指标有哪些,可以通过调用

listMetrics([
    'Namespace' => 'AWS/SNS', //命名空间为'AWS/SNS'
])

获取

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值