有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

监控功能简述

对于正在运行(或者曾经成功运行过)的流计算作业,用户有两种方式查看监控信息。

通过 Oceanus 控制台查看

登录 流计算 Oceanus 控制台,单击要查看的作业名称,并切换到监控页签,即可查看作业的各项关键指标,例如每秒输入输出的数据条数,算子处理耗时,CPU 及堆内存的使用率等。
BETA 功能:在北京、广州、上海等主要地区,用户在监控页还可以查看 JobManager、TaskManager 和 Task 级别的细粒度指标。

通过腾讯云可观测平台查看

在控制台的作业列表界面,单击右侧的云监控,即可进入 腾讯云可观测平台控制台,查看更为详细的监控指标。在此还可以配置作业专属的监控告警策略。
说明
此外,流计算 Oceanus 还支持将 Flink 指标上报到 Prometheus,用户可以自行保存、分析和展示作业的各项指标。

Oceanus 控制台图文说明

在 Oceanus 控制台的作业管理页,可以查看作业的运行情况。



以上图的作业 high_cpu 任务为例,单击作业名称进入详情页。



监控页签的概览页,可以选择不同的时间维度:
时间维度可选择近1小时、近1天、近7天,还可以自定义时间区间。
采样粒度有1分钟粒度5分钟粒度两个选项,后者的曲线会更加平滑。




概览维度指标

在概览页面,我们可以查看作业运行时最关键的指标,例如每秒输入输出条数、算子计算总耗时、目的端 Watermark 与当前时间戳的延时、作业崩溃重启次数、TaskManager CPU、堆内存的平均使用率、老年代 GC 统计等,助力用户快速发现作业的常见异常。



Checkpoint 维度指标

当作业开启 checkpoint 功能后,Flink 作业运行信息会以 Checkpoint(历史快照)的方式进行保存,供后续恢复使用。本监控页面会显示如下指标:
上次 Checkpoint 大小(字节):上个快照存储的大小
Checkpoint 耗时(毫秒):上个快照存储所耗时间
Checkpoint 失败总次数(次):保存快照累计失败次数




JobManager 维度指标

一个 Flink 作业启动时只有一个 JobManager(简称 JM),所以这里展示的是该 JobManager 的各项指标:
JM CPU Load(%):对应 JobManager 的 Status.JVM.CPU.Load 代表 JVM 最近 CPU 利用率
JM Heap Memory(字节):JobManager 维度的堆内存使用情况
JM GC Count(次):JobManager 维度的 Status.JVM.GarbageCollector.<GarbageCollector>.Count,GC(垃圾回收)次数
JM GC Time(毫秒):JobManager 维度的 Status.JVM.GarbageCollector.<GarbageCollector>.Time,GC(垃圾回收)时间




TaskManager 维度指标

一个 Flink 作业启动时根据并发度设置,会有1个或多个 TaskManager。我们在列表中会展示出所有 TaskManager,用户可以选择观察哪个 TaskManager 的指标趋势。当前提供的 TaskManager 指标有:
CPU Load(%):对应 TaskManager 维度的 Status.JVM.CPU.Load 代表 JVM 最近 CPU 利用率
Heap Memory(字节):TaskManager 维度的堆内存使用情况
GC Count(次): TaskManager 维度的 Status.JVM.GarbageCollector.<GarbageCollector>.Count,GC(垃圾回收)次数
GC Time(毫秒):TaskManager 维度的 Status.JVM.GarbageCollector.<GarbageCollector>.Time,GC(垃圾回收)时间
Pod Memory(%):TaskManager 所在的 TKE(容器服务)Pod 的内存使用量。该指标能反映出整个 Pod 内存的使用情况(包含 JVM 堆内存、堆外 Direct 内存、堆外原生内存、Pod 里其他辅助服务的内存使用量等)。如果占用过大,有被强制 OOM Killed 的风险
Pod CPU(%):TaskManager 所在的 TKE(容器服务)Pod 的 CPU 利用率。该指标能反映出整个 Pod 最近的 CPU 利用率(包含 JVM 自身的 CPU 用量、Pod 里其他辅助服务的 CPU 用量等)




Task 维度指标

Flink 作业的运行图中会有一个或多个 Task,用户可以通过趋势图查看具体某个 Task 的各项指标:
OutPoolUsage:输出队列百分比,达到100%时任务达到反压状态,反压状态需要通过一些方法(除却负载均衡情况,需要调大算子并发度来解决反压)解决
OutputQueueLength:有多少个输出队列
InPoolUsage:输入队列百分比,达到100%时任务达到反压状态,反压状态需要通过一些方法(除却负载均衡情况,需要调大算子并发度来解决反压)解决
InputQueueLength:有多少个输入队列
CurrentInputWatermark:当前水位