大咖专栏是亚马逊AWS官方微信新开设的栏目。本专栏主要刊登亚马逊AWS诸位大咖讲师亲自撰写的Blog,内容涉猎广泛,话题讨论前沿,且与实战紧密相连。我们非常欢迎小伙伴们在评论区留言,与大咖互动交流!今天为大家撰文的大咖,是亚马逊AWS解决方案架构师——郑进佳老师。亚马逊AWS解决方案架构师,在加入AWS之前,在多家跨国公司有着超过7年的架构设计和项目管理的经验,对AWS云端高可用架构有着深刻的理解,以及对企业级应用如何迁移到云端的架构设计有实战方面的经验。每个应用程序时刻都在产生事件,Amazon CloudWatch Events能帮助您对应用的事件进行有针对性的响应和处理,并存储和分析潜在的告警信息。在接下来的篇幅里,我将利用AWS的CloudWatch Events、Lambda、SNS、SQS等服务向您展示如何及时分析与处理应用事件。在这个场景中,我将应用事件划分为三个等级(当然,在您的具体业务场景中,您可以根据实际情况划分任意多的等级):Green,Yellow,Red。Green代表应用正常,您不需要进行任何动作。Yellow表示您应用的健康检查失败,通过Lambda来处理该类型事件。Red表示您的应用在至少一台服务器上已经失败,立即通知运维部门处理。1. 最左边为您的应用服务器群,他们将各自的事件发送给CloudWatch Events;2. 在CloudWatch Events中设置Rule来进行区分,并将对应的事件发送相应的目标,如Lambda、SNS、SQS;创建Lambda函数,SampleAppDebugger;创建SNS主题,RedHealthNotifier;创建SQS消息队列,ReportInspectionQueue;2.1,将以下内容保存为YellowPattern.json;2.2,使用以下命令创建名为myCustomHealthStatusYellow的规则;2.4,CloudWatch Event需要将事件发送给Lambda,所以需要给Lambda添加适当权限允许CloudWatch这么做;重复上面的步骤创建第2条规则,并设置目标为SQS和SNS,特别注意,不要忘记给SNS,SQS设置相应权限以允许CloudWatch发送事件过来3.1,使用以下命令创建名为myCustomHealthStatusRed的规则,这里的RedPattern.json文件其实是将2.1步骤中的YellowPattern.json是一样的,只是将内容中的Yellow替换成了Red;3.3,添加权限允许CloudWatch Events发送事件;其他SNS、SQS权限设置相关,请参考该官方链接:http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/events/resource-based-policies-cwe.html#sns-permissions进行测试,手动放入一些Red事件(我设置了个小脚本,每次运行都会放入61个事件),看看SQS及SNS情况
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。