您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 系统/运维 > 正文

让运维智能高效,轻松搞定运维管理平台

发表于:2022-10-21 作者:露亚 来源:网易有数

什么是任务运维中心

先从一段不太正经的推理开始:

根据某百科的官方解释,运维主要目的是确保网站、软件服务的安全和稳定运行。

图片

那么“任务运维”就是确保任务的安全、稳定运行。

那么”任务运维中心“就是辅助任务运维人员进行离线任务管理和实例运维的工作,帮助运维人员提高运维效率,及时发现问题并提供诊断建议,确保任务的安全、稳定运行。

图片

2.任务运维中心能干什么

2.1 发送报警

什么时候会需要运维人员出马?

  • 任务出错的时候
  • 任务运行变慢的时候
  • 任务应该运行却没有运行的时候……

但是运维人员又不能一天到晚盯着任务看,所以任务运维中心就提供“报警”功能,在出现异常的时候,及时的把告警信息发送给运维人员,喊他们来处理异常。

2.1.1 值班组

与报警功能相关的第一个问题,就是报警发送给谁?

任务运维中心支持设置值班组,创建值班组后,可以添加值班人员,并设置值班规则,指定主值班人与备值班人以及连续值班天数和值班时间。

图片

2.1.2 基线运维

与报警功能相关的第二个问题,就是什么时候发送报警?

  • 任务出错的时候
  • 任务运行变慢的时候
  • 任务应该运行却没有运行的时候

针对第二个问题,我们提出“基线运维”模块,先来介绍一下基线是什么,以及与之密切关联的“关键路径”又是什么。

基线:即时间线,在基线运维场景中,通过设定几条时间线(即基线),并将线上任务关联到这些时间线上,当这些任务的实例或上游实例运行失败,或者这些实例的预计产出时间超过对应的时间线时,系统会触发报警通知给值班人员。

预警时间:如果系统计算出基线上最晚产出实例的完成时间超过预警时间时,会触发基线报警。

破线时间:指基线任务中所有实例都必须在该时刻前运行成功,是挂载在该基线上的任务的实例产出时间的承诺时间。建议预警时间设置比破线时间早半小时,相当于留给运维人员一个处理的时间,破线时间相当于是底线。

关键路径:关于关键路径,可以用下图来说明。此例子中,基线根据数仓分层进行设置,任务A-E分别是挂载在2点基线上的任务。

图片

所以我们可以看到,基线的作用其实就是批量监督任务,把一批任务挂在一根基线上,那么基线就会不断去计算基线上这些任务的预计完成时间,一旦计算到预计完成时间超过预期的时间,就会向值班人员发出基线报警。

值班人员在收到报警信息后,就要去排查到底是哪个任务延迟了,这时候就需要查看关键路径,向上溯源,最终精准找出问题的源头。

任务运维中心支持基线运维,通过权限授权,运维人员可以在运维配置中创建与管理基线。将相关任务与基线关联后,在基线运维模块,就可以查看任务的执行时间情况,例如下图中就是“数仓3点基线”上挂载任务的相关实例运行情况。不同颜色表示实例不同状态,运维人员可以直观高效地查看任务执行情况,并对异常实例进行相关操作。

图片

2.2 定位问题

现在我们已经收到了报警,并且知道是哪个任务出了问题,那么接下来就要想办法知道任务究竟出了什么问题,是因为代码错误,还是资源不足,还是DQC异常,抑或是平台bug呢。

2.2.1 智能诊断

为了能够帮助运维人员快速定位问题,我们推出了“智能诊断”功能。如果你想快速体验这一功能,可以前往周期实例列表,选择状态为失败的实例,就能看到一个放大镜的图标,点击即可进入智能诊断页面。

图片

智能诊断的详情页面展示异常节点,以及异常处理建议。例如下图,就是针对数据同步节点运行失败所提供的诊断结果与处理建议。

图片

2.3 解决方案

2.3.1 重跑

当我们发现任务出了问题,并且定位到了失败原因,通过修改代码、重新发布上线后,还需要将原先运行失败的问题进行重跑操作。如果实例状态是失败、终止,则支持实例重跑/批量重跑。

重跑的操作步骤包括:

选择需要重跑的节点,系统支持自动勾选失败、终止及撤销节点;

进行重跑设置,包括通知设置、运行设置等,支持重跑成功或失败时消息通知用户

重跑完成后,周期实例列表会更新实例ID,并支持查看重跑记录。

图片

2.3.2 补数据

补数据的场景主要有:

当任务新建后希望对历史数据进行加工,可通过补数据功能选择历史某个时间段来执行任务;

当任务某个时间段内数据有问题或者任务异常,可通过补数据对历史异常的数据或任务进行重新生成实例并执行,达到修复历史数据的目的。

补数据的步骤包括:

选择源头任务需要补数据的节点

选择下游任务需要补数据的节点

进行补数据运行设置

这里用gl_ods_user_info任务为例,这个任务首次执行时间是2022年7月份的某一天,我想要补这个任务以及他的下游任务2022年6月份的数据,我就可以使用补数据功能。

第一步:选择源头任务要补数据的节点

图片

第二步:选择下游任务要补数据的节点,这里任务有点多,我可以根据实际需要来勾选要补数据的任务节点

图片

第三步:配置补数据设置,我可以设置要补数据的时间范围,计划执行时间、执行队列等参数

图片

第四步:前往补数据任务运维列表,查看补数据实例执行情况

图片

3.总结

下图是从用户日常运维视角来看的产品闭环图。任务运维中心的本质就是为用户打造从发现问题、定位问题再到解决问题的完整、高效的运维链路。尤其是现在企业用户数据爆发增长,数据任务往往具有任务量庞大、调度类型复杂、业务影响范围广等特点,任务运维人员往往肩负巨大压力,一个智能高效的运维平台能够帮助运维人员提高工作效率、最大化减少因故障处理不及时而产生的损失,保障数据任务健康运行。

图片

通过提供强大的基线运维、灵活的告警规则配置、自动化的任务管理和监视等功能,致力于打造一个运维人员轻松从容、运维工作高效敏捷的智能化运维工具。​