本文档提供实时计算 Flink 的关键告警指标、告警配置建议及运维实践示例,帮助您更好地监控系统性能并进行故障诊断。
前提条件
请参见配置监控告警,根据您工作空间使用的监控服务类型,选择相应配置方式。
ARMS的多指标监控只能通过自定义PromQL支持,如果需要简易化配置,仍可以通过云监控进行告警配置。
推荐告警规则配置
|
场景 |
组合指标/事件名称 |
规则配置 |
级别 |
处理动作 |
|
作业运行状态事件 |
= FAILED(事件告警) |
P0 |
①检查重启策略是否配置不当(建议使用默认配置)。 ②定位是重启策略导致,还是 JobManager/TaskManager 异常导致。 ③从最近的快照/成功的Checkpoint 恢复生产。 |
|
|
Overview/作业每分钟错误恢复次数 |
≥ 1 连续 1 个周期 |
P0 |
①定位问题
②从最近的快照/成功的Checkpoint 恢复生产。 |
|
|
Checkpoint 成功次数(5 min 累计) |
≤ 0 连续 1 周期 |
P0 |
①参阅系统检查点排查checkpoint失败根本原因。 ②定位问题
③动态更新配置或从最近成功的Checkpoint恢复生产。 |
|
|
Overview/业务延时 && 每秒Source端输入记录数 |
最大值延时≥180000 输入记录数≥0 连续 3 个周期 |
P1 |
①参阅监控指标说明排查延迟原因。
②根据具体原因调整
|
|
|
Overview/每秒Source端输入记录数 && 源端未处理数据时间 |
输入记录数≤0(业务而定) 最大值未处理时间≥60000 持续 5 个周期 |
P1 |
①可查看taskmanager.log、火焰图、上游服务指标等。确认问题是上游无数据/限流/异常,还是线程栈卡死。 ②根据具体原因调整
|
|
|
Overview/每秒输出到Sink端记录数 |
≤ 0 连续 5 个周期 |
P1 |
①确认数据是否抵达 Sink 算子
②确认 Sink 是否能写入外部系统
③临时双写降级,将数据写入备用存储。 |
|
|
CPU/ 单个TM 的CPU利用率 |
≥ 85 % 连续 10 周期 |
P2 |
①看火焰图或Flink UI定位热点算子。
②适当增加瓶颈算子的并行度,或为TaskManager分配更多CPU Core。 |
|
|
TM的堆内存已使用 |
≥ 90 % 连续 10 周期 |
P2 |
①查看 GC 日志定位问题。
②根据具体原因调整:增加Heap或调大并行度降低单槽数据量。 |
作业可用性
作业失败告警
开发控制台(ARMS)
-
登录实时计算控制台,单击目标工作空间操作列下的控制台。
-
在页面,单击目标作业名称。
-
单击告警配置页签。
单击添加告警规则,在右侧弹出的创建规则面板中配置告警参数。在具体规则区域,填写规则名称和描述,指标选择 Job Failed,设置生效时间(默认 00:00 - 23:59)和告警频率(默认 1 分钟,最大支持 1440 分钟)。在通知方式区域,勾选所需的通知方式(DingTalk、Email、SMS、Webhook、Phone),并在通知对象中选择联系人组。如需管理联系人,可单击通知对象管理链接。
云监控
登录云监控控制台。
-
在左侧导航栏,选择。
-
在订阅策略页签,单击创建订阅策略。
-
在创建订阅策略页面,配置相关参数,参数详情请参见管理事件订阅(推荐)。
在报警订阅步骤中,订阅类型选择系统事件;订阅范围中产品选择实时计算Flink,事件名称选择作业运行失败,事件等级和应用分组可保持全部。
作业稳定性
防止 JobManager 频繁重启
-
指标:
作业每分钟错误恢复次数 -
规则:1 分钟内作业重启报警
-
配置建议:
-
作业每分钟错误恢复次数监控值 >= 1
-
时间周期:1分钟
-
通知:电话+短信+邮件+WebHook(Critical)
-
Checkpoint 成功率保障
-
指标:
每分钟完成checkpoint数量 -
规则:Checkpoint5分钟无成功报警
-
配置建议:
-
每分钟完成checkpoint数量 -
监控值 <= 0
-
时间周期:5分钟
-
通知:电话+短信+邮件+WebHook(Critical)
-
数据实时性
保障 SLA 延迟
-
指标:
-
业务延时 -
每秒Source端输入记录数
-
-
规则:有数据流入且业务延时超过5分钟则告警(阈值和报警级别可根据业务调整)
-
配置建议:
-
业务延时最大值 >= 300000
-
每秒Source端输入记录数监控值 > 0
-
时间周期:5分钟
-
上游数据流中断检测
-
指标:
-
每秒Source端输入记录数 -
源端未处理数据的时间
-
-
规则:有数据流入且业务延时超过5分钟则告警(阈值和报警级别可根据业务调整)
-
配置建议:
-
每秒Source端输入记录数监控值 <= 0
-
源端未处理数据的时间最大值 > 60000
-
时间周期:5分钟
-
下游数据无输出检测
-
指标:
每秒输出到Sink端记录数 -
规则:无数据输出超过5分钟则告警(阈值和报警级别可根据业务调整)
-
配置建议:
-
每秒输出到Sink端记录数监控值 <= 0
-
时间周期:5分钟
-
资源性能瓶颈
CPU性能瓶颈
-
指标:
单个TM CPU的利用率 -
规则:CPU使用率大于85%超过10分钟则告警
-
配置建议:
-
单个TM CPU的利用率最大值 >= 85
-
时间周期:10分钟
-
内存性能瓶颈
-
指标:TM的堆内存已使用
-
规则:堆内存使用率大于90%超过10分钟则告警
-
配置建议:
-
TM的堆内存已使用最大值 >= 阈值(90%)
该阈值可在中查看。 194 MB / 413 MB。可以设置阈值为372 MB。
在 Flink 内存模型页面的 Metric 列中,JVM Heap 使用 194 MB / 413 MB,JVM Metaspace 使用 189 MB / 288 MB(65.56%)。
-
时间周期:10分钟
-