智能监控功能用于监控任务的运行情况,系统根据您设置的全局规则、自定义规则及智能基线,一旦检测到规则被触发,将根据您的设置,使用邮件、短信、电话、钉钉群消息、WebHook等形式通知您,方便您及时发现并处理异常问题。

背景信息

普通的监控系统只能实现基础的监控操作,无法满足DataWorks的如下需求:
  • 准确地梳理出需要被监控的任务。

    DataWorks的任务量较大,并且任务之间的依赖关系复杂。即使您知道最重要的任务是什么,也很难查找该类任务的所有上游并全部进行监控。基于该情况,如果您直接监控所有任务,会触发较多无用的报警,导致有用报警被忽略,监控效果不佳。

  • 针对每个任务监控的报警方式不同。

    例如,部分监控需要任务运行超过1个小时后报警,而有些监控需要任务运行超过2个小时后报警。如果单独对每个任务设置监控极为繁琐,并且很难预估每个任务应该设置的报警阈值。

  • 针对每个任务监控的报警时间不同。

    例如,重要性较低的任务可以放至上午上班后再报警,而重要性较高的任务则需要在出现故障后立刻报警。常用的监控系统无法区分每个任务的重要性。

  • 及时关闭报警。

    如果报警一直进行提醒,需要在您响应时提供关闭报警的入口。

智能监控拥有一整套的监控报警逻辑,您只需要提供所关注业务的重要任务名称,即可监控整体任务的产出过程,并生成对应的标准统一的报警机制。同时,智能监控还提供了轻量级的自助配置监控功能,方便您可以根据自己的需求定义报警规则。

智能监控的全路径监控功能保障了阿里巴巴集团所有重要业务的任务整体产出链路,其上下游路径分析功能可以及时发现风险并为业务部门提供相应运维信息。在智能监控的分析体系下,阿里巴巴集团业务保持了长期的高稳定性。

使用限制

仅DataWorks标准版及以上版本支持使用基线实例基线管理事件管理功能。

注意事项

RAM用户如果希望通过短信、电话等方式接收告警信息,则需要主账号登录RAM访问控制,完善RAM用户的手机号码、邮箱等个人信息。完善RAM用户的个人信息,详情请参见修改RAM用户基本信息

监控方式

智能监控为您提供了智能基线及自定义规则两种监控方式,两种方式的监控原理及配置规则如下:
  • 智能基线
    • 监控范围

      基线是一组节点的管理单位,即节点分组,您可以将目标任务添加至相应基线进行智能监控。

      一条基线纳入监控后,该基线及基线上游的所有任务都会被监控。此时,智能监控不会默认监控所有任务,当被监控的任务下游有被纳入监控基线的任务时,该下游任务才会被监控。如果下游没有任务被纳入监控基线,即使该任务出错,智能监控也不会报警。 监控范围

      如上图所示,假设整个DataWorks有6个任务节点,任务D和任务E属于纳入基线上的节点,则任务D、任务E及它们所有的上游节点,均会被纳入监控范围。即上图中的任务A、任务B、任务D和任务E出现异常(出错或变慢),均会被智能监控察觉,而任务C和任务F不受智能监控所监控。

    • 捕获任务
      监控范围确定后,当监控范围内的任务出现异常,智能监控会生成一个事件,基于对该事件的分析产生报警决策。任务的异常包括两种类型,您可以进入 事件管理查看 事件类型
      • 出错:任务运行失败。
      • 变慢:任务本次运行时间和过去一段时间内的平均运行时间相比,明显变长。
      说明 如果一个任务先超时、再出错,会生成两个事件。
    • 判断报警时机
      余量是智能监控中目标任务可以被允许拖延开始执行的最长时间。 任务的最晚开始时间 = 基线时间 – 平均运行时间判断时机

      如上图所示,要满足基线A的基线运行时间5:00,向上倒推,则要求任务E的最晚开始时间为5:00减任务F的运行时间20分钟,再减去任务E的运行时间30分钟,即为4:10。该时间也是满足基线A的任务B的最晚完成时间。

      如上图所示,要满足基线B的基线时间6:00,向上倒推,则要求任务B的最晚完成时间为6:00减任务D的运行时间2小时,即为4:00,早于4:10。即任务B的最晚完成时间为4:00时,方可同时满足基线A和基线B。

      任务A的最晚完成时间为4:00减任务B的运行时间2小时,即为2:00,最晚开始时间为2:00减任务A的运行时间10分钟,即为1:50。如果任务A无法在1:50分开始运行,则基线A容易破线。假设1点时任务A运行出错,则此时任务A的余量时间即为1:50和1:00之间的差值,即50分钟。由该示例可见,余量是一个任务异常的警戒程度的体现。

    • 基线报警

      基线报警是对开启基线监控的基线提供的一个报警提醒,每个基线都必须配置预警余量承诺时间。当智能监控预测基线的完成时间超过预警余量时,会直接通知设置的报警对象3次,每次间隔30分钟。

    • 报警方式
      基线报警目前默认发送给基线责任人。您可以根据业务需求,在 规则管理页面的 全局基线预警,修改报警触发方式和报警行为。详情请参见 配置报警详情 详情
    • 甘特图
      甘特图属于智能监控 基线实例的功能,用于反映目标任务的关键执行路径。 甘特图
  • 自定义规则
    您可以根据业务需求,自行设置监控报警规则,配置内容如下:
    • 规则对象:包括节点、基线和工作空间。
    • 触发条件:包括完成、未完成、出错、周期未完成和超时。
    • 报警方式:包括邮件、短信和电话。
    • 最大报警次数:报警的最大次数,超过设置的次数后,不再产生报警。
    • 最小报警间隔:两次报警之间的时间间隔。
    • 免打扰时间:在设置的时间段内不会发送报警。
    • 接收人:可以设置为责任人或其他接收人。
    自定义监控规则的触发条件如下:
    • 完成

      可以设置针对任务、基线或工作空间完成的报警。一旦设置的对象上所有的任务均完成,则会发送报警。例如设置的是基线完成报警,则基线上所有的任务完成时,便会发送报警。

    • 未完成

      可以设置针对任务、基线或工作空间在某个时间点没有完成的报警。例如设置某条基线在10:00完成,则10点只要基线上有一个任务没有完成,便会发送报警,并推送没有完成的任务列表。

    • 出错

      可以设置针对任务、基线或工作空间的出错报警。任务一旦出错,则报警给设置的报警对象,并推送详细的任务出错信息。

    • 周期未完成

      针对小时任务的监控规则,可以单独指定不同周期的未完成时间点。

    • 超时

      可以设置针对任务、基线或工作空间的超时报警。一旦设置的对象中,发现有被监控的任务在指定时间内未完成,则会发送报警。

功能介绍

智能监控能够帮助您降低配置成本、杜绝无效报警自动覆盖所有重要任务,其主要的功能模块如下:
  • 基线实例:用于查看基线的相关信息,详情请参见基线实例
  • 基线管理:用于创建和定义基线,详情请参见基线管理
  • 事件管理:用于查看当前所有变慢和出错的事件,详情请参见事件管理
  • 规则管理:用于自定义报警规则,以及添加钉钉群机器人获取Webhook地址。您可以根据实际业务需求,使用自定义监控规则定制监控内容,监控实例任务的运行状态,以便及时发现并处理异常。详情请参见自定义规则
  • 报警信息:用于查看所有的报警信息,便于及时发现并处理异常。详情请参见报警信息
  • 值班表:您可以使用DataWorks值班表功能设置实例运维报警的值班机制。当自定义规则的报警接收人设置为值班表后,DataWorks将按照排班将报警信息发送给对应的值班人,以便值班人员及时发现并处理问题。详情请参见值班表
智能监控的相关常见问题,详情请参见 常见问题