Apache Flink Checkpoint 监控指南:读懂 Web UI 四大标签页与每项指标
大数据流处理批处理数据工程【免费下载链接】flink项目地址https://gitcode.com/gh_mirrors/fli/flink点击查看免费下载Flink 的 Web 界面提供了专门监控作业 Checkpoint 的入口且作业终止后这些统计依然可查。本文围绕官方文档docs/content/docs/ops/monitoring/checkpoint_monitoring.md展开系统讲解 Overview、History、Summary、Configuration 四个标签页的全部指标含义与配置方法并结合 Flink 运行时源码如CheckpointMetrics、WebOptions剖析每项数据在 JobManager 侧的采集与聚合方式帮助你在排查 Checkpoint 超时、对齐耗时过长、增量快照数据量异常等问题时能直接依据监控面板定位根因。监控入口与总体说明Flink Web 界面的 Checkpoint 页面由四个标签页组成Overview、History、Summary与Configuration。这些统计数据在作业终止后仍可访问但有两类统计Overview 页的计数、Summary 页的汇总在 JobManager 丢失后不会保留JobManager Failover 后会被重置。Overview 标签页Overview 页列出以下统计注意这些统计不跨 JobManager Failover 保留JobManager 故障切换后会被重置Checkpoint Counts检查点计数Triggered已触发自作业启动以来触发的 Checkpoint 总数。In Progress进行中当前正在进行的 Checkpoint 数量。Completed已完成自作业启动以来成功完成的 Checkpoint 总数。Failed失败自作业启动以来失败的 Checkpoint 总数。Restored恢复自作业启动以来的恢复操作次数该数值也告诉你作业自提交以来重启了多少次。注意携带 Savepoint 的初始提交也算一次 Restore如果运行期间 JobManager 丢失该计数会被重置。Latest Completed Checkpoint最近一次完成的检查点最近一次成功完成的 Checkpoint点击More details可下钻到子任务subtask级别的详细统计。Latest Failed Checkpoint最近一次失败的检查点最近一次失败的 Checkpoint同样可点击More details查看子任务级别明细。Latest Savepoint最近一次 Savepoint最近触发的 Savepoint 及其外部存储路径可点击More details查看明细。Latest Restore最近一次恢复分两种类型Restore from Checkpoint从常规周期性 Checkpoint 恢复Restore from Savepoint从 Savepoint 恢复。这些计数在源码中对应 CheckpointStatsCounts.java由 JobManager 在 Checkpoint 触发、完成、失败、恢复等事件处维护。History 标签页Checkpoint 历史表保留了最近触发的所有 Checkpoint 的统计包括当前仍在进行中的 Checkpoint。需要留意对于失败的 Checkpoint其指标采用尽力而为best efforts方式更新可能不准确。表中的每列含义如下ID触发的 Checkpoint 的 ID从 1 开始递增。Status状态Checkpoint 的当前状态为In Progress、Completed或Failed。如果该 Checkpoint 是 Savepoint会显示一个软盘floppy-disk符号。Acknowledged已确认数已确认acknowledged的子任务数 / 子任务总数。Trigger Time触发时间Checkpoint 在 JobManager 被触发的时间。Latest Acknowledgement最近确认时间JobManager 收到的任意子任务的最近一次确认时间若尚无确认则为 n/a。End to End Duration端到端时长从触发时间戳到最近一次确认的时长无确认时为 n/a。一次完整 Checkpoint 的端到端时长按最后一个确认的子任务确定因此该时间通常大于单个子任务实际完成状态快照所需的时间。Checkpointed Data Size检查点数据大小该 Checkpoint 同步与异步阶段持久化的数据量。若启用了增量 Checkpoint 或 Changelog该值可能与 Full Checkpoint Data Size 不同。Full Checkpoint Data Size完整检查点数据大小所有已确认子任务累计的 Checkpoint 数据量。Processed (persisted) in-flight data对齐期间处理/持久化的在途数据所有已确认子任务在对齐期间收到第一个与最后一个 Checkpoint Barrier 之间的时间处理/持久化的字节数近似值。只有启用非对齐 Checkpointunaligned checkpoint时持久化数据量才可能大于 0。展开某个 Checkpoint 后每个子任务还有更细粒度的统计Sync Duration同步阶段时长Checkpoint 同步部分的耗时包含对算子状态做快照期间会阻塞该子任务上的所有其他活动处理记录、触发定时器等。Async Duration异步阶段时长Checkpoint 异步部分的耗时包含将 Checkpoint 写入所选文件系统的时间。对于非对齐 Checkpoint还包含子任务等待最后一个 Checkpoint Barrier 到达的对齐时间alignment duration以及持久化在途数据in-flight data的耗时。Alignment Duration对齐时长处理第一个与最后一个 Checkpoint Barrier 之间的时间。对齐 Checkpoint 在对齐期间已收到 Barrier 的通道会被阻塞不再处理更多数据。Start Delay启动延迟自 Checkpoint Barrier 创建起到第一个 Barrier 到达该子任务所花的时间。Unaligned Checkpoint是否非对齐该子任务的 Checkpoint 是否以非对齐方式完成。对齐 Checkpoint 在对齐超时后可以切换为非对齐 Checkpoint。这些子任务级指标在运行时由 CheckpointMetrics.java 承载其字段与页面一一对应bytesProcessedDuringAlignment对齐期间处理的字节数、bytesPersistedDuringAlignment对齐期间持久化的字节数、alignmentDurationNanos流对齐耗时纳秒、syncDurationMillis同步快照耗时毫秒、asyncDurationMillis异步快照耗时毫秒、checkpointStartDelayNanosBarrier 创建到到达子任务的延迟、unalignedCheckpoint是否非对齐完成、bytesPersistedOfThisCheckpoint本次持久化字节数与totalBytesPersisted累计持久化字节数。其中“未知/未设置”的取值统一用常量UNSET -1L表示这解释了 UI 中部分字段在 Checkpoint 尚未完成时显示为 n/a 的原因。历史条数配置通过以下配置键可调整 History 页保留的近期 Checkpoint 条数默认值为10# Number of recent checkpoints that are remembered web.checkpoints.history: 15在源码中该选项定义于 WebOptions.java配置键为web.checkpoints.history整型、默认 10并带有已废弃的旧键jobmanager.web.checkpoints.history旧版本配置可直接沿用新版本会自动兼容。该值在 JobManager 启动时生效例如 RestHandlerConfiguration.java 在初始化 REST 处理器时读取它来构造 Checkpoint 历史缓存。Summary 标签页Summary 页对所有已完成的 Checkpoint 计算简单的最小值/平均值/最大值统计覆盖四个维度End to End Duration端到端时长、Incremental Checkpoint Data Size增量检查点数据大小、Full Checkpoint Data Size完整检查点数据大小与 Bytes Buffered During Alignment对齐期间缓冲的字节数含义见 History 章节。注意这些统计不跨 JobManager Failover 保留JobManager 故障切换后会被重置。因此 Summary 页适合作为作业稳定运行一段时间后的趋势基线而不适合跨 Failover 做长期对比。Configuration 标签页Configuration 页列出当前作业的流式 Checkpoint 配置Checkpointing Mode检查点模式Exactly Once或At least Once。Interval间隔配置的 Checkpoint 间隔每隔该间隔触发一次 Checkpoint。Timeout超时时间超过该超时时间后Checkpoint 会被 JobManager 取消并触发新的 Checkpoint。Minimum Pause Between Checkpoints检查点间最小间隔两次 Checkpoint 之间的最小暂停时间。一次 Checkpoint 成功完成后至少等待该时间才触发下一次可能会推迟原本的正周期触发。Maximum Concurrent Checkpoints最大并发检查点数允许同时处于进行中的 Checkpoint 最大数量。Persist Checkpoints Externally外部化持久化启用或禁用。若启用还会列出外部化 Checkpoint 的清理策略取消作业时删除 delete 或保留 retain。对照上述监控面板可以在 Configuration 页核对作业实际生效的 Checkpointing 参数与 History 页的 End to End Duration、Timeout 相互印证若端到端时长长期逼近 Timeout说明间隔或超时配置偏紧需要从同步/异步阶段时长入手调优。Checkpoint Details逐算子与逐子任务明细点击某个 Checkpoint 的More details链接可以看到该 Checkpoint 在所有算子上的 Minimum/Average/Maximum 汇总以及每个子任务的详细数值。按算子汇总视图所有子任务统计视图数据流从子任务确认到 UI 展示从源码结构看页面数据的生成链路是各 TaskManager 子任务完成本地快照后向 JobManager 发送确认JobManager 将每个子任务的CheckpointMetrics聚合进 CheckpointStatsSnapshot.java单个 Checkpoint 的完整快照并按条数上限保存在 CheckpointStatsHistory.java受web.checkpoints.history约束的环形历史中REST 层再通过 CheckpointStatsCache.java 等处理器把数据序列化后提供给 Web 界面。这条链路也解释了文档中的两个特性历史条数有限超出上限的最早记录被丢弃以及 JobManager Failover 后 Overview/Summary 统计被清零这些聚合状态保存在 JobManager 内存中并非持久化数据。小结Flink 的 Checkpoint 监控以四个标签页覆盖了“计数趋势—单条历史—统计汇总—生效配置”四个层面用Overview快速确认作业整体健康度Failed 计数持续增长、Restored 频繁递增都是危险信号用History逐条检查 End to End Duration、Checkpointed Data Size 与对齐期间在途数据定位耗时集中在同步阶段、异步写盘阶段还是 Barrier 对齐阶段用Checkpoint Details下钻到算子与子任务级别找出拖慢整体确认的“最后一名”子任务用Configuration核对间隔、超时、最小暂停与外部化策略等参数必要时结合web.checkpoints.history调整历史保留条数以便回溯更长时间窗口。由于 Overview 与 Summary 统计在 JobManager Failover 后重置且失败 Checkpoint 的指标仅为尽力而为的近似值在做容量规划或 SLA 评估时应以 History 中逐条完成记录为准。赞分享大数据流处理批处理数据工程【免费下载链接】flink项目地址https://gitcode.com/gh_mirrors/fli/flink点击查看免费下载相关推荐Flink Checkpoint 监控指南深入解读 Web UI 的四个选项卡与底层实现Flink Checkpoint 监控指南深入解读 Web UI 的四个选项卡与底层实现 导读 Checkpoint检查点是 Flink 流式作业容错与恢大数据流处理批处理数据工程LiteLLM Grafana 监控看板实战导入 gen_ai 与 litellm_* 指标 JSON读懂每一块 Panel 的 PromQLLiteLLM Grafana 监控看板实战导入 gen_ai 与 litellm_ 指标 JSON读懂每一块 Panel 的 PromQL cookboo后端API网关LLM 网关大模型人工智能Flink 大状态与 Checkpoint 调优实战从监控指标、RocksDB 内存配置到任务本地恢复Flink 大状态与 Checkpoint 调优实战从监控指标、RocksDB 内存配置到任务本地恢复 本文围绕 Flink 官方运维手册中的大状态调优指南大数据流处理批处理数据工程上一篇10分钟定制DS420引导镜像RR项目硬件适配与性能优化指南下一篇解决AMD显卡温度迷局FanControl传感器异常深度排查指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考