Flink实时监控与告警实战方案
一、整体架构与工具链
二、快速落地步骤
三、关键监控指标与常用告警规则
| 维度 | 核心指标 | 典型阈值/判断 | 建议动作 |
|---|---|---|---|
| 状态与容错 | Checkpoint 失败次数 | 5 分钟内失败 ≥ 3 次 | 立刻排查依赖/状态后端/网络 |
| 运行性能 | 反压比率 | > 0.8 持续 2m | 从下游算子/外部依赖查瓶颈 |
| 资源 | TaskManager 堆内存使用率 | > 90% 持续 1m | 扩容并行度/优化算子/调大内存 |
| 延迟 | 端到端延迟 P95 | 超过业务 SLA | 优化算子逻辑/并行度/外部依赖 |
| 外部依赖 | Kafka 消费延迟(Lag) | 突增或持续增长 | 扩容消费者/优化写入/排查下游拥塞 |
alert: CheckpointFailed expr: increase(flink_jobmanager_job_checkpoint_failed_count[5m]) >= 3 for: 1m labels: {severity: critical} annotations: summary: “Flink Job {{ $labels.job_name }} Checkpoint失败” description: “过去5分钟失败 {{ $value }} 次,请立即排查。”
alert: HighBackpressure expr: flink_taskmanager_job_task_operator_backpressure_ratio > 0.8 for: 2m labels: {severity: warning} annotations: summary: “算子 {{ $labels.operator_name }} 反压过高” description: “反压比率 {{ $value | round 2 }},检查下游处理与外部依赖。”
alert: TMHighMemoryUsage expr: flink_taskmanager_heap_used / flink_taskmanager_heap_max > 0.9 for: 1m labels: {severity: critical} annotations: summary: “TaskManager {{ $labels.taskmanager_id }} 内存使用率过高” description: “使用率 {{ $value | round 2 }}%,存在 OOM 风险。”
alert: HighEndToEndLatency expr: flink_jobmanager_job_end_to_end_latency_p95 > on(job_name) group_left() (max by(job_name)(flink_jobmanager_job_end_to_end_latency_p95) * 1.5) for: 3m labels: {severity: warning} annotations: summary: “Job {{ $labels.job_name }} 端到端延迟 P95 超阈值” description: “当前 P95={{ $value }},阈值={{ $labels.threshold }}”。
四、在Flink作业内实现低延迟业务告警
五、排障与最佳实践
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。