若您需保障重要任务能按时完成,则可使用基线管理功能将重要任务添加至基线并设置承诺时间,系统将根据任务运行情况计算基线任务的预计完成时间。当系统判断基线任务可能无法在承诺时间前完成时,将发出告警。本文为您介绍如何创建和管理基线。
背景信息
智能基线能够及时捕捉导致任务无法按时完成的异常情况并提前预警,保障复杂依赖场景下重要数据能在预期时间内顺利产出。详情请参见智能基线概述。
基线创建完成且开启后,第二天生效,您可于第二天前往周期实例页面查看基线执行情况。
使用限制
版本要求:
仅DataWorks标准版及以上版本可使用基线管理功能。低版本用户请先升级再使用该功能,详情请参见DataWorks各版本详解。
权限管控:
仅阿里云主账号、拥有空间管理员或租户管理员角色权限的RAM用户可创建基线。
仅租户管理员和基线责任人可开启、关闭、删除及修改基线。
如某用户需执行上述操作,可为该用户添加相关角色,详情请参见为工作空间添加空间成员。
报警方式:
DataWorks支持使用邮件、短信、电话、钉钉群机器人和WebHook等报警方式,不同方式使用限制如下。
报警方式
可用DataWorks版本
可用地域
说明
短信
标准版及以上版本。
所有地域
其他地域如果希望通过短信方式报警,您需要先单击申请链接加入“阿里云大数据AI平台”交流群,再扫描下方二维码加入DataWorks产品钉钉交流群,进行售前售后咨询,咨询可直接@智能机器人,值班时间段内也可直接联系值班人员。
WebHook
企业版
华东2(上海)、西南1(成都)、华北3(张家口)、华北2(北京)、华东1(杭州)、华南1(深圳)、中国(香港)、欧洲中部 1(法兰克福)、亚太东南1(新加坡)
仅支持推送报警信息至企业微信或飞书。
仅支持使用钉钉群、企业微信和飞书的WebHook地址。如您需要使用自主开发的WebHook发送消息服务,请参考智能监控自定义WebHook进行适配,并在完成后与我们联系以便进一步处理。
说明RAM用户如果希望通过短信、电话等方式接收告警信息,则需要在报警联系人页面,将目标RAM用户添加为报警联系人。当任务运行报错时,DataWorks会将相应的报警信息发送至对应联系人。详情请参见查看和设置报警联系人。
创建基线
进入运维中心页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入运维中心。
单击左侧导航栏中的
。创建基线。
在基线管理页签中,单击新建基线。
配置基线的基本属性。
参数说明如下。
参数
说明
基线名称
自定义基线名称。
所属工作空间
选择当前需保障的任务所属的工作空间。
责任人
基线负责人。
基线类型
定义基线监测周期,包括天监测和小时监测。
天基线:按照天维度对任务进行监测,天调度任务可选择此监测方式。
小时基线:按照小时维度对任务进行监测,小时调度任务可选择此监测方式。
保障任务
选择需要添加到当前基线上进行数据产出保障的任务。
任务节点:输入任务节点名称或ID,单击右侧的添加按钮。可添加多个任务节点至当前基线。
业务流程:输入业务流程名称或ID,单击右侧的添加按钮。默认将当前业务流程下的所有任务添加至当前基线。
说明选择业务流程后,建议仅添加业务流程最下游的节点任务,添加后,影响该节点数据产出的上游节点都将被纳入基线监控范围,不推荐将业务流程上所有任务都添加至基线。
优先级
定义基线的优先级,数值越大基线优先级越高,基线上任务的优先级也会越高。优先级高的任务,在调度资源紧张的情况下,将优先获得调度资源。配置优先级后将会在第二天生成的周期实例中生效。
说明MaxCompute节点任务:
如下情况该优先级将映射为MaxCompute计算任务的优先级。
MaxCompute Project开启优先级功能。
MaxCompute Project使用包年包月计算资源。
MaxCompute作业优先级=9-DataWorks基线优先级。
EMR节点任务:
可通过设置节点所在基线优先级与YARN队列优先级的映射关系,来调整该节点最终的YARN队列优先级,即能否优先获得调度和执行资源。详情请参见设置基线优先级与YARN队列优先级的映射关系。
预计完成时间
平台将根据基线任务历史一段时间内(通常统计范围为10天)的平均完成时间计算基线的预计完成时间,若预计完成时间晚于基线预警时间,平台会触发基线报警。报警机制,请参见附录:基线报警机制。
说明如果历史数据不足,则系统会提示历史数据不足,暂无法预估。
承诺时间
基线上的任务承诺的最晚完成时间(即需保障的数据最晚的产出时间),基线将根据该时间来推算预警时间。承诺时间需要基于预计完成时间来配置。保证
承诺时间 - 预警余量时间
晚于基线任务的预计完成时间。说明基线预警时间=承诺时间-预警余量
,若实际完成时间晚于承诺时间 - 预警余量时间
,则会触发报警。例如,设置承诺时间为3:30
,预警余量为10分钟,如果系统预测任务无法在3:20
分完成,则会发出基线报警。小时基线需要指定保障数据产出的小时实例,并设置该实例(小时任务某周期)最晚完成时间。
由于基线上的任务可能存在执行时长超过24小时的情况,因此,平台允许承诺时间设置在2天内(即48小时内,
00:00~47:59
)。若基线上任务执行时间超过1天,可选择将基线承诺时间设置在第二天的具体时间点。例如,基线上任务执行时间为一天半,则承诺时间可设置为36:00
。
预警余量
用于定义基线的预警时间。承诺时间与任务预计完成时间至少间隔5分钟,否则会导致频繁报警。建议预警余量基于基线上任务的运行时长来配置。详情请参见:合理配置基线承诺时间和预警余量。
配置基线的报警行为。
您可通过报警开关控制基线是否开启报警,并定义基线上数据无法按时产出时的基线报警策略,及影响基线数据产出的任务及其上游任务出错或变慢时的事件报警策略。配置前,建议先了解基线的报警机制,详情请参见附录:基线报警机制。
打开报警开关。
打开报警开关后,DataWorks将根据配置的报警方式检测,若满足报警条件,则发送相关报警信息。
当预测到基线上任务无法在承诺时间内完成时,系统将根据定义的报警方式发送基线报警信息。详情请参见核心逻辑介绍:基线报警。
当基线任务及其上游任务出错,或关键路径上的任务变慢时,系统将根据定义的报警方式发送事件报警信息。您可以在DataWorks的事件管理页面查看当前已存在的事件列表。详情请参见事件管理。
选择报警方式。
报警开关打开后,您可根据需要选择报警方式,建议对重要任务同时配置基线报警和事件报警。
重要如果无法正常接收报警,请参见在运维中心设置报警后收不到,该如何排查?
基线报警
参数
描述
基线开关
用于控制是否开启该基线。
说明关闭报警开关后,基线不会产生任何报警。如果基线任务为开启状态,则基线实例会正常生成、基线优先级仍然生效。
报警方式
支持通过邮件、短信、电话方式给基线责任人、值班表中的当日值班人员或指定人员发送报警信息。配置值班表,详情请参见值班表。
支持通过钉钉群机器人或WebHook地址给其他应用(目前支持钉钉、企业微信和飞书)发送报警信息。 配置钉钉机器人,详情请参见场景实践:发送报警消息至钉钉群。
说明您可通过校验联系方式或发送测试消息,验证报警信息是否可正常发送。
仅DataWorks专业版及以上版本,才支持使用电话报警。
若您选择通过电话方式进行报警,为避免短时间内产生大量报警电话,DataWorks会对报警电话进行过滤,同一个用户在20分钟内最多只会接收到一通报警电话,其余报警电话将被降级为短信,请知悉。
最大报警次数
报警的最大次数,超过设置的次数后,不再产生报警。
最小报警间隔
两次报警之间的最小时间间隔。
免打扰时间
设置了免打扰时间后,则在该时间段内系统将不会发送告警。
例如,当目标任务设置的免打扰时间为
00:00
到08:00
时,则该时间段内基线与事件的报警将不会触发。如果到达8点,事件仍处于异常状态,则会发出报警信息。事件报警
参数
描述
事件类型
定义出现哪种类型的事件会产生报警。包括:
出错:基线监控范围内的任务运行失败。
变慢:基线监控范围内的任务本次运行时间和过去一段时间内的平均运行时间相比,明显变长。
报警方式
支持通过邮件、短信、电话方式给任务责任人、值班表中的当日值班人员或指定人员发送报警信息。配置值班表,详情请参见值班表。
支持通过钉钉群机器人或WebHook地址给其他应用(目前支持钉钉、企业微信和飞书)发送报警信息。配置钉钉机器人,详情请参见场景实践:发送报警消息至钉钉群。
说明您可通过校验联系方式或发送测试消息,验证报警信息是否可正常发送。
仅DataWorks专业版及以上版本,才支持使用电话报警。
若您选择通过电话方式进行报警,为避免短时间内产生大量报警电话,DataWorks会对报警电话进行过滤,同一个用户在20分钟内最多只会接收到一通报警电话,其余报警电话将被降级为短信,请知悉。
最大报警次数
报警的最大次数,超过设置的次数后,不再产生报警。
最小报警间隔
两次报警之间的最小时间间隔。
免打扰时间
设置了免打扰时间后,则在该时间段内系统将不会发送告警。
例如,当目标任务设置的免打扰时间为
00:00
到08:00
时,则该时间段内基线与事件的报警将不会触发。如果到达8点,事件仍处于异常状态,则会发出报警信息。单击确定,完成基线的创建。
说明关闭报警开关后,基线不会产生任何报警。如果基线任务为开启状态,则基线实例会正常生成、基线优先级仍然生效。
基线添加任务
每个任务只可以添加在一条基线上。例如,当任务A已添加至基线A上,此时新建基线B并添加任务A时,任务A将从基线A转移至基线B。
当开启状态的基线上无任务时,该基线将变为空基线并产生空基线实例,空基线的说明,详情请参见为什么在基线实例页面会显示基线状态为空基线。
您可通过以下两种方式添加任务至基线:
进入基线管理页面,单击右上角的新建基线进行添加。
进入周期任务页面,选择相应任务后的
。说明此方式仅支持新建基线并批量添加选中任务至该新建基线上,暂不支持将批量选中的任务添加至已有基线中。
单个任务添加至基线
单击目标周期任务操作列的
。批量添加任务至基线
勾选多个周期任务,在底部菜单栏选择
。
管理基线
您可在基线管理页面根据责任人、工作空间、基线名称、优先级等条件进行精确筛选,过滤目标基线,并执行如下基线操作:
查看详情:查看基线任务的基本情况。
编辑基线:根据需要修改基线信息。
查看变更记录:查看基线的历史变更操作。
开启或关闭基线:控制基线任务的状态,开启后方可生成周期实例。保障基线每日生成基线实例,您可在基线实例面板查看每日基线详情。
删除基线:根据需要删除基线任务。
附录:基线报警机制
基线报警是对开启状态且打开报警开关的基线提供的一个报警提醒,您可基于基线的预计完成时间配置基线的预警余量和承诺时间。DataWorks将根据监控范围内任务历史10天的平均完成时间推算出任务预计最晚完成时间,并结合基线上任务的实际运行情况进行监控,当预测到基线上任务无法在基线预警时间(基线承诺时间-预警余量)内完成时,系统将根据该基线定义的基线报警接收人发送基线报警信息。
预警余量和基线承诺时间设置不合理可能导致报警不符合预期,详情请参见合理配置基线承诺时间和预警余量。
任务运行前,基线报警策略:
说明基线在每日任务运行前,通过计算当日基线监控范围内任务历史10天内的平均完成时间,将无法在基线预警时间内完成的异常信息第一时间发送给基线报警接收人员。在基线上的任务依赖关系错综复杂,并且依赖变更频繁场景下,基线可为您提前发现问题并预警。
若根据基线任务历史10天内的平均完成时间,推算出基线任务预计完成时间晚于基线预警时间,平台将会触发基线预警。您可在基线管理界面查看计算出的基线任务预计完成时间,详情请参见创建基线。
若根据基线任务的上游任务历史10天内的平均完成时间,推算出上游任务预计完成时间晚于基线预警时间,平台将会触发基线预警。
任务运行过程中,基线报警策略:
当基线上任务实际完成时间晚于基线预警时间时,将会触发基线预警。
后续步骤
基线创建完成后,您可执行如下后续操作: