概覽
監控
Overview
History
Summary
Configuration
Checkpoint 詳細資訊
概覽
Flink 的 Web 界面提供了
頁籤/标簽
來監視作業的 checkpoint 資訊。在作業終止後,這些統計資訊仍然可用。有四個不同的頁籤可顯示有關 checkpoint 的資訊:Overview,History,Summary和Configuration。以下各節将依次介紹這些内容。
監控
Overview
概覽頁籤列出了以下統計資訊。請注意,這些統計資訊在 JobManager 丢失時無法儲存,如果 JobManager 發生故障轉移,這些統計資訊将重置。
- Checkpoint Counts
- Triggered:自作業開始以來觸發的 checkpoint 總數。
- In Progress:目前正在進行的 checkpoint 數量。
- Completed:自作業開始以來成功完成的 checkpoint 總數。
- Failed:自作業開始以來失敗的 checkpoint 總數。
- Restored:自作業開始以來進行的恢複操作的次數。這還表示自 送出以來已重新啟動多少次。請注意,帶有 savepoint 的初始送出也算作一次恢複,如果 JobManager 在此操作過程中丢失,則該統計将重新計數。
- Latest Completed Checkpoint:最新(最近)成功完成的 checkpoint。點選
可以得到 subtask 級别的詳細統計資訊。More details
- Latest Failed Checkpoint:最新失敗的 checkpoint。點選
可以得到 subtask 級别的詳細統計資訊。More details
- Latest Savepoint:最新觸發的 savepoint 及其外部路徑。點選
可以得到 subtask 級别的詳細統計資訊。More details
- Latest Restore:有兩種類型的恢複操作。
- Restore from Checkpoint:從 checkpoint 恢複。
- Restore from Savepoint:從 savepoint 恢複。
History
Checkpoint 曆史記錄儲存有關最近觸發的 checkpoint 的統計資訊,包括目前正在進行的 checkpoint。

- ID:已觸發 checkpoint 的 ID。每個 checkpoint 的 ID 都會遞增,從 1 開始。
- Status:Checkpoint 的目前狀态,可以是正在進行(In Progress)()、已完成(Completed)()或失敗(Failed)()。如果觸發的檢查點是一個儲存點,你将看到一個 符号。
- Trigger Time:在 JobManager 上發起 checkpoint 的時間。
- Latest Acknowledgement:JobManager 接收到任何 subtask 的最新确認的時間(如果尚未收到确認,則不适用)。
- End to End Duration:從觸發時間戳到最後一次确認的持續時間(如果還沒有收到确認,則不适用)。完整 checkpoint 的端到端持續時間由确認 checkpoint 的最後一個 subtask 确定。這個時間通常大于單個 subtask 實際 checkpoint state 所需的時間。
- Checkpointed Data Size:所有已确認的 subtask 的 checkpoint 的資料大小。如果啟用了增量 checkpoint,則此值為 checkpoint 資料的增量大小。
- Processed in-flight data:在 checkpoint alignment 期間(從接收第一個和最後一個 checkpoint barrier 之間的時間)對所有已确認的 subtask 處理的大約位元組數。
- Persisted in-flight data:在 checkpoint alignment 期間(從接收第一個和最後一個 checkpoint barrier 之間的時間)對所有已确認的 subtask 持久化的位元組數。僅當啟用 unaligned checkpoint 時,此值大于 0。
對于 subtask,有兩個更詳細的統計資訊可用。
- Sync Duration:Checkpoint 同步部分的持續時間。這包括 operator 的快照狀态,并阻塞 subtask 上的所有其他活動(處理記錄、觸發計時器等)。
- Async Duration:Checkpoint 的異步部分的持續時間。這包括将 checkpoint 寫入設定的檔案系統所需的時間。對于 unaligned checkpoint,這還包括 subtask 必須等待最後一個 checkpoint barrier 到達的時間(checkpoint alignment 持續時間)以及持久化資料所需的時間。
- Alignment Duration:處理第一個和最後一個 checkpoint barrier 之間的時間。對于 checkpoint alignment 機制的 checkpoint,在 checkpoint alignment 過程中,已經接收到 checkpoint barrier 的 channel 将阻塞并停止處理後續的資料。
- Start Delay:從 checkpoint barrier 建立開始到 subtask 收到第一個 checkpoint barrier 所用的時間。
曆史記錄數量配置
你可以通過以下配置鍵配置曆史記錄所儲存的最近檢查點的數量。預設值為
10
。
# 儲存最近 checkpoint 的個數
web.checkpoints.history: 15
Summary
摘要計算了所有已完成 checkpoint 的端到端持續時間、Checkpointed 資料大小和 checkpoint alignment 期間緩沖的位元組數的簡單 min/average/maximum 統計資訊(有關這些内容的詳細資訊,請參見 History)。
請注意,這些統計資訊不會在 JobManager 丢失後無法儲存,如果 JobManager 故障轉移,這些統計資訊将重新計數。
Configuration
該配置頁籤列出了你指定的配置(streaming configuration):
- Checkpointing Mode:Exactly Once 或者 At least Once。
- Interval:配置的 checkpoint 觸發間隔。
- Timeout:逾時之後,JobManager 取消 checkpoint 并觸發新的 checkpoint。
- Minimum Pause Between Checkpoints:Checkpoint 之間所需的最小暫停時間。Checkpoint 成功完成後,至少要等這段時間再觸發下一個,這可能會延遲正常的間隔。
- Maximum Concurrent Checkpoints:可以同時進行的最大 checkpoint 個數。
- Persist Checkpoints Externally:啟用或禁用持久化 checkpoint 到外部系統。如果啟用,還會列出外部化 checkpoint 的清理配置(取消時删除或保留)。
Checkpoint 詳細資訊
當使用者點選某個 checkpoint 的 More details 連結時,你将獲得其所有 operator 的 Minimum/Average/Maximum 摘要資訊,以及每個 subtask 單獨的詳細量化資訊。
每個 Operator 的摘要資訊
所有 Subtask 的統計資訊
緻謝謝 Flink 官方英文原文
https://ci.apache.org/projects/flink/flink-docs-master/docs/ops/monitoring/checkpoint_monitoring/