基于MaxCompute的离线任务对数据产出有严格的时间要求,在确保数据准确性的前提下,还需要让数据能够及时提供服务。本文为您介绍如何使用DataWorks智能监控的规则管理功能监控数据的及时性。

前提条件

如果您想使用完整的智能监控功能,需要购买标准版及以上版本DataWorks,详情请参见DataWorks增值版本功能对比。关于DataWorks智能监控功能详情请参见智能监控概述

背景信息

在对数据产出及时性监控前,首先需要确定调度任务的优先级。数据资产等级越高的任务节点,优先级越高,您可以给予更加严格的数据及时性监控和告警规则。

操作步骤

  1. 进入规则管理页面。
    1. 在DataStudio页面单击运维中心(工作流)运维中心
    2. 运维中心页面,单击左侧菜单栏上的智能监控 > 规则管理,关于规则管理的详情请参见规则管理
  2. 新建自定义规则。
    单击右上角的新建自定义规则,输入参数后单击确定即可。在本例中,监控整个业务流程每次运行时间不可超过30分钟。如果运行时间超过30分钟,则上报一次告警。连续上报3次告警,系统自动以邮件及短信的方式来上报。自定义规则
    参数 描述
    规则名称 输入新建自定义规则的名称。
    对象类型 控制监控的粒度,包括任务节点业务流程基线工作空间
    规则对象 输入监控对象的名称获得ID后,单击右侧的图标即可添加对象。
    触发条件 包括完成未完成出错周期未完成超时
    最大报警次数 报警的最大次数,超过设置的次数后,不再产生报警。
    最小报警间隔 两次报警之间的时间间隔。
    免打扰时间 在设置的时间段内不会发送报警。
    报警方式 包括邮件短信
    接收人 报警的对象,可以设置为任务责任人或其他接收人。
    钉钉群机器人 您可以添加钉钉群机器人接收报警,请参见下文的操作,添加钉钉群机器人获取Webhook地址。
    说明 如果您需要多个钉钉群接收报警信息,请添加多个Webhook地址。
    对于重要的任务节点,您还可以单独设置任务节点规则,并定义其他触发条件触发条件
  3. 数据及时性优化。
    通常,影响数据按时产出的主要原因和优化方式如下表所示。
    问题原因 问题优化
    计算资源不足
    • 资源总量不足。例如,资源上限为500,但您提交了需要1000资源的任务。
    • 资源分配不合理,重要任务未优先分配资源。
    扩容计算资源,或让核心计算任务独占资源。
    代码执行效率低
    • 代码冗余。例如,扫描所有分区。
    • 节点任务配置不合理。例如,出现长尾问题。
    分级错峰,高峰时段让低优先级任务延迟启动。
    缺少问题紧急预案,运维人员无法应对。 在任务正式运行前,进行充分的测试。