数据曲线
自定义Metric
在数据曲线中,您可以通过在输入框输入对应指标名称以添加自定义Metric对任务进行更多观察。

目前平台以支持如下自定义Metric曲线:
System metrics:
jobmanager cpu负载: flink_jobmanager_Status_JVM_CPU_Load
jobmanager cpu使用时间: flink_jobmanager_Status_JVM_CPU_Time
taskmanager cpu负载: flink_taskmanager_Status_JVM_CPU_Load
taskmanager cpu使用时间: flink_taskmanager_Status_JVM_CPU_Time
jobmanager jvm最大堆内存: flink_jobmanager_Status_JVM_Memory_Heap_Max
taskmanager jvm最大堆内存: flink_taskmanager_Status_JVM_Memory_Heap_Max
jobmanager jvm堆内存使用量: flink_jobmanager_Status_JVM_Memory_Heap_Used
taskmanager jvm堆内存使用量: flink_taskmanager_Status_JVM_Memory_Heap_Used
jobmanager jvm最大非堆内存: flink_jobmanager_Status_JVM_Memory_NonHeap_Max
taskmanager jvm最大非堆内存: flink_taskmanager_Status_JVM_Memory_NonHeap_Max
jobmanager jvm非堆内存使用量: flink_jobmanager_Status_JVM_Memory_NonHeap_Used
taskmanager jvm非堆内存使用量: flink_taskmanager_Status_JVM_Memory_NonHeap_Used
jobmanager直接缓冲区总容量: flink_jobmanager_Status_JVM_Memory_Direct_TotalCapacity
taskmanager直接缓冲区总容量: flink_taskmanager_Status_JVM_Memory_Direct_TotalCapacity
jobmanager直接缓冲区内存使用量: flink_jobmanager_Status_JVM_Memory_Direct_MemoryUsed
taskmanager直接缓冲区内存使用量: flink_taskmanager_Status_JVM_Memory_Direct_MemoryUsed
jobmanager 线程数: flink_jobmanager_Status_JVM_Threads_Count
taskmanager 线程数: flink_taskmanager_Status_JVM_Threads_Count
排队进入输入缓存区的数量:flink_taskmanager_job_task_buffers_inputQueueLength
排队进入输出缓存区的数量:flink_taskmanager_job_task_buffers_outputQueueLength
Cluster:
任务重启次数: flink_jobmanager_job_numRestarts
任务重启花费时间: flink_jobmanager_job_restartingTime
任务最后一次checkpoint花费时间: flink_jobmanager_job_lastCheckpointDuration
任务最后一次checkpoint大小: flink_jobmanager_job_lastCheckpointSize
任务最后一次checkpoint 路径: fflink_jobmanager_job_lastCheckpointExternalPath
任务checkpoint总数量: flink_jobmanager_job_totalNumberOfCheckpoints
任务checkpoint失败数量: 任务flink_jobmanager_job_numberOfFailedCheckpoints
barrier 对齐花费时间: flink_taskmanager_job_task_checkpointAlignmentTime
-
flinkSql/flink 任务
业务延迟:flink_taskmanager_job_task_operator_dtEventDelay
各source tps数据输入:flink_taskmanager_job_task_operator_dtNumRecordsInRate
各source rps数据输入:flink_taskmanager_job_task_operator_dtNumRecordsInResolveRate
各source bps数据输入:flink_taskmanager_job_task_operator_dtNumBytesInRate
各source的脏数据:flink_taskmanager_job_task_operator_dtDirtyData
各sink rps输出:flink_taskmanager_job_task_operator_dtNumRecordsOutRate
各Sink的脏数据输出:flink_taskmanager_job_task_operator_dtNumBytesInRate
数据延迟:flink_taskmanager_job_task_operator_topic_partition_dtTopicPartitionLag -
实时采集任务
输入rps:flink_taskmanager_job_task_operator_flinkx_numReadPerSecond
输出rps:flink_taskmanager_job_task_operator_flinkx_numWritePerSecond
输入bps:flink_taskmanager_job_task_operator_flinkx_byteReadPerSecond
输出bps:flink_taskmanager_job_task_operator_flinkx_byteWritePerSecond
累计输入记录数:flink_taskmanager_job_task_operator_flinkx_numRead
累计输出记录数:flink_taskmanager_job_task_operator_flinkx_numWrite
累计输入数据量:flink_taskmanager_job_task_operator_flinkx_byteRead
累计输出数据量:flink_taskmanager_job_task_operator_flinkx_byteWrite
OverView
在数据曲线中,平台提供了当前任务的核心指标概览页面。您可以通过数据曲线对任务的运行情况进行一键式的诊断。

Failover
Failover曲线显示当前Job出现Failover(错误或者异常)的频率。计算方法为当前Failover时间点的前1分钟内出现Failover的累计次数除以60。(例如 ,最近1分钟Failover了一次,Failover的值为1/60=0.01667。)
业务延时
为了全面的了解实时计算全链路的时效状况和作业的性能,实时计算提供业务延时这一指标。业务延迟 = 当前系统时间 — 当前系统处理的最后一条数据的事件时间(Event time)。如果后续没有数据再进入上游存储,由于当前系统时间在不断往前推进,业务延时也会随之逐渐增大。
实时计算是分布式计算框架,业务延时首先是针对Source的单个分区(Shard/Partition等)进行计算,然后汇报所有分区中的最大值呈现到前端页面上,因此前端页面上显示的汇聚后的数据间隔时间并不精确等于业务延时 — 数据滞留时间。
如果Source中的某个分区没有新的数据,将会导致业务延迟逐渐增大。
目前底层算法实现时,当数据间隔时间小于10秒时,会将数据间隔时间设置为0,进行上报。
各Source的TPS数据输入
对实时计算作业所有的流式数据输入进行统计,记录每秒读取数据源表的Block的数,让您直观的了解数据存储TPS(Transactions Per Second)的情况。与TPS不同,RPS(Record Per Second)是读取数据源TPS的Block数解析后的数据,单位是条/秒。(例如,日志服务,1秒读取5个LogGroup,那么TPS=5,如果每个LogGroup解析出来8个日志记录,那么一共解析出40个日志记录,RPS=40。)
各Sink的数据输出
对实时计算作业所有的数据输出(并非是流式数据存储,而是全部数据存储)做出进行统计,让您直观的了解数据存储RPS(Record Per Second)的情况。通常,在系统运维过程中,如果出现没有数据输出的情况,除了检查上游是否存在数据输入,同样要检查下游是否真的存在数据输出。