CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

Cloudwatch在AWS的服务里面占据了很重要的部分。他的基本功能是监控服务的性能,发送警报之外,还能够经过各类事件来触发Lamda等服务,他还能够接收第三方的app和服务的日志等等。app

下面咱们来看看如何经过Cloudwatch logs的 Metric filter来自定义一个Metric,并经过他来发送一个警报。ide

例子:当一个用户删除KMS的CMK时候,给管理员发送一个警告邮件。函数

首先咱们来配置一下CloudTrail,新建一个Trail,而后配置S3 Bucket等等,而后配置 CloudWatch Logs, 这样子他会把日志发送给CloudWatch,以及保存在S3 bucket里面。通常说来,大概有5分钟左右的延迟到CloudWatch,15分钟左右的延迟到S3 Bucket性能

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

配置好了以后,咱们首先去KMS里面删掉咱们的CMK测试

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

对应的API日志会在CloudTrail里面生成。去CloudTrail的 Event History 里面找到对应的日志记录 (API的最新记录有的时候须要等一会才出现)日志

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

查看他的Event Record。这个JSON文件很长,我能够寻找他的eventName,UserIdentity等信息blog

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

把这个JSON文件保留起来,而后咱们切换到Cloudwatch里面, 选择Log Groups, 全部的第三方的app或者service发送的日志都在这个地方,好比咱们本身写了个Lambda的函数,他调用的日志也是在这里看。事件

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

找到咱们的CloudTrail发送过来的Log Group,选择 Metric Filterit

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

新建一个filter,这个filter的语法其实很简单,就是经过上面咱们找到的JSON文件里面的键值对来定义而已,这里我选择用户为IAMUser,事件名称为ScheduleKeyDeletionio

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

而后定义一下Metric的信息

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

确认提交

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

大概30秒后,就能够看见咱们自定义的Metrics了

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

而后新建一个Alarm,选择咱们自定义的Metric,当有IAM用户删除CMK的时候,就发送一个SNS的通知

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

配置好了,来测试一下,删除一下CMK,而后很快我就收到警报通知了

CloudWatch Metric Filter - AWS KMS 删除 CMK 自动警报

在平常工做中,AWS上可能会碰见不少须要发送警报的状况,好比Root用户的登录啦,某某服务被调用了,某某服务挂了等等,咱们均可以经过这种方式来进行报警。固然,咱们也能够用Cloudwatch Event + Lambda的方式,不事后者就更复杂一些了。

相关文章
相关标签/搜索