Wormhole大盘

需求

wormhole大盘的主要目标是用于反映wormhole总体的运行情况,其需求来自于一些问题的思考,随便摘录几个:

1.众所周知执行机在0点5分开始是传输任务执行高峰期,那在最高峰时,如何知道一个执行机上最多有几个wormhole同时在运行?

2.想知道执行机上各个时间段在运行的传输任务数是怎么个分布情况,当时有哪些任务在执行,最好有个图能够一目了然的展示。

3.想知道到目前为止,今天哪些传输任务运行最耗时,虽然每天有个wormhole耗时top50的邮件任务,但是只能看到昨天的统计,时效性差不够灵活。

4.任务并不总是能一次就运行成功,一次就成功的任务占了多大比例,失败重跑一次才成功的又是多少比例?

5.任务失败是因为什么原因失败的,各个原因分别导致了多少个任务失败,占比是多少?

 

通过以上思考,归纳了下主要的需求有以下几点:

需求1:定时统计各个执行机上正在运行的传输任务数量,正在执行的任务ID

主要反映wormhole的执行概况,有了数据后可以通过图表展示,方便查看每天各个时间段各执行机上传输任务调度情况。暂定为1分钟统计一次。

需求2:过去一个时间段任意执行机的运行的传输任务相关指标:运行过的任务总数量,任务平均耗时,平均传输数据记录数,平均传输速率等详细情况

主要反映wormhole执行的详细情况,从而可以进行一些后续的统计,比如每天运行耗时最长的top 50任务,传输速率最快的top 50任务,传输数据量最多的top 50任务等等

需求3:每天失败的传输任务情况统计分析,自动根据错误类型分类,计算各类别失败任务占比

由于重跑机制的存在,对于重跑后成功的任务很容易忽视,从而掩盖存在的问题,但每天手动去check又非常麻烦。本需求主要是希望自动统计失败任务的情况,比如任务一次执行成功的比例,失败一次后才成功的比例,等等。另外,比较理想的是希望自动对失败原因进行分类,比如因为 mysql获取连接失败而导致任务fail的情况占37%等。

实现效果

需求1的实际效果

默认展示最新1小时的任务概况,也可以手动选择开始和结束时间(由于某些原因,部分时刻会无法获取到在执行的任务从而显示值为0)。

Wormhole大盘_第1张图片


点击图表下方的执行机,可以选择是否展示相应的执行机的运行情况,比如下图只展示了10.1.110.49和10.1.133.80这2个执行机的情况。

Wormhole大盘_第2张图片


同时,还能根据最少任务数进行过滤,比如限制只展示任务数大于20的时间点。

Wormhole大盘_第3张图片


点击任意曲线上的点,可以显示该时刻该执行机上正在运行的任务列表。

Wormhole大盘_第4张图片


需求2的实际效果

Wormhole大盘_第5张图片

Wormhole大盘_第6张图片


需求3的实际效果

Wormhole大盘_第7张图片


你可能感兴趣的:(Wormhole大盘)