通过Serverless Application Repository一键启用微信告警通知

前言

我们在使用云平台时偶尔会在管理员邮箱中收到系统发出的告警通知,如:EC2维护信息,这些邮件很容易淹没在收件箱中,没有得到及时处理。另外,对于重要的应用,我们可能会在CloudWatch设置一些指标告警并进行邮件通知。如果这些都可以发到微信等即时通信软件,就比邮件通知便捷多了,毕竟很多人都习惯在即时通信软件上查看消息。具体实现原理并不复杂,我们知道微信等即时通信工具均提供了消息接口。第三方应用获取授权后,通过调用这些接口即可向客户端发送消息。在云平台上,可以在EventBridge/Cloudwatch Event中配置事件规则,即可以触发一个Lambda运行微信接口调用的处理逻辑,通过Serverless是可以简单地实现这个通知告警机制的。在这个教程里,我们会介绍如何在Serverless Application Repository部署一个微信告警应用,只要将自己微信接口的三个相关参数配置进去,就可以一键启用微信告警功能了。如果有一些新的告警事件想推送到微信,也可以在控制台上设置好规则,不用去修改Lambda相关代码。

关于本教程 
预计部署时间  5分钟
费用  免费套餐
受众  全栈开发人员
开发运维工程师
级别  初级
相关产品  SAR, Lambda, EventBridge
相关行业  通用
上次更新时间  2021年7月

教程说明

进入开发环境 

点击右侧按钮“登陆控制台”进入开发环境,如果您还没有账户,请先注册账户。

海外区域业务或个人使用,请注册“海外区域账户”;

中国区域业务(需企业营业执照认证),请注册“中国区域账户”。

  • 第1步 - 进入Serverless Application Repository控制台

    选择服务 > Serverless Application Repository 以进入 Serverless Application Repository 管理控制台。 选择 "可用应用程序" 并选择 “公用应用程序”, 在搜索框中输入 “Wechat” ,并勾选 “显示用于创建自定义 IAM 角色或资源策略的应用程序”, 找到 “WeChat-Notifer” 应用程序。

    Wechat-1
  • 第2步 - 部署应用

    在“应用程序设置" 部分,输入与微信接口相关的三个参数。 这三个参数可在企业微信中创建应用后获得:

    a. 首先登录企业微信管理后台,创建一个新的应用,并记录 AgentId 和 Secret。

    Wechat-13

    b. 记录企业ID。

    Wechat-3

    c. 输入完毕后点击“部署”即可在后台进行部署。

    Wechat-4
  • 第3步 - 检查应用部署情况

    a. 这个应用会自动部署一系列的组件,涉及的 亚马逊云科技服务包括 EventBridge, SNS, Lambda 和 Secrets Manager 等,为方便演示EventBridge功能,这个应用部署时创建了两个EventBridge的Rule,一个是捕获EC2的状态变化事件(如开关机),另一个是捕获亚马逊云科技服务事件(如EC2计划维护事件)。

    Wechat-12

    b. 部署完成后,可以看到相关部署出来的资源。接下来我们可以测试一下微信通知功能是否正常工作,点击 “WeChatNotifierSNSTopic”,自动跳转至 SNS 控制台。

    Wechat-6

    c. 在SNS控制台上点击“发布消息”。

    Wechat-7

    d. 输入测试消息并发送。

    Wechat-8

    e. 在微信客户端检查是否能够正常接收测试消息。

    Wechat-15

    后续其他应用如果需要发送消息至微信,则可以将其与SNS进行对接,这样就可以很方便的进行微信告警而无须额外增加处理代码。

  • 第4步 - 通过 EventBridge 捕获云平台相关事件并进行告警

    a. 如前面所述,这个应用部署了两个示例的规则,分别是捕获云服务健康事件和EC2状态变更事件,同样可以在 Lambda 控制台中找到这两个规则。

    Wechat-10

    b. 接下来我们可以启动一台EC2实例,在微信端检查相关的告警信息。

    Wechat-14
  • 小结

    在这个教程里我们演示了如何在Serverless Application Repository一键部署一个微信告警应用,以帮助我们快速进行云平台事件的告警。通过对EventBridge规则的扩展,我们可以很方便地增加新的告警规则,而不需要去手动编写Lambda代码。从这个微信告警应用,我们也可以看到Serverless对于应用开发的效率提升非常明显,我们可以在后续的应用场景中更多地使用Serverless服务和技术,从而提高开发效率,减少运维压力。

现在就开始在亚马逊云上构建

无论您是在寻找计算能力、数据库、存储、内容分发、人工智能与机器学习,大数据分析还是其他功能,亚马逊云科技都有相应的服务来帮助您建立具有更高灵活性、可扩展性和可靠性的复杂应用。

企业出海或个人体验

超过200项服务
包含80余种产品免费试用

发展中国业务

近百项服务
包含宁夏区域20余种产品免费试用
Sponsor
contactus-chat

在线聊天咨询
云计算专家一对一解答您的问题与需求

contactus-phone

专属热线咨询
1010 0966 由西云数据运营的亚马逊云科技中国(宁夏)区域
1010 0766 由光环新网运营的亚马逊云科技中国(北京)区域

contactus-form

联系销售人员
如需了解更多有关亚马逊云科技的信息,请联系亚马逊云科技云计算专家。