使用 AWS 聊天机器人将 CloudWatch 警报通知给 Slack!
*三木杰特(神户玛雅)
你好!
我是Beyond大阪事务所的拉面大王Hide。
这是我的第 5 篇文章。
上次我谈到了将CloudWatch警报通知给Teams/Chatwork,这是我最近在一个项目中实现的。
这次,我们将讨论如何使用 AWS Chatbot 将 CloudWatch 警报通知到 Slack。
在我的上一篇博文中,我写了一篇关于使用 AWS Lambda 和 Python 获取通知的有趣文章,所以如果您有兴趣,请看一下!
配置图
配置图如上所示。
使用 CloudWatch 获取 EC2 指标并在发生警报时通知 SNS。然后,SNS 将从 CloudWatch 发送的警报发送到 Chatbot。
然后,聊天机器人将警报发送到 Slack。它比 Teams/Chatwork 更容易实现,因为它不使用 AWS Lambda。
让我们共同努力、共同建设!
施工步骤
① 社交网络
①-①:SNS > 主题 > 单击“创建主题”
①-②:填写以下信息,点击【创建主题】
● 类型:标准
● 名称: 请输入您喜欢的名字
①-③:确认创建成功
② 聊天机器人
②-①:聊天机器人 > 配置客户端 > 点击【设置新客户端】
②-②:选择Slack,点击【设置】
②-③:登录工作区
*如果您已经登录,您将看到以下屏幕。
如果要创建新工作区,请单击右上角的[添加另一个工作区]。
*如何查找您的 Slack 工作区 URL 如下。
1. 单击您正在参与的工作区的名称
2. 在工作区名称下,找到您要加入的工作区的 Slack URL。
②-④:登录指定工作空间
②-⑤:允许权限
②-⑥:确认批准后,点击【设置新频道】
②-⑦:输入设置名称
*请设置任意设置名称。
*如果您想将日志记录到 CloudWatch Logs,请选中此框。
②-⑧:选择 Slack 通道
*选择公共或私人,然后选择频道名称。
②-⑨:设定角色
● 通道IAM 角色
向Slack 通道中的所有成员授予相同权限的角色。
● 用户角色
向Slack 通道的每个成员授予不同权限的角色。
②-⑩:设置通道IAM角色
*对于通道 IAM 角色,选择[使用模板创建 IAM 角色]。
*请选择您喜欢的角色名称。
②-⑪:设置策略模板
②-⑫:通道护栏政策
● 通道护栏策略
该策略优先于通道IAM 角色和用户角色。
如果您打开 CloudWatchReadOnlyAccess,则可以查看该图表。
②-⑬:通知设置
*请指定您在SNS上创建的主题。
③ 云观察
*我们将假设 EC2 已创建。
③-①:云观察>报警>点击【创建报警】
选择您最喜欢的指标
③-③:选择报警条件
③-④:通知设置
③-⑤:指定报警名称
③-⑥点击【创建报警】
④ 通知测试
④-①:检查报警是否开启。
④-②:查看报警是否已通知
*如果您设置阈值以便不发生警报,则可以如下所示检查恢复情况。
概括
这次,我们介绍了一篇关于如何使用Chatbot向Slack通知CloudWatch警报的文章。
在 Slack 中发送警报通知时,您可以使用聊天机器人轻松发送通知。
还包括图表 URL 和图表图像,因此警报非常容易阅读!
Slack 很容易实现,但如果你想使用 Teams/Chatwork 通知警报,你将不得不使用 AWS Lambda 编写 Python 代码,准备 webhook,并花费大量精力......
我真的希望 AWS 也支持 Teams/Chatwork 中的聊天机器人(尽管这可能不可能......)