全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
流计算

数据曲线

更新时间:2018-04-19 17:20:39

阿里云流计算提供了当前作业的核心指标概览页面,用户可以通过这个工具进行当前运行作业运行情况的一键诊断,未来流计算还会提供更多的基于作业现状深度智能分析算法,以辅助用户进行智能化、自动化诊断。目前的作业诊断如下图:

1

注意:

上述所有指标在流计算作业运行状态下才提供显示,暂停以及停止状态均不提供显示。另外,作业指标是流计算系统异步后台采集,有一定延迟。因此,在作业启动一分钟内,指标无法显示,等待一分钟后各项指标才能逐步采集到位。

怎么判断我的作业是否正常呢?可以参阅:作业健康指数

Overview

Failover Rate

Failover Rate指的是当前JOB的出现错误或者是异常的情况次数的百分比数。用户可以从Failover Rate的曲线中更好的分析job出现的问题。

业务延时

链路延时指当前流计算处理时刻 减去 流式数据业务时间戳(如果业务时间不存在,使用上游的DataHub/LogHub等均会对进入的数据加入系统时间戳),该数据集中反映出当前流计算全链路的一个时效情况。例如,当前流计算时间点为凌晨5点,但流计算读取处理的数据存储时间戳为凌晨1点,意味着当前流计算处理的数据还是1点的数据,即处理的数据相比于当前处理时间落后近4个小时,那么业务延时就是4小时。业务延时用来监控全链路的数据进度,如果源头采集数据由于故障没有进入DataHub,链路延时也会随之主键增大。业务延时的图示如下:

业务延时根据业务延时又分为三个细粒度的层次

最小延时

2最小延时指的是个SOURCE中SHARD的最小的业务延时值。

最大延时

3最大延时指的是个SOURCE中SHARD的最大的业务延时值。

平均延时

4平均延时指的是个SOURCE中所有SHARD的平均的业务延时值。

各Source的TPS数据输入

5

数据输入对于该流计算作业所有的流式数据输入进行统计,给用户一个直观的检测数据存储TPS(Transactions Per Second)情况,记录每秒读取数据源表的BLOCK的数量。与RPS的不同,RPS是读取数据源TPS的block数解析后的数据,单位是条/秒。(例如对于日志服务,一秒读取N个LogGroup,解析出来M个日志记录。而解析出的数据就是数据输入的RPS。)

各Sink的数据输出

6

数据输出对于该流计算作业所有的数据输(注意,并非是流式数据存储,而是全部数据存储)出进行统计,给用户一个直观的检测数据存储RPS(Record Per Secodng)情况。通常,我们在系统运维过程中,如果出现没有数据输出的情况,除了检查上游是否存在数据输入,同样要检查下游是否真的存在数据输出。

各Source的RPS数据输入

7

数据输入对于该流计算作业所有的流式数据输入进行统计,给用户一个直观的检测数据存储RPS(Record Per Secodng)情况。通常,我们在系统运维过程中,如果出现没有数据输出的情况,就需要查看该值是否从源头数据输入就已经没有数据了。

各Source的数据流量输入

8

流量输入对于该流计算作业所有的流式数据输入进行统计,给用户一个直观的检测数据流量BPS(Byte Per Second)情况。记录每秒读取输入源表的流量的统计。

CPU使用

9

CPU占用反映的是流计算作业对于CPU资源消耗情况,流计算提供了两个指标反映CPU占用情况。一个是申请的CPU的数据量,一个是当前作业使用CPU的曲线值。

MEM使用

10

内存使用率反映的是流计算作业对于内存资源消耗情况,流计算提供两个指标反映内存占用情况。一个是申请的内存的数量,一个是当前作业使用内存的曲线值。

各Source的脏数据

124135

各Source的脏数据,反映流计算的SOURCE段是否有脏数据的情况!

Advanced view

阿里云流计算提供可以恢复数据流应用到一致状态的容错机制(CHECKPOINT)。容错机制的核心就是持续创建分布式数据流及其状态的一致快照。这些快照在系统遇到故障时,充当可以回退的一致性检查点(checkpoint)。

分布式快照的核心概念之一就是数据栅栏(barrier)。这些 barrier 被插入到数据流中,作为数据流的一部分和数据一起向下流动。Barrier 不会干扰正常数据,数据流严格有序。一个 barrier 把数据流分割成两部分:一部分进入到当前快照,另一部分进入下一个快照。每一个 barrier 都带有快照 ID,并且 barrier 之前的数据都进入了此快照。Barrier 不会干扰数据流处理,所以非常轻量。多个不同快照的多个 barrier 会在流中同时出现,即多个快照可能同时创建。checkpoint

Barrier 在数据源端插入,当 snapshot n 的 barrier 插入后,系统会记录当前 snapshot 位置值 n (用Sn表示)。然后 barrier 继续往下流动,当一个 operator 从其输入流接收到所有标识 snapshot n 的 barrier 时,它会向其所有输出流插入一个标识 snapshot n 的 barrier。当 sink operator (DAG 流的终点)从其输入流接收到所有 barrier n 时,它向 the checkpoint coordinator 确认 snapshot n 已完成。当所有 sink 都确认了这个快照,快照就被标识为完成。

checkpoint01

以下就是记录Checkpoint的各种参数配置:

Checkpoint Duration

11

Checkpoint Duration表示的是每次做checkpoint保存状态所花费的时间,单位是MS.

CheckpointSize

12

Checkpoint Size表示的是每次做checkpoint的SIZE的大小,单位是KIB。

CheckpointAlignmentTime

13

checkpoint Alignment Time表示当前节点做checkpoint的时候等待上游所有节点到达当前节点的时间,也就是当 sink operator (DAG 流的终点)从其输入流接收到所有 barrier n 时,它向 the checkpoint coordinator 确认 snapshot n 已完成。当所有 sink 都确认了这个快照,快照就被标识为完成。这个等待的时间就是checkpoint Alignment Time。

CheckpointCount

14

Get

15在一定时间内每个SUBTASK Get操作ROCKSDB所花费的时间(最大值)

Put

16在一定时间内每个SUBTASK Put操作ROCKSDB所花费的时间(最大值)

Seek

17在一定时间内每个SUBTASK Seek操作ROCKSDB所花费的时间(最大值)

State Size

18衡量JOB内部state存储大小(如果增量过快JOB是异常的)

CMS GC Time

19衡量JOB底层container进行GC花费的时间

CMS GC Rate

20衡量JOB底层container进行GC的频率

Delay

Source SubTask 最大延迟 Top 15

21Source SubTask指的是数据源端的每个并发,这个数据指标是统计的每个Source的并发的业务延时的时间。

Throughput

Task Input TPS

22Task Input TPS指的是作业级别所有的Task的数据的输入。

Task Output TPS

23Task Output TPS指的是作业级别所有的Task的数据的输出。

Queue

Input Queue Usage

24

Input Queue Usage指的是作业级别所有的Task的数据的输入队列。

Output Queue Usage

25

Output Queue Usage指的是作业级别所有的Task的数据的输出队列。

Tracing

以下参数为高级用户使用:

Time Used In Processing Per Second

task级别的每秒处理所花费的时间

Time Used In Waiting Oputput Per Second

task级别的每秒等待输出的时间

TaskLatency

JOB级别的每个task的计算延时的曲线

WaitOutput

task级别的等待输出的曲线

WaitInput

task级别的等待输入的曲线

Source Latency

Source里每个并发的延时曲线

Process

proc_mem_rss

26

进程级别的每个进程内存的使用曲线

proc_cpu

27

进程级别的每个进程CPU的使用曲线

JVM

jvm_heap_used

28

整个Job使用的JVM heap存储量

jvm_nonheap_used

29

整个Job使用的JVM 非heap存储量

thread_count

30

整个Job的线程数

GC(CMS)

31

整个Job GC的次数

本文导读目录