写点什么

Amazon CloudWatch Events 监控您应用的安全

  • 2019-11-20
  • 本文字数:1262 字

    阅读完需:约 4 分钟

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. 目标在收到事件后进行相应的处理;



具体步骤:


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


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



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



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



2.   创建 CloudWatch Events Rule


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



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



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



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



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


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




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




3.3, 添加权限允许 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 情况;



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



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



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



Lambda 被触发的次数



作者介绍:



郑进佳


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


TAGS:


Amazon CloudWatch


,


大咖专栏


,


安全


,


管理工具



View Comments


[


亚马逊 AWS 官方博客目录


__](https://aws.amazon.com/cn/blogs/china/all/?nc1=b_nrp)


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/cloudwatch-events/


2019-11-20 08:00793

评论

发布
暂无评论
发现更多内容

昂贵的质量

光毅

项目管理 代码质量

软件测试 | 测试开发 | Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台

测吧(北京)科技有限公司

测试

低代码对接腾讯云-阿里云短信平台

葡萄城技术团队

低代码

开源?结缘!Towhee 开源社区与上海人工智能实验室 OpenDataLab 成为开源生态合作伙伴

Zilliz

人工智能 开源

软件测试 | 测试开发 | web自动化总卡在文件上传和弹框处理上?

测吧(北京)科技有限公司

测试

不懂就问:“无人驾驶汽车革命”到底进行到哪一步了?

澳鹏Appen

人工智能 自动驾驶 无人驾驶 训练数据 数据训练

4 分钟过一遍 ES12 的 5 个要点~

掘金安东尼

前端 9月月更

一起瓜分20万奖金!第三届火焰杯软件测试大赛开始公开选拔!

霍格沃兹测试开发学社

一份小盒饭的“深圳创新密码”

联营汇聚

Redis API——Set功能实践与性能测试【Go版】

FunTester

嗨,程序员,你知道高级工程师用的搜索引擎吗?

梦想橡皮擦

9月月更

软件测试 | 测试开发 | JavaScript脚本注入,完成Selenium 无法做到的那些事

测吧(北京)科技有限公司

测试

一加与oppo是什么关系?答案就在这里

Geek_8a195c

每日算法刷题Day15-0到n-1中缺失的数字、调整数组顺序、从尾到头打印链表、用两个栈实现队列

timerring

算法题 9月月更

出海嘉年华开发者说,模式复制、本地化创新和未来机会

融云 RongCloud

白皮书 程序猿 出海 圆桌论坛

【云原生 | 从零开始学Kubernetes】二、使用kubeadm搭建K8S集群

泡泡

Docker Kubernetes 云原生 容器编排 9月月更

软件测试 | 测试开发 | JMeter 典型电商场景(下单/支付)的性能压测

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 电商业务性能测试(二): Jmeter 参数化功能实现注册登录的数据驱动

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 |H5性能分析实战来啦~

测吧(北京)科技有限公司

测试

直播预告|星策社区大咖说-第一期-蒙牛数智化转型访谈

星策开源社区

人工智能 转型 企业转型 智能化转型 蒙牛

深入浅出带你走进 RocksDB

KaiwuDB

数据库 RocksDB

软件测试 | 测试开发 | 一改测试步骤代码就全写?为什么不试试用 Yaml实现数据驱动?

测吧(北京)科技有限公司

测试

救火不如防火 IoT平台技术构建智慧消防系统筑牢防火墙

AIRIOT

低代码 物联网 低代码,项目开发

赞!| 龙蜥及其理事分获“2022 OSCAR 尖峰开源社区及项目、尖峰开源人物”奖项

OpenAnolis小助手

开源 龙蜥社区 获奖 理事长 产业大会

哪种企业更需要低代码开发框架

力软低代码开发平台

小程序与工业互联网能够相辅相成的原因

Geek_99967b

小程序

NFTScan 与 Chamcha 在 NFT API 数据层面达成战略合作

NFT Research

eth API NFT 合作

软件测试 | 测试开发 | 学习Docker就应该掌握的dockerfile语法与指令

测吧(北京)科技有限公司

测试

为何公司的业务都在往小程序化发展

Geek_99967b

小程序

使用 Apifox 自动通关"羊了个羊" 1 万次,牛逼大了

Liam

程序员 自动化测试 抓包

数字化办公,企业OA软件技术该如何发力?

Speedoooo

小程序 数字化转型 软件技术 小程序容器 企业OA

Amazon CloudWatch Events监控您应用的安全_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章