查看原文
其他

「EB + iPaaS + X 计划」系列一:告警信息实时推送

腾讯云事件总线 腾讯云云函数 2022-05-10

腾讯云事件总线(EventBridge)与腾讯千帆鹊桥 iPaaS 携手,将安全、稳定、高效的无服务器事件管理平台与腾讯千帆鹊桥 iPaaS 的多种连接器集成,通过 「EB x iPaaS x X」架构,可以快速构建各种业务场景,帮您以配置化的方式轻松实现无服务器事件驱动架构的搭建。


通用业务场景下,监控告警 是必不可缺的运维模块,如何有效监控到告警信息并及时进行自动化处理,是每个业务方都需要思考和面对的问题。基于事件总线 EventBridge 和腾讯千帆鹊桥 iPaaS,腾讯云提供了一套完整的监控运维解决方案:「EB x iPaaS x IM」,帮助您简化搭建流程,高效处理告警信息。



01.

应用场景

  • 告警信息实时推送

无需代码编写,仅需几步配置,即可完成云上业务产生的告警事件到企业微信、钉钉、飞书等 IM 平台的即时推送,或到数据分析平台,完成告警事件的进一步分析。

  • 业务异常自动处理通知

依赖 EB + 云函数 SCF,可以实现接收到告警信息后的业务自动处理逻辑,并将处理完成的信息推送给用户,保证业务稳定性。

  • 异常消息记录存储

通过 EB-iPaaS,您也可以将 SaaS 业务产生的异常告警信息快速发送到云上,利用云函数、日志服务、COS 等产品,实现异常消息的分析处理以及永久存储。

  • 业务日志分析处理

业务的日志分析也是常见业务场景,例如电商或者游戏平台,需要实时收集云服务告警业务日志导出到第三方数据分析平台,从而对于用户使用场景或者偏好进行细粒度分析。


02.

方案优势

  • 低代码

省去传统方案下自己编写代码进行协议适配、消息推送等操作,全链路配置化,点击几步即可完成完整链路的配置。

  • 高适配

EB-iPaaS 链路已对接 30+ 云服务产品,50+ SaaS 产品,以通用的标准规范完成对接,无需对每个接入产品进行单独开发配置。

  • 低成本

基于云函数完成时间的处理操作,函数的弹性扩缩、按量计费等优势,可以大大降低运维业务的开发和使用成本。


03.

解决方案

1. 云服务事件 - IM 平台告警推送解决方案

如图,为了保证云服务告警事件可以及时推送,用户往往需要多渠道接收信息,通过 EventBridge X 鹊桥 iPaaS,仅需几步配置,可以快速完成整套告警流程。

2. SaaS 平台事件 - 云服务进行数据分析 & 存储 & 自动化处理解决方案

对于 SaaS 平台产生的业务事件或告警事件,当需要进一步的处理 / 分析 / 转储,也可以通过 EB - iPaaS 链路快速实现。

业务模块

功能说明

腾讯云千帆鹊桥 iPaaS

接收 SaaS 服务事件,并对事件进行简单编辑处理;

腾讯云 EventBridge 事件总线

将事件进行筛选分发,路由给指定目标;


3. 云服务业务日志分析处理解决方案

除了告警推送外,业务日志分析也是业务方经常需要关注的问题,云上业务平台的事件如何与第三方成熟 SaaS 数据分析工具进行对接,EB - iPaaS 也为您提供了快速搭建该架构的解决方案。

业务模块

功能说明

腾讯云千帆鹊桥 iPaaS

接收云服务业务事件并进行简单处理;

腾讯云 EventBridge 事件总线

对接第三方 SaaS 数据分析平台,完成业务日志的实时分析展示;


04.

最佳实践:云产品告警事件到 IM 服务的告警推送


基本架构


前期准备

  • 获取腾讯云 SecretId 和 SecretKey,用于 EB 和 iPaaS 之间绑定

  • 搭建好您的企业微信、钉钉或飞书机器人,并获取相关配置,获取 webhook 链接。


1. iPaaS 集成流配置

步骤 1:创建集成流,完成 EB Trigger 配置

1. 登录 企业集成服务控制台 ,单击 深度集成 > 选择对应项目 > 添加应用,选择空白应用,并命名为“EB-企业微信机器人(应用名称可自行定义)”,单击确定,进入默认对应应用名称(此处为“EB-企业微信机器人”)的应用编辑页。选中 NewFlow 进入集成流编辑页面。

  • 企业集成服务控制台:https://console.cloud.tencent.com/eis


2. 选择「Trigger 组件」,此处请选择「腾讯云 EventBridge 事件总线」作为触发器。选择 “EventBridge” 并进行配置,按照要求完成相关填写:


3. 使用逻辑组件 Set Variable 保存 EventBridge 事件的 region、资源ID、requestId 等信息,具体步骤如下:
  • 单击 画布中的 “+” 弹出组件筛选框。选择 Set Variable 组件,将 payload 中的 region、资源ID、requestId 用变量名 body 进行保留。


  • 单击变量值后面的 f(x) 切换到表达式输入模式,使用表达式获取变量值。
    • 变量值为:any
    • 表达式为:
     def dw_process(msg):
          return 


4. (可选)配置 Try 组件捕获子流错误,单击画布中的 Catch 选框。设置错误类型为 ANY,可以捕获所有错误,并配置 Logger 组件用来在控制台输出日志。

步骤 2:完成 IM 投递平台配置(以企业微信机器人为例,飞书、钉钉相同)

1. 单击 画布中的“+”弹出组件筛选框。选择 企业微信机器人 连接器 - 发送 markdown 消息;


2. 配置企业微信机器人 webhook 地址;


3. 单击变量值后面的 f(x) 切换到表达式输入模式,使用表达式获取变量值,表达式示例:
def dw_process(msg): result = '''<font color=\"warning\">收到告警信息,请及时处理</font>\n >实例ID:<font color=\"comment\">''' + msg.vars.get('body').get('subject') + '''</font> >地域:<font color=\"comment\">''' + msg.vars.get('body').get('region') + '''</font> >事件名称:<font color=\"comment\">''' + msg.vars.get('body').get('type') + '''</font>'''    return result;


步骤 3:发布集成流

按照上述步骤配置完成后,单击控制台右上角的发布按钮即可发布集成应用。


2. 腾讯云事件总线配置

完成腾讯千帆鹊桥 iPaaS 端的集成流配置后,还需要在腾讯云事件总线端配置相应事件集规则,才可完成按照所配置的规则触发集成流。

步骤 1:开通事件总线服务

参考文档:https://cloud.tencent.com/document/product/1359/56068
告警推送配置与管理可参考:https://cloud.tencent.com/document/product/1359/61494
目前接入事件总线的事件源列表:

步骤 2:新建事件规则

开通后,登录事件总线控制台 选择 事件规则 ,单击 新建事件规则。此文档以云服务器为例,投递目标选择「SaaS连接器」,按照如下截图创建规则后,单击 确定 保存规则即可。
  • 事件总线控制台:https://console.cloud.tencent.com/eb

  • 创建事件规则可参考:https://cloud.tencent.com/document/product/1359/56085



步骤 3:模拟事件告警触发测试

1. 登录 事件总线控制台 选择 事件集,此文档以默认事件集为例。单击 发送事件 > 默认模板 ,选择 云服务器 > 云服务器-机器重启。
  • 事件总线控制台:https://console.cloud.tencent.com/eb

2. 会自动生成事件字段,单击确定即可触发模拟告警信号。
3. 验证模拟效果。
  • 成功触发后,已配置的接收端内部群会受到对应机器人的消息推送。

  • 消息推送的内容,与集成流设计步骤六的表达式内容相关。



3. 实测效果展示图

按照上述配置完成后,当服务器或者配置的其他规则有对应规则触发时,机器人会自动推送消息到对应群聊,保证故障信息触达的及时性。
触发操作:尝试触发服务器重启如下图:

集成流效果如下图(钉钉、飞书相同):


企微微信群推送消息:

钉钉内部群推送消息:

飞书内部群推送消息:



识别下方 👇 二维码,进入「事件总线」交流群


推荐阅读


One More Thing

欢迎进入千人 QQ 群 (871445853) 交流 Serverless!
  • GitHub: github.com/serverless
  • 官网: cloud.tencent.com/product/serverless-catalog
点击「阅读原文」,立即体验配置 告警信息实时推送。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存