【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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:00599

评论

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

16个分论坛出品标准大揭秘,期待你的申请!

开源社

用任意类型编写代码——一文带你了解泛型编程

宇宙之一粟

Java 泛型编程 10月月更

Collections-Arraylist源码解读(一)

知识浅谈

ArrayList 10月月更

如何打通 SAP Cloud for Customer 系统和微信公众号的双向消息通信功能

Jerry Wang

node.js 微信 SAP 微信平台 10月月更

计算机网络——集线器与交换机的区别

StackOverflow

编程 计算机网络 10月月更

今日国庆,祝福祖国!【文末超级福利】

图灵教育

读书 国庆节

存储优化--分区与冷热分离

喵叔

10月月更

【一Go到底】第一天---初识Goooooooooooooooooooooooo

指剑

Go go并发 10月月更

【从0到1学算法】1. 如何获取题中关键信息

Geek_65222d

10月月更

大数据ELK(十):使用VSCode操作猎聘网职位搜索案例

Lansonli

ELK 10月月更

今日国庆,祝福祖国!【文末超级福利】

图灵社区

读书 国庆节

[架构实战] 学习笔记二

爱学习的麦子

架构师的十八般武艺:线上运维

agnostic

运维

​Java进阶(三十八)快速排序

No Silver Bullet

Java 快速排序 10月月更

JavaScript中this指向哪儿?如何确定this?-前端面试进阶

loveX001

JavaScript

Python应用之计算三角形面积

智趣匠

10月月更 Python代码 计算三角形面积

工赋开发者社区 | 某大型电子装备总装数字化工厂MES/MOM系统实施

工赋开发者社区

Web3.0杂谈-#004(51/100)

hackstoic

NFT Web3.0

ESP32-C3 学习测试 蓝牙 篇(四、GATT Server 示例解析)

矜辰所致

蓝牙 ESP32-C3 10月月更 GATT

2022-10-01:给定一个字符串 s,计算 s 的 不同非空子序列 的个数 因为结果可能很大,所以返回答案需要对 10^9 + 7 取余 。 字符串的 子序列 是经由原字符串删除一些(也可能不删除

福大大架构师每日一题

算法 rust 福大大

开发者有话说|程序猿工作多年之后的感悟

慕枫技术笔记

个人成长

数组操作の旋转二维数组

掘金安东尼

算法 10月月更

简述构建微服务架构的四大挑战

穿过生命散发芬芳

微服务 10月月更

MyBatis学习笔记之JDBC

openpark

mybatis JDBC 10月月更

戏说系统安全(50/100)

hackstoic

系统安全

这些js原型及原型链面试题你能做对几道

loveX001

JavaScript

COSCon'22主论坛来袭 开源站在十字路口

开源社

面试官:高并发场景下,你们是怎么保证数据的一致性的?

一灯架构

Java MySQL 10月月更

ESP32-C3 学习测试 蓝牙 篇(五、添加 characteristic)

矜辰所致

蓝牙 ESP32-C3 10月月更

Docker下,五分钟极速体验机器学习

程序员欣宸

Docker 10月月更

​Java进阶(三十九)Java集合类的排序,查找,替换操作

No Silver Bullet

Java 排序 查找 10月月更 替换

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