Checkpoint 모니터링
Checkpoint 모니터링
Flink의 웹 인터페이스는 작업의 checkpoint를 모니터링하는 탭을 제공합니다. 이 통계는 작업이 종료된 후에도 사용할 수 있습니다. checkpoint에 대한 정보를 표시하는 탭은 Overview, History, Summary, Configuration 네 가지가 있습니다. 다음 섹션에서 모두 차례로 다룹니다.
출처: 문서
본문
모니터링
Overview 탭
Overview 탭은 다음 통계를 나열합니다. 주의할 점은 이 통계는 JobManager 손실 후에도 유지되지 않으며 JobManager가 장애 조치하면 재설정된다는 것입니다.
- Checkpoint Counts
- Triggered: 작업 시작 이후 트리거된 checkpoint의 총 수입니다.
- In Progress: 현재 진행 중인 checkpoint 수입니다.
- Completed: 작업 시작 이후 성공적으로 완료된 checkpoint의 총 수입니다.
- Failed: 작업 시작 이후 실패한 checkpoint의 총 수입니다.
- Restored: 작업 시작 이후 복원 작업의 수입니다. 이는 제출 이후 작업이 몇 번 재시작했는지도 알려줍니다. savepoint로 처음 제출하는 것도 복원으로 계산되며, 운영 중 JobManager가 손실되면 이 카운트는 재설정됩니다.
- Latest Completed Checkpoint: 가장 최근에 성공적으로 완료된 checkpoint입니다.
More details를 클릭하면 서브태스크 수준까지의 상세 통계를 볼 수 있습니다. - Latest Failed Checkpoint: 가장 최근에 실패한 checkpoint입니다.
More details를 클릭하면 서브태스크 수준까지의 상세 통계를 볼 수 있습니다. - Latest Savepoint: 외부 경로와 함께 가장 최근에 트리거된 savepoint입니다.
More details를 클릭하면 서브태스크 수준까지의 상세 통계를 볼 수 있습니다. - Latest Restore: 두 가지 유형의 복원 작업이 있습니다.
- Restore from Checkpoint: 일반 주기적 checkpoint에서 복원했습니다.
- Restore from Savepoint: savepoint에서 복원했습니다.
History 탭
checkpoint 히스토리는 최근에 트리거된 checkpoint(현재 진행 중인 것 포함)에 대한 통계를 유지합니다.
실패한 checkpoint의 경우 메트릭이 best-effort 기준으로 갱신되며 정확하지 않을 수 있습니다.

- ID: 트리거된 checkpoint의 ID입니다. ID는 각 checkpoint마다 1부터 증가합니다.
- Status: checkpoint의 현재 상태로, In Progress, Completed, Failed 중 하나입니다. 트리거된 checkpoint가 savepoint면 플로피 디스크 기호가 표시됩니다.
- Acknowledged: 전체 서브태스크 중 승인된 서브태스크 수입니다.
- Trigger Time: JobManager에서 checkpoint가 트리거된 시간입니다.
- Latest Acknowledgement: JobManager에서 마지막 승인을 받은 시간입니다(아직 승인을 받지 못했으면 n/a).
- End to End Duration: 트리거 타임스탬프부터 마지막 승인까지의 시간입니다(아직 승인을 받지 못했으면 n/a). 완료된 checkpoint의 end to end 시간은 checkpoint를 승인하는 마지막 서브태스크에 의해 결정됩니다. 이 시간은 일반적으로 단일 서브태스크가 실제로 상태를 checkpointing하는 데 필요한 시간보다 큽니다.
- Checkpointed Data Size: 해당 checkpoint의 동기 및 비동기 단계에서 유지된(persisted) 데이터 크기입니다. 증분 checkpoint 또는 changelog가 활성화되면 이 값은 전체 checkpoint 데이터 크기와 다를 수 있습니다.
- Full Checkpoint Data Size: 모든 승인된 서브태스크에 걸쳐 누적된 checkpoint 데이터 크기입니다.
- Processed (persisted) in-flight data: 정렬(alignment)(첫 번째와 마지막 checkpoint barrier를 받는 사이의 시간) 동안 모든 승인된 서브태스크에 걸쳐 처리/유지된 대략적인 바이트 수입니다. 유지된 데이터는 비정렬(unaligned) checkpoint가 활성화된 경우에만 0보다 클 수 있습니다.
서브태스크에는 몇 가지 더 상세한 통계가 있습니다.

- Sync Duration: checkpoint의 동기 부분 시간입니다. 여기에는 연산자의 상태 스냅샷이 포함되며 서브태스크의 다른 모든 활동(레코드 처리, 타이머 실행 등)을 차단합니다.
- Async Duration: checkpoint의 비동기 부분 시간입니다. 선택된 파일 시스템에 checkpoint를 쓰는 데 걸린 시간이 포함됩니다. 비정렬 checkpoint의 경우 서브태스크가 마지막 checkpoint barrier가 도착할 때까지 기다려야 했던 시간(정렬 시간)과 in-flight 데이터를 유지하는 데 걸린 시간도 포함합니다.
- Alignment Duration: 첫 번째 checkpoint barrier와 마지막 checkpoint barrier를 처리하는 사이의 시간입니다. 정렬된 checkpoint의 경우 정렬 동안 이미 checkpoint barrier를 받은 채널은 더 많은 데이터를 처리하지 못하도록 차단됩니다.
- Start Delay: checkpoint barrier가 생성된 후 첫 번째 checkpoint barrier가 이 서브태스크에 도달하는 데 걸린 시간입니다.
- Unaligned Checkpoint: 서브태스크의 checkpoint가 비정렬 checkpoint로 완료되었는지 여부입니다. 정렬 시간이 초과되면 정렬된 checkpoint가 비정렬 checkpoint로 전환될 수 있습니다.
History 크기 구성
히스토리에 기억할 최근 checkpoint 수는 다음 구성 키로 설정할 수 있습니다. 기본값은 10입니다.
# Number of recent checkpoints that are remembered
web.checkpoints.history: 15
Summary 탭
Summary는 모든 완료된 checkpoint에 대해 End to End Duration, Incremental Checkpoint Data Size, Full Checkpoint Data Size, Bytes Buffered During Alignment에 대한 간단한 min/평균/maximum 통계를 계산합니다(이 값의 의미는 History 참조).

이 통계는 JobManager 손실 후에도 유지되지 않으며 JobManager가 장애 조치하면 재설정됩니다.
Configuration 탭
Configuration은 스트리밍 구성을 나열합니다.
- Checkpointing Mode: Exactly Once 또는 At least Once 중 하나입니다.
- Interval: 구성된 checkpointing 간격입니다. 이 간격으로 checkpoint를 트리거합니다.
- Timeout: JobManager가 checkpoint를 취소하고 새 checkpoint를 트리거하는 타임아웃입니다.
- Minimum Pause Between Checkpoints: checkpoint 사이에 필요한 최소 일시 중지입니다. checkpoint가 성공적으로 완료된 후 일반 간격을 지연시킬 수 있지만 다음 checkpoint를 트리거하기 전에 최소한 이 시간만큼 기다립니다.
- Maximum Concurrent Checkpoints: 동시에 진행될 수 있는 checkpoint의 최대 수입니다.
- Persist Checkpoints Externally: 사용 또는 사용 안 함. 활성화하면 외부화된 checkpoint의 정리 구성(취소 시 delete 또는 retain)도 나열합니다.
Checkpoint 상세
checkpoint의 More details 링크를 클릭하면 모든 연산자에 대한 Minimum/Average/Maximum 요약과 각 서브태스크별 상세 숫자를 얻을 수 있습니다.

연산자별 요약

모든 서브태스크 통계
