一、事件介绍
注意:该功能目前为 Beta 版,暂不支持规则的自定义,后续该能力会陆续上线。
二、判定标准
·系统每5分钟会检测一次 Flink 作业中所有 TaskManager 的 CPU 使用率指标。
·当某个 TaskManager 的 CPU 使用率连续5个数据点的值都超过90%,则说明这个 TaskManager 处于 CPU 超高负载状态。
·如果该作业超过80%的 TaskManager 都处于超高负载状态,则会触发该事件的推送。
注意:为了避免频繁告警,每个作业的每个运行实例 ID 每小时最多触发一次该事件的推送。
三、告警配置
用户可以对该事件 配置作业监控告警(异常事件),并实时接收触发和恢复的告警通知。
四、处理建议
如果用户使用的是 Flink 1.13 版本,可以使用 Flink UI 内置的 火焰图功能 分析 CPU 调用热点,即占用 CPU 时间片较多的方法(如果火焰图功能未启用,需要在作业的 高级参数 选项中,加入 rest.flamegraph.enabled: true 参数,并重新发布作业版本,才可使用火焰图绘制功能):
如果未开启火焰图功能或者使用1.11等旧版本的 Flink,则可以多次查看 Flink UI 中 TaskManager 各线程的 Thread Dump 信息,寻找繁忙算子的调用频率较高的方法:
如果以上方法均未能解决问题,可以通过 工单 等方式联系我们的技术人员以协助定位。