Amazon CloudWatch Events 监控您应用的安全

阅读数:14 2019 年 11 月 20 日 08:00

Amazon CloudWatch Events监控您应用的安全

每个应用程序时刻都在产生事件,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;

3. 目标在收到事件后进行相应的处理;

Amazon CloudWatch Events监控您应用的安全

具体步骤:

1.   创建 3 个目标,Lambda,SNS,SQS;

1.1, 目标 1,创建 Lambda 函数,SampleAppDebugger;

Amazon CloudWatch Events监控您应用的安全

1.2, 目标 2,创建 SNS 主题,RedHealthNotifier;

Amazon CloudWatch Events监控您应用的安全

1.3, 目标 3,创建 SQS 消息队列,ReportInspectionQueue;

Amazon CloudWatch Events监控您应用的安全

 

2.   创建 CloudWatch Events Rule

2.1, 将以下内容保存为 YellowPattern.json;

Amazon CloudWatch Events监控您应用的安全

2.2, 使用以下命令创建名为 myCustomHealthStatusYellow 的规则;

Amazon CloudWatch Events监控您应用的安全

2.3, 使用以下命令创建目标;

Amazon CloudWatch Events监控您应用的安全

2.4, CloudWatch Event 需要将事件发送给 Lambda,所以需要给 Lambda 添加适当权限允许 CloudWatch 这么做;

Amazon CloudWatch Events监控您应用的安全

3.   重复上面的步骤创建第 2 条规则,并设置目标为 SQS 和 SNS,特别注意,不要忘记给 SNS,SQS 设置相应权限以允许 CloudWatch 发送事件过来;

3.1, 使用以下命令创建名为 myCustomHealthStatusRed 的规则,这里的 RedPattern.json 文件其实是将 2.1 步骤中的 YellowPattern.json 是一样的,只是将内容中的 Yellow 替换成了 Red;

Amazon CloudWatch Events监控您应用的安全

Amazon CloudWatch Events监控您应用的安全

3.2, 创建两个目标,SQS,SNS;

Amazon CloudWatch Events监控您应用的安全

Amazon CloudWatch Events监控您应用的安全

3.3, 添加权限允许 CloudWatch Events 发送事件;

Amazon CloudWatch Events监控您应用的安全

Amazon CloudWatch Events监控您应用的安全

其他 SNS,SQS 权限设置相关,请参考该官方链接: http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/events/resource-based-policies-cwe.html#sns-permissions

4.   进行测试,手动放入一些 Red 事件 (我设置了个小脚本,每次运行都会放入 61 个事件),看看 SQS 及 SNS 情况;

Amazon CloudWatch Events监控您应用的安全

这里我运行了三次脚本,所以 SQS 中有 183 条消息

Amazon CloudWatch Events监控您应用的安全

看看邮箱中是否会收到邮件

Amazon CloudWatch Events监控您应用的安全

5.   测试 Yellow 事件及 Lambda 反应;

Amazon CloudWatch Events监控您应用的安全

Lambda 被触发的次数

Amazon CloudWatch Events监控您应用的安全

作者介绍:

Amazon CloudWatch Events监控您应用的安全

郑进佳

亚马逊 AWS 解决方案架构师,在加入 AWS 之前,在多家跨国公司有着超过 7 年的架构设计和项目管理的经验,对 AWS 云端高可用架构有着深刻的理解,以及对企业级应用如何迁移到云端的架构设计有实战方面的经验。

[

亚马逊 AWS 官方博客目录
__]( https://aws.amazon.com/cn/blogs/china/all/?nc1=b_nrp )

本文转载自 AWS 技术博客。

原文链接:
https://amazonaws-china.com/cn/blogs/china/cloudwatch-events/

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布