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),仅供参考

相关新闻

使用 AWS SDK for Java 2.x 管理 AWS Lambda 函数:完整场景实战指南

使用 AWS SDK for Java 2.x 管理 AWS Lambda 函数:完整场景实战指南

示例工程教程后端 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. For more information, see the Readme.md file below. 项目地…

2026/9/25 7:52:10 阅读更多 →
Apache Pulsar 模块化负载管理器(Modular Load Manager):启用方法、验证手段与源码级实现解析

Apache Pulsar 模块化负载管理器(Modular Load Manager):启用方法、验证手段与源码级实现解析

消息队列后端流处理 【免费下载链接】pulsar Apache Pulsar - distributed pub-sub messaging system 项目地址: https://gitcode.com/gh_mirrors/pulsar28/pulsar 点击查看 免费下载 在 Pulsar 集群中,命名空间 bundle 如何分配到哪个 broker&#xff…

2026/9/25 7:52:10 阅读更多 →
手机云原生开发实战:终端兼容性与云原生IDE选型指南

手机云原生开发实战:终端兼容性与云原生IDE选型指南

1. 这不是“手机上写个Hello World”——而是真正在移动设备上跑通完整开发闭环2026年,我用折叠屏手机在高铁上完成了从需求评审、代码编写、单元测试到容器镜像构建、Kubernetes集群部署的全流程。没有远程桌面,不依赖PC中转,整个过程在终端…

2026/9/25 7:51:10 阅读更多 →

最新新闻

网关常见错误解析:502 Bad Gateway与路由配置问题

网关常见错误解析:502 Bad Gateway与路由配置问题

我无法根据当前输入生成符合要求的博文。原因如下:项目标题仅为单个字母“ax”,无明确语义指向,无法界定所属领域(是缩写?产品名?命令?变量?代码片段?)&#…

2026/9/26 13:04:10 阅读更多 →
Java微服务实战:RabbitMQ消息队列从业务设计到Docker部署与可靠性治理

Java微服务实战:RabbitMQ消息队列从业务设计到Docker部署与可靠性治理

做 Java 项目这些年,消息队列几乎是躲不开的一环,尤其是电商类的分布式系统。前段时间我完整做了一遍黑马商城这个项目的 RabbitMQ 模块,从业务梳理、交换机设计,到 Docker 部署、权限配置,再到生产环境的可靠性治理&a…

2026/9/26 13:04:10 阅读更多 →
DeepSeek Harness 生产级 Agent 编排实战指南

DeepSeek Harness 生产级 Agent 编排实战指南

1. 项目概述:这不是一个“装完就跑”的玩具,而是一套需要你亲手调校的Agent引擎 DeepSeek Harness 不是 npm install 一行命令就能点亮的彩灯,它是一个面向生产级 Agent 编排的插件化框架——你可以把它理解成给 AI 智能体装上可拆卸的机械臂…

2026/9/26 13:04:10 阅读更多 →
高德地图MCP服务接入实战:TaoToken统一Key配置与连通性验证

高德地图MCP服务接入实战:TaoToken统一Key配置与连通性验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/26 13:04:10 阅读更多 →
STM32连接红外PM2.5传感器:从接线到滤波的完整实战指南

STM32连接红外PM2.5传感器:从接线到滤波的完整实战指南

红外PM2.5传感器在嵌入式环境监测项目里算是性价比极高的一类器件,尤其是那种带风扇的主动式红外粉尘传感器,几十块钱就能拿到一个能输出串口数据的模块。但很多人第一次把它接到STM32上时会发现:接线就三根线,代码看起来也不复杂…

2026/9/26 13:04:10 阅读更多 →
AI智能体本地运行耗电实测:从功耗估算到降耗优化

AI智能体本地运行耗电实测:从功耗估算到降耗优化

如果你也在跑AI智能体,大概率被问过这样一句话:“你小子天天挂个模型,电费是不是爆炸了?”说实话,我第一次被问住的时候真答不上来。后来我花了几周时间把本地智能体耗电量这件事系统测了一遍,才发现网上主…

2026/9/26 13:03:10 阅读更多 →

日新闻

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、…

2026/9/26 0:00:25 阅读更多 →
学校官网模拟全流程实践:从页面布局到后端接口与部署

学校官网模拟全流程实践:从页面布局到后端接口与部署

如果你正在找一门 Web 大作业的题目,或者刚开始接触 Web 前端开发想做点能拿来展示的东西,“学校官网模拟”几乎是最稳的选择。题目看着简单,但要把导航、新闻列表、轮播 Banner、二级页面、后台数据都串起来,其实已经把前端布局、…

2026/9/26 0:00:25 阅读更多 →
超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

超级玛丽游戏源码C++:从零搭建横版跳跃游戏工程

简介:这是一份面向游戏开发初学者与C进阶学习者的超级玛丽(超级马里奥)游戏源码,基于C面向对象编程实现,适合想通过经典项目理解游戏主循环、角色类设计、地图关卡加载与物理碰撞检测的读者参考。压缩包共49个文件&…

2026/9/26 0:00:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/25 19:27:14 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/25 11:15:26 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/25 20:29:09 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/25 20:29:43 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/25 20:29:31 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/25 19:27:26 阅读更多 →