使用 AWS 聊天机器人将 CloudWatch 警报通知给 Slack!

*Miki Jet(神户玛雅)
大家好!
我是来自Beyond Inc.大阪办公室的拉面大王Hide。
这是我的第五篇帖子。
上次,我谈到了如何将 CloudWatch 警报通知给 Teams 和 Chatwork,这是我最近在一个项目中实现的。
这次,我将讲解如何使用 AWS Chatbot 将 CloudWatch 警报通知到 Slack。
我在之前的博客文章中写了一篇关于使用 AWS Lambda 和 Python 创建通知的有趣文章,如果您感兴趣,请去看看!
配置图
配置图如上所示。
CloudWatch 会检索 EC2 指标,并在发生警报时通知 SNS。然后,SNS 会将 CloudWatch 发送的警报发送给聊天机器人。
聊天机器人随后会将警报发送到 Slack。此配置未使用 AWS Lambda,因此比 Teams 或 Chatwork 更容易实现。
所以让我们努力奋斗,共同建设它吧!
施工步骤
① 社交媒体
①-①:点击 SNS > 话题 > 创建话题
①-②:填写以下信息,然后点击【创建主题】
● 类型:标准
● 名称:请输入您的常用名称
①-③:验证是否创建成功
② 聊天机器人
②-①:聊天机器人 > 已配置客户端 > 点击【设置新客户端】
②-②:选择 Slack 并点击【设置】
②-③:登录您的工作区
*如果您已登录,将出现以下屏幕。
如果您想创建一个新的工作区,请点击右上角的【添加另一个工作区】。
以下是如何查找您的 Slack 工作区 URL 的方法:
1. 点击您正在参与的工作区名称

2. 在工作区名称下方,找到您要加入的工作区的 Slack URL。
②-④:登录到指定的工作区
②-⑤:允许权限
②-⑥:确认批准后,点击【设置新频道】
②-⑦:输入设置名称
*请为该设置命名。
*如果您希望将日志记录到 CloudWatch Logs 中,请选中此框。

②-⑧:选择一个 Slack 频道
*选择公开或私有频道,然后选择频道名称。
②-⑨:设置角色
● 频道 IAM 角色:
授予 Slack 频道中所有成员相同权限的角色。
● 用户角色:
为 Slack 频道中的每个成员授予不同权限的角色
②-⑩:设置通道 IAM 角色
*对于“渠道 IAM 角色”,请选择“使用模板创建 IAM 角色”。
*对于“角色名称”,您可以随意选择。

②-⑪:设置策略模板
②-⑫:通道护栏政策
● 通道防护策略
此策略优先于通道 IAM 角色和用户角色。
启用 CloudWatchReadOnlyAccess 后,您可以查看图表。
②-⑬:通知设置
*请具体说明您在社交媒体上创建的主题。
③ CloudWatch
我们将假设 EC2 已创建。
③-①:点击 CloudWatch > 警报 > 创建警报。
选择您偏好的指标
③-③:选择报警条件
③-④:通知设置
③-⑤:指定报警名称
③-⑥点击【创建闹钟】
④ 通知测试
④-①:检查警报是否生效
④-②:检查警报是否已发出
*如果您设置阈值,使警报不会发生,则可以按如下所示确认恢复情况。
概括
这次,我们介绍了一篇关于如何使用聊天机器人将 CloudWatch 警报通知 Slack 的文章。
您可以使用聊天机器人轻松接收 Slack 上的警报通知。
警报中包含图表 URL 和图像,使警报内容非常易于阅读!
虽然使用 Slack 很容易实现,但使用 Teams 或 Chatwork 设置警报通知需要大量工作,例如使用 AWS Lambda 编写 Python 代码并设置 Webhook…….
我真心希望AWS能让Teams和Chatwork兼容聊天机器人(虽然这大概不可能……)。
15
























