基线运维的使用首先要在运维配置模块配置值班组和基线,配置完成后运维人员需要将任务挂载在基线上,之后运维人员每日便可在基线运维页面监测基线的完成情况。当前支持通过业务日期基线ID基线名称进行筛选。

运维值班人员使用基线运维需重点关注归属到本值班组的基线的相关信息,注意接收电话、短信、邮件、企业微信、钉钉(看配置情况)的报警信息。目前,支持基线报警-预警基线报警-预计破线基线报警-已破线基线关联实例失败四类报警。关于报警类型的详细内容请查看报警历史

在基线实例列表中,会展示基线优先级、基线的预警时间、破线时间、基线余量、预计完成时间、基线状态、破线时间未完成任务数、破线时间完成率、实际完成时间等。这些指标可协助值班人员了解基线任务的完成情况。对于某一条基线,支持进入查看基线诊断,支持设置免扰、支持查看相关报警。

另外,非运维值班人员也可以使用基线订阅管理功能,订阅其关注的基线,在不参与值班组排班的情况下,也可以及时接收到基线的告警信息。

下图为基线运维页面:

POPO20230919-103031.jpg

术语 描述
基线优先级 表示基线的优先级,在基线设置时配置。目前仅用于提醒值班人员该条基线的重要程度。
预警 指预警时间,表示当前基线配置的预警时间线。
当基线的任务实例预计完成时间超过“预警时间”,则会发送报警类型为“基线报警”的报警。
破线 指破线时间,表示当前基线配置的破线时间线。
当基线的任务实例预计完成时间超过“破线时间”,则会发送报警类型为“基线报警”的报警。
余量 表示当前基线的预警时间减去预计完成时间的余量,所以会出现负数。
预计完成 指预计完成时间,表示当前基线上的任务实例,在今日预计完成的时间。该数据每几分钟计算一次。
基线状态 目前包括正常、预警、破线。
预警,表示当基线的任务实例预计完成时间或实际完成时间超过预警时间。
破线,表示当基线的任务实例预计完成时间或实际完成时间超过破线时间。
基线挂载任务数 表示基线上挂载的任务数量。由于有任务基线调整、基线任务新增的场景,因此该指标可能会产生波动。对于该指标的统计原则是:已生成实例的,以生成时所挂载的基线为准,统计到对应的基线上;未生成实例的,取任务当前所挂在的基线为准。举例:任务A挂在3点基线,2点运行成功,在4点时挂到5点基线,则仅会在3点基线计算1个挂载任务数。当日15点新增任务A,计划执行时间是明天1点开始,挂在3点基线,则今日任务数不会计入。
未完成任务数 指基线上挂载的已调度的任务,对应的实例还未运行成功的任务数。括号中的数字,第一个表示已生成实例的任务(按照任务的实例生成时任务关联的基线来归属统计),如果任务对应的实例不全部为成功的,则会计1。注意,有些情况下可能会出现,显示的统计值和点击跳转之后看到明细数量不一致,因为这里是按照任务显示,但是跳转到的是按实例来查看。第二个表示任务还未生产实例,处于未就绪状态的。
任务完成率 指当前时刻基线任务中的实例已成功的任务比例(非实时)。
破线时间未完成任务数 按照任务的实例生成时任务关联的基线来计算,如果破线时间某个任务的实例不是全部成功的,则会计1。注意,有些情况下点击查看的清单中可能会明细的量和这里的统计值不一致的情况,清单中是按照实例展示,此处是按照任务来统计。该数值不为0时,可点击查看明细数据。
破线时间完成率 到达设置的破线时间时,基线任务中的实例已成功的任务比例。
实际完成时间 如果时间之后显示如“(+n天)”则表示是往后第n天完成。
值班组 表示当前当前基线所归属的值班组名称。
报警次数 指当前基线报警的次数,报警会按照报警间隔报警。

基线诊断


单击任务列表中某一任务的基线诊断功能,可进入基线诊断页面。该模块可协助值班组人员更快排查基线的问题。在基线诊断模块,会显示基线的基础信息、基线相关异常任务实例以及关键路径。

基线运维 - 图2

基线诊断支持展示诊断结果,用户可以通过诊断结论快速定位基线异常原因。目前基线诊断场景包括两大类,具体如下:

  • 基线任务配置不合理。包括任务为新挂载在基线上的任务,和任务计划执行时间发生变更,以及任务新增上游依赖任务、上游依赖任务计划执行时间发生变更,导致下游实例延迟产出等情况;
  • 实例延迟产出。包括节点运行过慢、节点运行失败。

当值班组人员接收到基线报警基线关联实例失败报警时,可通过邮件中的链接快速前往查看有问题的基线或实例。

下图为基线报警邮件:
20 任务运维07.png

下图为基线关联实例失败报警邮件,可点击实例ID前往实例详情页:

20 任务运维08.png

基础信息


基础信息部分,会展示基线的基本信息,包括基线名称、基线状态、预警时间、余量、未完成任务数、任务完成率、业务日期、基线优先级、破线时间、预计完成时间、破线时间未完成数、破线时间完成率等。
基线运维 - 图5
当基线实例预计延迟时,基于这些指标,值班人员可知道当前基线的任务实例预计什么时候完成,目前已经比承诺的基线产出时间延后多久等。

基线相关异常任务实例


如果基线上的任务或上游未挂载在基线上的任务,如果实例运行失败或终止,则会在此处显示出来。如果此处有记录,则表示当前基线会因此无法正常产出。值班人员,需要联系对应的任务负责人或者任务所归属的值班组的当日值班人员进行处理。
20 任务运维09.png

基线挂载任务的执行时间情况


对于每天的基线,都会有一个关键路径任务实例图,每10分钟计算一次。关键路径会展示当前基线上挂载的任务在对应业务日期下,任务预计完成时间最晚的上游关键路径。往上游追溯的原则是取所依赖的上游任务实例中,预计完成时间最晚的任务,一直最早追溯到昨天的实例。

当前,通过两种图形方式进行描述:甘特图模式曲线图模式

  • 甘特图模式:

基线运维 - 图7

  • 曲线图模式:

基线运维 - 图8

值班人员可结合所有任务的结束时间、平均结束时间、运行时长、平均运行时长等4个指标,推测出基线延迟产出的原因。也可以搜索基线的其它任务,查看其关键路径。当任务还未到实际运行时间,则会显示预估图标。

参数信息 说明
运行时长 对于线上调度的实例,如果运行成功,则为运行成功的运行时长。除了运行成功的则显示预计运行时长,如果有重跑运行成功则显示新的运行时长。
平均运行时长 任务近14次线上调度运行成功的实例的平均运行时长,如果少于3次,则直接计算平均值,如果大于等于3次,则去掉最长和最短时间再计算平均。
结束时间 对于线上调度的实例,如果运行成功,则为运行成功的结束时间。除了运行成功的,则显示预计结束时间,如果实例有重跑运行成功,则显示新的运行成功的结束时间。
平均结束时间 任务近14次线上调度运行成功的实例的平均结束时间。

关于关键路径


关于关键路径的定义,通过以下例子进一步说明。此例子中,基线根据数仓分层进行设置,任务A-E分别是挂载在2点基线上的任务。

任务D原计划在2点前完成,现因为上游任务产生实例异常,导致任务D破线(破线:原计划完成时间晚于基线破线时间)。根据任务D进行回溯,依次标记相邻上游中完成时间最晚的节点。任务D的上游是挂载在dws层基线的节点,此处右侧节点晚于左侧节点,因此将右侧节点标记为红色。继续往上游回溯,依次标记相邻节点中实例产出最晚的节点直至任务最上游节点。所有被标记红色的点形成的路径即为关键路径,是需要运维人员进行介入并排查原因,解决故障。
基线运维 - 图9

上述所举例子任务A、任务B、任务C、任务E都是在破线前完成调度任务。但是实际情况,可能存在多个任务因为上游实例异常而发生破线的情况。例如下图中任务B和任务D,任务B和任务D都是破线的任务,但是任务D产生实例的时间晚于任务B,因此最开始的时候,任务D所在的路径为关键路径。当任务D的问题解决后,任务B便变成最晚产生实例的任务,此时任务B所在的路径即为关键路径。

基线运维 - 图10

基线历史完成曲线


基线历史完成曲线可以直观的了解该基线最近一段时间多少天预警、多少天破线,方便运维和开发及时对基线进行治理。
基线运维 - 图11

说明:历史破线时间如果没有数据会不展示,但不影响上线后的曲线数据绘制。

免扰设置


基线运维会对预估破线的任务进行报警提醒,当引起破线的原因是已知的问题不需要进行提醒,可以使用免扰设置关闭提醒。免扰设置可由当日值班人员针对每条基线进行设置。值班人员可设置一段时间,比如120分钟,或者让系统推荐合适的免扰时间。在设置的免扰时间之内,电话报警会被智能取消(短信和邮件等弱提醒会继续保留)。如果不需要时,也可以取消免扰。

除常规免扰设置外,任务运维中心也支持智能免扰功能。在开启智能免打扰功能后,同一实例引发的告警信息将不再发送,若基线检测到告警原因变化,则会继续正常发送告警。

image2023-6-12 18_59_41.png

设置免扰后,在基线运维列表和基线诊断页都会显示图标基线运维 - 图13

查看报警


对于产生过报警的基线,则列表操作列允许点击查看报警,点击后会跳转到报警历史页面。