You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

监控规则

最近更新时间2023.07.06 10:49:28

首次发布时间2021.08.13 15:07:15

离线报警监控功能,支持您通过配置自定义规则,来实现对任务运行状态的监控。本文将为您介绍监控规则配置的相关操作。

通过新建离线任务监控规则,可对任务运行进行监控。一个监控规则可被多个任务使用,一个任务可使用多个任务监控规则。

1 新建监控规则

  1. 登录 DataLeap租户控制台

  2. 在对应项目下点击运维中心 > 离线任务运维 > 报警监控 > 监控规则界面。

  3. 右上角点击新建监控规则,进入报警设置页面,可以对任务监控规则进行配置,配置信息包括基本信息、监控内容、接收人和报警设置四部分:

    • 基本信息:

      参数说明
      规则名称输入规则名称,仅支持中英文字符、数字、下划线和中小括号。
      规则对象下拉搜索监控的任务对象,可设置多个,您可根据任务 ID 和任务名称进行搜索。
      规则描述非必填,您可以添加当前规则的描述信息,或填写在收到报警后,相关的处理方式等。
    • 监控内容:

      参数说明
      报警

      失败报警

      • 第 N 次执行失败(N 由您指定),第 N 次执行失败后,开始报警,包含第N次、第N+1、第N+2......次执行失败报警。

      • 重试结束后仍失败。

      • 每一次执行失败。

      超时报警

      • 任务执行超时 N 分钟(N由您指定)。

      • 在设定执行时间 N 分钟/小时后,任务未开始执行(以设定执行时间为基准,往后推算,到点未开始执行,则发送报警,直至任务开始执行)。

      • 在设定执行时间 N 分钟/小时后,任务未结束执行(以设定执行时间为基准,往后推算,到点未开始执行,则发送报警,直至任务结束执行)。

      • 在设定执行时间 N 分钟/小时后,任务未执行成功(以设定执行时间为基准,往后推算,到点检查任务状态,若不是 成功 状态,则发送报警,直至任务执行成功)。

      • 截止北京时间 XX:XX,任务未执行成功( XX:XX 由您指定,到达您指定的时间,检查任务状态,若不是 成功 状态,则发送报警,直至任务执行成功。仅执行频率是天及以上调度频率的任务,可设置该监控)。

      通知
      执行状态仅任务执行成功时,才会以邮件形式发送一次通知。
    • 接收人:

      • 项目用户:任务监控规则的内容触发后,可将任务责任人或指定项目成员,设置为报警/通知的接收人,支持设置多个接收人。

      注意

      项目用户作为接收人,您需保证接收人在火山控制台 > 访问控制中个人信息邮箱、手机号已填写完整。

    • 报警设置:

      参数说明

      报警形式

      • 当报警形式选择普通时,您可根据需要,设置报警发送次数和发送间隔,同时还能设置免打扰时段。

      • 当报警形式选择紧急时,报警将无限次发送直至接收人手动确认。此时,您无法设置免打扰时段,只能设置每次报警的发送间隔。

      发送方式

      支持邮件、短信、Webhook、电话等方式。

      注意

      • 目前火山对于短信发送,有频控限制,每分钟最多发送10条短信。

      • 填写 Webhook hookUrl 地址,需为post类型,且必须添加 http 或 https 协议头。监控规则提交时会进行接口验证,验证机制详见:Webhook 接口验证

      • 请求 body 样例说明详见 4.1 格式样例

      发送次数普通的报警形式,您可自定义报警发送次数。
      发送间隔每次报警消息发送的时间间隔,以 min 为时间单位。

      免打扰时段

      • 开启:普通报警形式,您可自定义免打扰时间段,在这段时间内,您不会收到报警。

      • 关闭:紧急报警形式时,无法设置免打扰时段。

  4. 规则配置完成后,点击右上角提交按钮,即新建监控规则完成。

    您可以在监控规则界面,进行监控规则的筛选、编辑、删除等操作:

    • 筛选:您可以根据监控内容、报警形式、接收人、以及规则状态进行已建规则的筛选。

    • 详情:您可以点击规则 ID,查看规则的基本信息;同时您也可以对现有规则进行编辑,并重新提交。

    • 开启/关闭:您可以控制规则的状态,只有开启规则后,监控才会生效。

    • 删除:点击操作列中的删除按钮,可以进行监控规则的删除。

2 监控规则添加

在任务开发的不同阶段,可按需对该任务进行监控规则设置,具体操作入口如下:

  • 开发页面:点击某个已上线的任务,进入配置页面,选择页面右上角的任务监控 > 运行监控,进入该任务的运行监控设置页面,进行监控规则设置。

  • 提交上线页面:任务提交上线时,点击任务编辑栏左上角的提交上线图标按钮,在提交上线页面的监控设置部分,根据实际需要,给任务添加任务监控规则。

  • 任务运维页面:通过单任务操作列的运行监控或批量任务的运行监控 > 添加监控规则,给指定任务进行监控规则设置。

  • 监控规则页面:在监控规则列表中,点击某个规则操作列的编辑按钮,可以将指定的任务添加至规则对象

3 默认监控规则

为快速配置任务运行保底监控,使任务不至于处于裸跑状态,项目设置中推出默认监控设置。一旦启用,新任务上线时,将自动使用已设置的默认监控规则。 默认监控规则分为两大类,分别是默认监控规则离线自定义监控规则

  • 默认监控规则:由系统统一制定,不可修改。配置内容默认为重试结束仍失败,邮件发送一次,接收人为任务负责人。

  • 离线自定义监控规则:自行创建的监控规则,具体由您在编辑项目页面自行配置。

4 离线任务告警 Webhook Url 回传数据格式说明

下文将为您介绍离线任务监控规则,通过 Webhook 方式,发起请求示例及相关字段说明。

4.1 格式样例

{
  "taskId": 123456,
  "instanceId": 123456,
  "projectId": 123456,
  "taskName": "t1",
  "taskTime": "2020-03-01 00:00:00",
  "instanceStatus": 1,
  "region": "cn",
  "alarmRuleType": 1,
  "scheduleRunTime": "2020-03-01 00:00:00",
  "startTime": "2020-03-01 00:00:00",
  "endTime": "2020-03-01 01:00:00",
  "businessId":"xxxxxxxx",
  "triggerTypeAlias":"",
  "triggerId": 1,
  "triggerType": 10,
  "retryCount": 1
}

4.2 字段说明

字段名类型说明
taskIdLong任务ID
instanceIdLong实例ID
projectIdLong项目ID
taskNameString任务名称
taskTimeString业务时间
instanceStatusInteger详见下方-4.4 实例状态说明
regionString取值:cn-beijing,cn-shanghai
alarmRuleTypeInteger详见下方-4.3 报警项类型说明
scheduleRunTimeString设定的运行时间
startTimeString开始运行时间
endTimeString结束运行时间
businessIdString实例 businessId
triggerTypeAliasString任务调度类型
triggerIdLong实例Trigger Id
triggerTypeInteger实例Trigger 类型(例行,重跑等)
retryCountInteger第几次重试

4.3 报警项类型说明(alarmRuleType)

报警项 ID说明
1every_failed,即每一次失败均发送告警。
2success,实例运行成功发送告警。
3running_timeout,实例运行时间超过设定阈值时告警。
4retry_failed,实例重试结束仍失败后发送告警。
5failed_from_n_times,从第 N 次重试执行失败后告警。
6latest_not_start,实例超过设定的执行时间还未开始执行时告警。
7latest_not_end,实例超过设定时间未运行结束时发送告警。
8latest_not_success,实例超过设定时间未运行成功时发送告警。
9fixed_time_not_success,实例超过设定的截止时间未运行成功时发送告警。

4.4 实例状态说明(instanceStatus)

实例状态码说明
1未就绪
2等待执行
3运行中
4成功
5失败
6终止
7终止状态(会重试)
8真正终态,不会再更新的状态
30提交前
-1非终止状态(未完成)

4.5 调度类型说明(triggerTypeAlias)

numalias说明
1system系统调度
2manual手动调度
10rerun实例重跑
11backfill回溯
13debug任务调试
14query临时查询
16backfill_split回溯:下游分批执行