周期实例运维页面,单击已生成实例下的实例ID或者未生成实例未生成每个实例都有一个实例详情页面,会展示实例的相关信息,下图为已生成实例的实例详情页:
实例详情 - 图1

功能项 描述
重跑 点击“重跑”按钮后,进入重跑配置页面,对当前实例进行重跑设置。
终止 对处于“运行中”的实例支持终止操作。
查看日志 可查看实例运行日志。
切换队列 对处于“运行中”的实例支持切换队列操作。(仅支持切换正在运行中,且已经生成applicationId的实例)
置成功 对处于“失败”的实例支持置成功操作。
前往编辑 点击该功能,可跳转至该实例的离线开发页面。
分享实例详情 开启分享后,非本项目的当前平台用户可以通过分享链接查看该实例详情。

在已生成实例的页面中右上角功能支持重跑、终止、切换队列、置此成功、终止等功能,具体如下表所示:

下图为未生成实例的实例详情页:
实例详情 - 图2

实例基础信息和操作

实例详情页,点击查看更多信息可以了解当前实例的就绪时间、运行总时长、跨周期自依赖、队列、高优先级、自动重试、失败设置、并发设置、自定义参数等配置信息,其中跨周期自依赖、队列、高优先级、自动重试、失败设置、并发设置、自定义参数等可前往离线开发页面进行设置。

实例详情 - 图3

参数信息 说明
就绪时间 表示实例已经生成,可以提交队列执行的时间。实际开始执行时间取决于依赖的上游任务以及待提交队列的资源情况。
运行总时长 结束时间-就绪时间。

节点实例页签

节点实例页签会展示实例节点数量统计、不同状态节点的数量统计信息。同时,也支持节点名称搜索、节点基本信息展示。
实例详情 - 图4

对于节点,会通过列表方式展示,可展示节点名称、节点类型、节点状态、开始执行~执行结束时间、运行时长、节点运行时间轴、数据质量配置及运行结果信息,支持节点的日志和节点详情查看。

点击上游依赖详情可查看当前实例所依赖的上游节点信息。在上游依赖详情页面中,可通过点击被依赖节点的查看实例详情进行跳转,查看上游依赖节点详细的依赖信息。

实例详情 - 图5

关键路径页签

该部分可展示当前任务的关键路径,这里会按照当前任务依次往上游查找预计或实际产出时间最晚的任务,并展示在页面中。目前每十分钟计算一次关键路径。

在关键路径上,展示任务的运行时长、平均运行时长、结束时间、平均结束时间。这些指标可帮助用户分析任务延后产出的原因,比如上游任务运行超时等等。此外,也能通过该关键路径,知道实例的预计完成时间。

实例详情 - 图6

实例血缘页签

实例血缘支持按照层级查看实例的上下游依赖任务运行状态,帮助用户快速查看任务上下游运行状态。实例血缘仅支持展示线上调度与补数据实例的血缘关系,对于运行方式为重跑或补数据重跑的实例,系统将默认展示其源头实例的血缘关系;实例血缘计算只支持展示就绪时间在第二天11:59分以前的实例,即不会展示就绪时间在后天及以后的实例。

实例血缘主要应用场景:

  • 场景一:当某个实例未就绪时,原先仅支持查看一层上游依赖详情,需要用户一层一层去查看是哪一个任务没有运行成功导致的下游未就绪,现在可以通过实例血缘,直接查看实例的上下游依赖执行情况,快速定位异常任务,提高运维效率;
  • 场景二:当某个任务产出数据异常时,原先需要通过任务血缘,结合计划执行时间,判断异常数据污染下游的范围,现在可以通过实例血缘,直接查看该任务的下游的执行情况,快速定位影响范围,进行相应运维操作,提高运维效率。

实例详情 - 图7

实例诊断页签

实例诊断支持实例的全链路诊断,帮助用户快速定位到实例的问题原因,例如实例到了就绪时间却未生成,实例被系统终止以及任务运行失败等异常情况。

Snipaste_2023-06-14_10-16-53.png

诊断原理说明
任务运维中心通过将实例的生命周期分为三个阶段,实例准备、实例提交和实例运行,有针对性的,对不同阶段实例进行各项检查。
- 实例准备:实例还未生成时,会一直处于实例准备阶段。需要等待检查项均通过后,实例才会生成。在此阶段,可以帮助用户针对已到计划执行时间但未就绪的异常实例快速定位出原因。
- 实例提交:实例生成后,会进入实例提交阶段。在这一阶段,azkaban会对实例做各项检查,检查通过后,会被azkaban提交到队列。在此阶段,可以帮助用户诊断处于就绪状态,却迟迟未开始运行的异常实例快速定位出原因。
- 实例运行:实例开始运行后,会进入实例运行阶段。在这一阶段,实例中的节点会按照DAG图的依赖关系依次开始执行。在此阶段,可以帮助用户诊断节点未运行的原因、节点失败的原因。此外,任务运维中心也支持对节点提供成本诊断,展示节点运行过程中CPU与内存的使用情况,并对存在CPU或内存浪费的节点提供相关建议,成本诊断需要用户部署高级版easyeagle产品才可使用。

诊断内容如下:

检查项 说明
计划执行时间检查 针对调度实例,计划执行时间检查未通过时,实例不会生成;同时,由于azkaban对实例的生成检查是轮询机制,因此可能存在计划执行时间已到,但azkaban还未轮询到的情况,此时检查状态为“待检查”;针对补数据实例,只有当补数据实例的上游补数据任务实例生成后,下游补数据实例才会生成。
上游依赖检查 针对调度实例,对于任务存在“任务依赖”的情况时,检查上游实例是否生成。只有当上游任务实例生成后,该检查项才为通过状态,否则下游实例将等待生成。
任务状态检查 针对调度实例,检查任务是否已被加入冻结池,或是当前项目下加速器为启动状态而当前任务不在加速器中。只有任务非冻结状态,或加速器非启动状态时,该检查项才为通过状态,否则实例将等待生成。
串行限制检查 针对调度实例,对于任务调度为“串行”执行时,检查任务是否有其他实例为运行中状态。只有当没有其他实例在运行时,该检查项才为通过状态,否则实例将等待生成
调度并发检查 针对调度实例,对于任务调度为“并发”执行时,检查任务当前运行中的实例数量是否已达最大并发数。只有运行中的实例数量未达到最大并发数时,该检查项才为通过状态,否则实例将等待生成
队列容量检查 针对调度实例,检查azkaban队列容量是否已达最大上限。只有azkaban队列容量未达最大上限时,该检查项才为通过状态,否则实例将等待生成;针对补数据实例,检查补数据队列容量是否已达最大上限。只有补数据队列容量未达最大上限时,该检查项才为通过状态,否则补数据实例将等待生成。
补数据任务状态检查 针对补数据实例,检查项包括1)补数据实例总数是否计算完成;2)是否延迟执行、延迟执行时间是否到达;3)补数据任务是否为暂停、终止状态;4)补数据任务是否已运行超过1个月,以上四项检查项均通过后,补水任务状态检查才算通过,否则补数据实例将等待生成
补数并发检查 针对补数据实例,检查当前补数据任务是否已达最大并发数。只有当补数据任务的并发数未达到最大并发数时,该检查项才为通过状态,否则实例将等待生成。
等待提交检查 针对线上调度、补数据与重跑实例,会诊断实例等待提交的原因,原因会包括依赖上游实例未成功、获取资源组失败、下载任务文件失败等原因,这些原因会导致实例处于等待提交的状态。
提交失败检查 针对线上调度、补数据与重跑实例,会诊断实例在就绪阶段被终止的原因,终止包括手动终止与被系统终止两种,手动终止时会显示操作人信息,被系统终止时,会显示终止原因,原因会包括创建执行文件失败、就绪时间超时等原因,这些原因会导致实例被系统终止。
节点诊断 针对未开始运行的节点、运行失败的节点,会显示对应诊断内容,并提供相应的诊断建议。

诊断实例

诊断示例1:下图实例已到达计划执行时间,但仍未生成实例,通过实例诊断,我们可以快速知道是由于该任务设置了串行执行,而当前正有其他实例正在运行中导致的实例无法按时生成。
image2023-4-18 16_19_52.png

诊断示例2:下图实例一直处于就绪状态,通过实例诊断,我们可以快速知道是因为该任务有依赖上游非成功状态,因此实例提交将会处于等待状态。
image2023-4-18 16_19_58.png

诊断示例3:下图实例运行失败,通过实例诊断,我们可以知道是因为Spark节点的jar包异常,需要用户检查配置是否正确。
image2023-6-12 17_39_10.png

产出影响页签

该部分可展示当前表的下游影响情况,以及各种影响的预计完成时间。支持从影响汇总、影响明细、分节点影响汇总3个视角切换查看。

下游影响目前支持数据服务API有数报表。如果当前任务的产出表或下游表,有生成数据源服务API,或者被有数BI产品引用产生报表,则系统会定时将该影响数据标记在当前任务上。

视角选择 - 影响汇总:
实例详情 - 图12

视角选择 - 影响明细:
实例详情 - 图13

视角选择 - 分节点影响汇总:
实例详情 - 图14