任务开发完发布上线后,我们需要在运维中心对它进行运维管理。本文介绍如何对任务进行运维管理。

运维管理

周期任务

下图为周期任务主要功能点,查看周期任务DAG图(节点依赖关系的有向无环图)是否符合预期,如下图所示的依赖关系就是符合当前实验预期的。

周期任务功能

将任务发布上线后,调度任务主要是对未来数据的周期性处理,如果我们需要对历史的数据进行处理那么就可以使用补数据功能。对历史业务日期进行补数据操作,选择需要补的业务日期,选中所有下游节点,一共12个节点,确认执行。在补数据实例中,可以看到实例的运行情况。

周期任务20

周期实例

任务和实例是一对多的关系,实例是任务的具体实现。发布后的第二天可以按业务日期查看周期实例的DAG,下图是周期实例的一些基本功能点说明:

周期实例

您可以通过查看运行日志运行诊断]来排查实例未正常完成的原因。

通过查看实例详情可以查看实例的运行日志,如下图的ODPS SQL任务会打印对应的MapReduce的过程,Inputs和Outputs的数据量以及Odps的详细日志Logview等等,如果任务出错,您可以根据这些信息进行排查。

周期实例2

通过实例右键可以对实例进行智能诊断,我们周期实例开始调度的条件是“上游全部运行成功+下游定时时间到+下游有调度资源=下游开始运行”,而智能诊断功能就是对当前实例进行这三个条件的全链路诊断,帮助运维人员更加快速的定位问题。

说明 该功能有版本控制,详情请参见智能诊断官方文档。
周期实例3

智能监控

智能基线

在生产中我们不仅希望任务能够正常产出,还希望部分重要的任务像ads_ec_ec360_gmv_kpi_overview能够按时产出,以便我们在上午9点30分能看到最新的GMV数据等,智能基线就可以实现高保障的需求。智能基线能够及时捕捉导致基线上的任务无法按时完成的异常情况并提前预警,保障复杂依赖场景下重要数据能在预期时间内顺利产出,帮助您降低配置成本、避免无效报警、自动监控所有重要任务。

基线的应用场景:通过预警、调整关键路径上的所有任务调度优先级的方式保障任务K按时产出。

基线报警示例

将周期任务ads_ec_ec360_gmv_kpi_overview纳入5级基线,保障其按时产出。

基线管理
基本信息:21
参数
基线名称 retail_e_commerce_2_ads高保障
所属工作空间 零售电子商务2_完整项目_勿测试
责任人 xxx
基线类型 天基线
保障任务 任务节点:ads_ec_ec360_gmv_kpi_overview
优先级 5
说明 数值越大,优先级越高。取值范围为[1,3,5,7,8]。优先级越高,在同一调度资源组内该任务及其关键路径上的所有任务获取调度资源的优先级也越高。
预计完成时间 每天00:53(系统自动测算)
承诺时间 每天09:00
预警余量 30分钟
报警行为:22
参数
报警开关 开启
报警类型 基线报警/事件报警(本实验中都使用相同的配置)。
报警方式 钉钉群机器人,添加对应的webhook地址。
说明 钉钉群机器人需加上“DataWorks”关键字才可以接收到DataWorks发送的信息,具体可以参见场景实践:发送报警消息至钉钉群
最大报警次数 3次
最小报警间隔 30分钟
免打扰时间 00:00-00:00

自定义规则(可选)

对单个任务或者资源组有监控需求的,可以使用自定义规则。

自定义规则