让运维智能高效,轻松搞定运维管理平台
2022-10-20 19:08:13来源:网易有数
先从一段不太正经的推理开始:
根据某百科的官方解释,运维主要目的是确保网站、软件服务的安全和稳定运行。
那么“任务运维”就是确保任务的安全、稳定运行。
(资料图片仅供参考)
那么”任务运维中心“就是辅助任务运维人员进行离线任务管理和实例运维的工作,帮助运维人员提高运维效率,及时发现问题并提供诊断建议,确保任务的安全、稳定运行。
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.总结下图是从用户日常运维视角来看的产品闭环图。任务运维中心的本质就是为用户打造从发现问题、定位问题再到解决问题的完整、高效的运维链路。尤其是现在企业用户数据爆发增长,数据任务往往具有任务量庞大、调度类型复杂、业务影响范围广等特点,任务运维人员往往肩负巨大压力,一个智能高效的运维平台能够帮助运维人员提高工作效率、最大化减少因故障处理不及时而产生的损失,保障数据任务健康运行。
通过提供强大的基线运维、灵活的告警规则配置、自动化的任务管理和监视等功能,致力于打造一个运维人员轻松从容、运维工作高效敏捷的智能化运维工具。