开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:5.DataWorks 运维中心介绍及实践】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/81/detail/1231
5.DataWorks 运维中心介绍及实践
内容介绍:
一、运维中心简介
二、智能监控
三、移动版DataWorks
一、运维中心简介
1、什么是运维中心
(1)运维中心是对任务进行测试、运维、监控的模块。
(2)包括三部分:运维大屏、任务运维、智能监控
(3)任务运维分为:实时任务、周期任务、手动任务
任务运维根据任务的触发方式不同,又可以分为实时任务、运维周期任务运维和手动任务运维。
2、运维大屏
运维大屏展示当前您需要重点关注的运维指标、任务整体运行情况、调度资源变化趋势等信息,帮助您提升任务运维效率。
3、任务运维
(1)提供列表和DAG两种模式。
(2)提供图形化任务管理,千万级任务依赖图( DAG )逐级展现。
(3)实例是任务被调度时生成的执行记录。
(4)支持运行诊断、查看运行日志、重跑等操作。
4、常见运维操作一补数据
(1)经常会有用户问,比如9月20号提交发布任务,那么任务最早会从9月20号开始定时运行,数据会定时的产出。那么现在想拿到9月20号之前的数据,应该怎么办?
(2)这时可以用到补数据的功能,它的入口是在周期任务,选中某节点后,在右边有一个下拉,可以看到有补数据的选项,也可以在DAG图上对某节点进行右键,里面也会有补数据的选项,那根据需求,可以选择补数据的节点的范围,是只对当前节点补数据,还是当前节点和下游或者是海量节点模式,在海量节点模式下用户是可以选择多个工作空间下面的多个节点进行补数据的操作,那比方想把9月份的数据都补完,那可以设置为9月1号到9月19号。当补数据的时间范围比较大,或者节点数量比较多时,可以设置病情,这样提高它补数据的速度。因此补数据操作可以帮助用户获得过去某个特定时间段的数据。
5、常见运维操作一运行诊断
(1)展示上游节点运行情况,迅速定位阻塞节点
(2)展示资源组使用情况,调整任务错峰运行
(3)展示历史运行情况,方便进行纵向对比
(4)日志聚类锁定错误原因,提供诊断建议
任务在定时运行的过程中,最理想的情况就是任务运行不出错,任务产出的时间有保障,是每个运维人员的梦想,但事实上任务运行时总会遇到一些问题,任务的定时时间到了,为什么任务还不跑?任务为什么运行变慢?任务为什么运行出错?这时就可以用到运维中心的运行诊断的功能,点击任务运行状态的图标,发起运行诊断,也可以在Dag图上某一个任务上右键,选择运行诊断发起。首先诊断包括4个部分,上游依赖,定时检查,调度资源和任务执行,首先它展示上游节点的运行情况,可以让用户迅速的定位是哪个节点阻塞,因为任务运行的前提条件是它上游的节点都已经运行成功,接下来会做定时检查,任务的定时时间有没有到,调度资源部分展示资源组的水位情况,其中折现是资源组水位的变化趋势,黄色色块表示任务在等资源,绿色色块表示任务在运行,下面展示同时段占用资源的一些任务。
对于 maxcompute 任务,还可以对运行的日志做聚类分析,智能的提供诊断建议,这个任务因为语法错误而造成任务运行失败,同时还可以通过对历史实例的查看,比对同一个任务它最近15次的实例的运行情况。
二、智能监控
dataworks 智能监控模块同时提供全局规则、自定义规则和基线三种监控方式。
1、常规监控方法
步骤:
(1)选择监控的对象
(2)设置触发条件
(3)设置报警方式、报警接收人
2、常规监控方法的问题
当业务流程变得比较复杂或者相当复杂时,上面的问题都会变得更严重,而且对于这么多的节点,是很难梳理出哪些任务需要监控,这就导致下面的问题,大量的任务会产生大量的报警,无法从这么多报警信息中快速的定位故障的原因。
3、智能监控
(1)多
任务非常的多,用户无法准确地梳理出哪些任务需要监控。
(2)繁
任务之间的依赖错综复杂,只知道最重要产出的任务是什么。
(3)错
除了最下游任务,中游、上游任务的监控阈值一般不科学。
(4)难
上游出错会连带下游一起报警,难以排查问题根因。
那这些问题其实在阿里巴巴内部都是存在的,阿里巴巴内部每天有百万级的这样的实例在运行,那阿里巴巴是如何做到对这么大体量的任务的高效的监控?答案就是基线,运维中心的智能监控的智能两个字就体现在基线上。
1.基线
只需将重要节点添加到基线
2.智能
系统自动推断上游节点运行的时间节点
3.事件
基线上游任务异常自动关联受影响基线
4.分析
甘特图性能瓶颈一眼便知
只需要将重要的节点添加到基线上,节点的上游就会自动纳入基线的监控范围,系统会自动推断出节点的启动时间和完成时间,上游任务的异常会产生报警,报警包括出错和变慢,同时提供甘特图可以帮助用户快速的锁定整个业务流程的瓶颈的节点。
4、智能监控原理
节点数: 12
产出节点: K
设定基线&业务承诺时间
反推各任务最晚启动时间
识别关键路径,甘特图展示关键路径运行情况
根据任务实际运行情况,动态调整关键路径
(1)它包含12个节点,其中k节点是关键的产出的节点,有一个报表消费节点产出的数据,老板每天9:30需要查看报表。首先为k设置一条基线,并且把基线的承诺时间设置为9:30,同时给他30分钟的预警 buffer,这就是需要做的全部的操作,那操作会引发什么系统的什么动作?
(2)首先系统会把影响k产出的节点都纳入基线的监控范围,也就是图中这些蓝色的节点,而 cgjl这4个节点是不会被纳基线的监控范围,因为它们不是k的上游节点,不会影响k的产出。那图中的这些蓝色的节点如果运行出错,都会产生一条出错的报警,因为他们运行出错意味着k节点不能正常的开始运行。可以根据基建的承诺时间,以及各个任务的历史的运行时长,倒推出各个任务需要开始运行的时间。
(3)以k节点为例,承诺时间是9:30,预警 buffer30分钟,因此k需要在9点时运行完成,而k的平均运行时长是30分钟,因此k需要在8:30时就开始预警,而I的平均运行时间是两个小时,因此它需要在6:30时,它最少需要在6:30时就开始运行,用类似的方法一直倒推出,a需要在4:30时就开始运行。这时可以找到一条关键的链路abfik,什么是关键链路?就是它的执行时间是最长的一条链路,把它标记为关键路径,而关键路径其实不是一成不变的,根据任务的运行情况,那其实是动态的在变化的系统会动态的去调整关键路径。比如e节点它的运行时间从10分钟变成40分钟,那这时abeik就变成关键路径,如果关键路径上的节点出现变慢的情况,那这时用户也会收到一条报警。同时系统会一直计算这条基线预计的完成时间,如果预计的完成时间可能会晚于承诺时间减去预警buffer,那也会收到一条基线的报警。如果把k放到一条基线上,那么这个节点本身以及任何影响节点产出的异常,都会被监测到,这样就通过非常简单的操作,
就是为k设计一条基线,并且给基线承诺时间和预警buffer,通过非常简单的操作,就可以洞察到所有影响重点节点的异常。
5、智能监控的使用
(1)天基线针对天任务,小时基线针对小时任务
(2)将需要保障的任务添加到基线
(3)优先级影响资源争抢时的分配策略
基线是在运维中心智能监控一级菜单中,可以在基线管理tab新建基线,其中基线的类型包括天基线和小时基线,天基线针对天任务,小时基线针对小时任务,把需要保障的任务添加到基线,然后给优先级,优先级越高,在抢占资源时就会被优先的分配,在阿里巴巴内部也是通过基线的优先级保障重点任务的定时产出的,然后给它设置承诺时间和预警 buffer 即可。
三、移动版DataWorks
1、使用场景
很多 dataworks 用户都会遇到这种情况,比如下班回家,或者是在出差旅行的途中,这时用户收到任务报警,或者是有的同学需要审批,发起表权限的申请,需要人审批,或者是收到产品即将到期的提醒,这时用户就需要打开电脑处理,那如果遇到没有电脑的情况应该怎么办?
2、快速开始
阿里云App :
安装阿里云App,在顶部搜索栏中输入 DataWorks (不区分大小写),单击前往控制台。
手机浏览器:
浏览器输入 workbench.data.aliyun.com, 或者直接扫描下方维码。
将网页保存为书签,以便您之后使用移动版DataWorks。
钉钉小程序:
登录手机钉钉,单击钉钉下方菜单栏中的工作。
单击页面左上方,切换至“大数据+AI”组织。
单击数据应用> DataWorks。
具体的操作可以在官方的操作文档中找到。
3、亮点功能
(1)与报警短信结合,任务运维快人一步,可以直接在手机浏览器中打开移动运维的功能。
(2)使用基线的用户可能体会更深一点,更清晰的甘特图,横屏竖屏切换自如。
(3)查看日志一键到底,再也不用做没有感情的翻页机器。
(4)手机处理表权限审批。另外现在推出移动审批的功能,用户也可以在手机上直接处理表权限的审批,同时提供同时支持批量的操作。如果用户打开阿里APP的消息通知的权限,如果有人申请表权限通知,那审批人会收到一条阿里云APP的推送消息,点击推送消息可以一键直达移动审批进行审批的操作。