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

340 阅读7分钟

腾讯云事件总线(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 进入集成流编辑页面。
  1. 选择「Trigger 组件」,此处请选择「**腾讯云 EventBridge 事件总线」**作为触发器。选择 “EventBridge” 并进行配置,按照要求完成相关填写:
  1. 使用逻辑组件 Set Variable 保存 EventBridge 事件的 region、资源ID、requestId 等信息,具体步骤如下:
  • 单击 画布中的 “+” 弹出组件筛选框。选择 Set Variable 组件,将 payload 中的 region、资源ID、requestId 用变量名 body 进行保留。
  • 单击变量值后面的 f(x) 切换到表达式输入模式,使用表达式获取变量值。

    • 变量值为:any
    • 表达式为:

    def dw_process(msg):

​ return

  1. (可选)配置 Try 组件捕获子流错误,单击画布中的 Catch 选框。设置错误类型为 ANY,可以捕获所有错误,并配置 Logger 组件用来在控制台输出日志。
步骤 2:完成 IM 投递平台配置(以企业微信机器人为例,飞书、钉钉相同)
  1. 单击 画布中的“+”弹出组件筛选框。选择 企业微信机器人 连接器 - 发送 markdown 消息;
  1. 配置企业微信机器人 webhook 地址;
  1. 单击变量值后面的 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:开通事件总线服务

参考文档:cloud.tencent.com/document/pr…

告警推送配置与管理可参考:cloud.tencent.com/document/pr…

目前接入事件总线的事件源列表:

步骤 2:新建事件规则

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

步骤 3:模拟事件告警触发测试
  1. 登录 事件总线控制台 选择 事件集,此文档以默认事件集为例。单击 发送事件 > 默认模板 ,选择 云服务器 > 云服务器-机器重启。
  1. 会自动生成事件字段,单击确定即可触发模拟告警信号。

  2. 验证模拟效果。

  • 成功触发后,已配置的接收端内部群会受到对应机器人的消息推送。
  • 消息推送的内容,与集成流设计步骤六的表达式内容相关。
3. 实测效果展示图

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

触发操作:尝试触发服务器重启如下图:

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

企微微信群推送消息:

钉钉内部群推送消息:

飞书内部群推送消息:

One More Thing

立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 👉 腾讯云 Serverless 新手体验

欢迎访问:Serverless 中文网