我在 AWS/EC2 上设置了一个系统,目前使用的是他们的 CloudWatch 警报系统。问题是它只发送到电子邮件,而理想情况下,我希望当警报触发时,它会拨打电话和/或向某些电话号码发送短信(请注意,我不需要通过电话实际说任何话,只需给对方打电话即可)。
我们正在尝试解决亚马逊警报仅在人们检查电子邮件时才有用的问题,但情况并非总是如此,因为所有服务器问题都喜欢在周六凌晨 4 点发生......
请回复任何可能的解决方案/想法,理想情况下,我不想在所有东西之上实施整个监控系统(即:Nagios)来处理这个问题。
答案1
亚马逊现在有一个支持 SMS 文本消息的 SNS 通知服务:http://aws.amazon.com/sns/
我希望这能帮助最近通过搜索引擎找到这个问题的人。在“美国东部”地区创建 SNS 订阅,否则您将不会在协议下拉列表中看到“SMS”选项。执行此操作后,即使您的 EC2 实例不在“美国东部”地区,也可以在 Cloudwatch 菜单中将订阅选为警报的通知目的地。根据此帮助页面,目前仅支持美国电话号码。
[未问] 处理向云端发送短信的最简单方法是使用商业 HTTP 网关。您的客户向网关号码发送一条短信,该号码用于构建向您的应用程序发送的 HTTP 请求。通常,向内发送的成本很低,例如,只需支付设置费和最低的短代码费用。这是针对欧洲的信息,我不确定它在美国是如何运作的。
答案2
可以将警报的电子邮件地址更改为电子邮件->文本网关。例如:Verizon wireless 是 #######@vtext.com,AT&T 是 #######@mms.att.net。
事实上,这里有一个 SMS 网关的列表:http://en.wikipedia.org/wiki/List_of_SMS_gateways
答案3
虽然 Pager Duty 并不完美(而且在上次美国东部停电时也出现了故障),但它确实提供了您所需要的功能。基本上,在 Pager Duty 上设置一个电子邮件地址,然后当它收到电子邮件时,可以将其设置为向您发送短信或致电。您还可以根据电子邮件主题等进行筛选。
您也可以尝试 pingdom。
答案4
这是一项艰巨的任务。您在“云端”没有任何物理电话(模拟/数字)连接。那么您将如何连接到电话提供商?
唯一的解决方案是使用 VoIP。为此,您可以设置 VoIP 客户端到 VoIP 提供商(例如sipgate) 则通过其 VoIP 网关拨打实体电话。
这只会将您引向正确的方向,并向您展示您只有很少的选择。所以我不会为您提供分步 VoIP 操作指南。