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

前提条件

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

背景信息

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

操作步骤

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