EventBridge 最佳实践场景:流计算 Oceanus 告警消息实时推送

2022-01-12 20:18:52 浏览数 (4)

作者:腾讯云云函数团队产品经理 April

导语

本文演示了如何捕获流计算 Oceanus (Flink) 集群状态变更,并通过事件总线(EventBridge)发送到企业微信或钉钉、飞书客户端。

背景介绍

监控与报警系统对于业务生产环境来说是不可或缺的,一旦有故障发生,需要有完善的监控告警链路,保证告警消息可以实时完成推送并进行处理。

腾讯云事件总线(EventBridge)简称 EB,是一款安全、稳定、高效的无服务器事件管理平台。事件中心的事件总线可以接收来自您自己的应用程序、软件即服务(SaaS)和腾讯云服务的实时事件及相关数据流,通过集成消息推送和 SCF 云函数,可以实现邮件、短信、企业微信、钉钉、飞书等多种方式的通知。

流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点的企业级实时大数据分析平台。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。

通过结合事件总线 EventBridge 云函数 SCF,可以实时捕获流计算 Oceanus 集群异常事件并完成推送,本文演示如何捕获流计算 Oceanus 集群状态变更,并发送到企业微信或钉钉、飞书客户端。推送到钉钉、飞书可通过云函数中调用对应产品接口或参考文章《基于千帆 iPass 完成事件到 IM 服务的推送》中的方式来实现。

架构设计

整体架构设计如下图,从图中可以看出,当 Oceanus 集群发生状态变更时(如实例异常,实例隔离,实例下线等), Oceanus 系统会产生告警事件并主动推送给 EB,经过 EB 绑定的告警规则筛选后,完成到指定目标的推送,并可以基于 SCF 云函数,推送给更多第三方服务。

架构图架构图

操作步骤

  1. 登录 EventBridge 控制台,配置告警规则
EventBridage控制台EventBridage控制台
  1. 以「流计算 Oceanus TaskManager CPU 负载过高」事件告警配置为例,您可以选择指定的事件告警类型,也可以选择全部告警事件,详细事件匹配规则请参见 管理事件规则。
事件配置事件配置

流计算 Oceanus 常见事件类型如下:

  • 流计算作业失败
  • 流计算快照失败
  • JobManager Pod 异常退出
  • TaskManager 背压较高
  • TaskManager CPU 负载过高
  • TaskManager Pod 异常退出
  • TaskManager Full GC 过久
  • 配置推送目标

可以自由选择投递目标,此处以消息推送和云函数两个投递目标为例。

  • 消息推送:通过配置消息推送,将您的告警事件推送至指定的消息接收渠道,完成用户及时触达。如果需要消息接收对象为子用户时,需 提前添加子用户并完成子用户的邮件、短信等接收渠道的验证才能正常收到消息推送。
消息推送消息推送
  • 云函数投递:事件总线支持通用 HTTP 协议的 webhook 直接投递,如果您的投递目标对于请求格式有严格要求,建议先通过云函数完成投递事件格式转换,再通过 EB 将原始事件直接发送给指定函数,完成推送链路搭建。
云函数投递云函数投递
  1. 告警链路测试

配置完成后,回到事件集控制台,选择刚刚已绑定的事件集,单击发送事件,可以选择已绑定的事件规则模版,单击发送进行测试。

注:测试模版里只展示 data 字段里的内容,其它字段已固定,无法自定义修改。

告警测试告警测试
发送告警发送告警

配置完成后,即可在腾讯云事件总线控制台,完成告警规则的查看与管理。

  1. 短信告警效果
推送效果推送效果

0 人点赞