离线报警监控功能支持您通过配置自定义规则,来实现对 Pipeline 任务运行状态的监控。一个监控规则可被多个 Pipeline 任务使用,一个任务可使用多个任务监控规则。本文将为您介绍监控规则配置的相关操作。
1 前提条件
- 监控规则告警发送方式若需选择飞书、飞书加急,或者告警接收人需选择飞书群时,您需要先前往飞书开发者后台,自建一个飞书应用机器人,并将应用机器人添加至对应的飞书群中,且需将应用机器人信息(App ID、App Secret信息)绑定至推送渠道配置控制台,进行飞书通知的注册配置。
飞书应用机器人创建操作详见1.1 飞书应用机器人创建,推送渠道配置详见推送渠道配置。 - 您需拥有项目内管理员、开发角色,方可进行任务监控规则创建管理操作。若在项目内仅是运维、访客等角色,不支持进行监控配置相关操作。详见管理成员信息和角色权限矩阵。
2 新建监控规则
登录 DataLeap 控制台,进入 New IDE 项目平台。
选择报警监控 > 监控规则,进入监控规则页面。

单击新建监控规则按钮,进入报警设置页面,可以对任务监控规则进行配置,配置信息包括基本信息、监控内容、接收人和报警设置四部分:
基本信息
参数 | 说明 |
|---|
*监控类型 | 仅支持选择离线任务监控。该类型适用于任务调度频率在 5 分钟以上的离线任务的监控。 |
*规则名称 | 输入规则名称,仅支持中英文字符、数字、下划线和中小括号。 |
规则对象 | 规则监控的任务对象,支持工作流和节点两个类型选项,下拉可选。
选择任务对象类型后,下拉搜索监控的对象,可设置多个。您可根据任务 ID 和任务名称进行搜索,选择后单击右侧添加按钮,完成对象添加。 |
规则描述 | 非必填,您可以添加当前规则的描述信息,或填写在收到报警后,相关的处理方式等。 |
监控内容
参数 | 说明 |
|---|
报警 |
失败报警 | 可选择在哪种失败情况下报警: - 第 N 次执行失败(N 由您指定),第 N 次执行失败后,开始报警,包含第N次、第N+1、第N+2......次执行失败报警。
- 重试结束后仍失败。
- 每一次执行失败。
|
超时报警 | 可选择在哪种超时情况下报警,支持多选: - 任务执行超时 N 分钟(N由您指定)。
- 在设定执行时间 N 分钟/小时后,任务未开始执行(以设定执行时间为基准,往后推算,到点未开始执行,则发送报警,直至任务开始执行)。
- 在设定执行时间 N 分钟/小时后,任务未结束执行(以设定执行时间为基准,往后推算,到点未开始执行,则发送报警,直至任务结束执行)。
- 在设定执行时间 N 分钟/小时后,任务未执行成功(以设定执行时间为基准,往后推算,到点检查任务状态,若不是 成功 状态,则发送报警,直至任务执行成功)。
- 截止北京时间 XX:XX,任务未执行成功( XX:XX 由您指定,到达您指定的时间,检查任务状态,若不是 成功 状态,则发送报警,直至任务执行成功。仅执行频率是天及以上调度频率的任务,可设置该监控)。
|
通知 |
执行状态 | 通知默认以飞书形式发送一次。若设置 Webhook,则会推送至 Webhook。
当选择执行成功后,会显示手动置为成功选项,若勾选手动置为成功,则手动置成功的任务也会发送通知。 |
接收人
接收人 | 说明 |
|---|
用户 | Pipeline 任务监控规则的内容触发后,可将任务责任人或指定项目成员,设置为报警/通知的接收人,支持设置多个接收人。 说明 项目用户作为接收人,您需确保接收人在火山控制台 > 访问控制中个人信息邮箱、手机号已填写完整。 |
飞书群 | 将告警发送至指定的目标飞书群中,支持添加多个群 ID,用英文逗号分隔。飞书群 ID 查看方式详见3 飞书群 ID 信息获取。
飞书群作为接收人,您可选择以下两种发送方式,将告警发送到飞书群中: - 方式一:发送方式勾选为“飞书”或“飞书加急”。
“飞书”和“飞书加急”发送方式,目前默认不展示,此发送方式需要您前往飞书开发者后台,自建一个飞书应用机器人,并将应用机器人添加至对应的飞书群中,且需将应用机器人信息(App ID、App Secret信息)绑定至推送渠道配置控制台,进行飞书通知的注册配置。
飞书应用机器人创建操作详见1.1 飞书应用机器人创建,推送渠道配置详见推送渠道配置。 - 方式二:发送方式勾选为“Webhook”。
此方式您需在目标飞书、钉钉和企业微信群中添加一个自定义机器人,并在其安全设置中,勾选“自定义关键词”,并且输入关键词:DataLeap 和 dataleap。
配置完成后,DataLeap 方可通过自定义机器人生成的 Webhook 地址,将告警消息推送至目标飞书群中,自定义机器人创建方式详见1.2 飞书&钉钉&企业微信自定义机器人创建。注意 - 请妥善保管好此 Webhook 地址,不要公布在 GitHub、博客等可公开查阅的网站上,以防止地址泄露后被恶意调用发送垃圾信息。
- 企业微信中可忽略关键词相关配置。
|
值班计划 | 您可填写值班计划中的唯一名称信息,支持填写多个值班计划唯一名称,用英文逗号分隔即可。

当任务监控规则的内容触发后,根据配置的值班计划,可将告警消息通过下方报警设置 > 发送方式中设置的方式,发送至值班计划中配置的值班人员,您可在值班计划中灵活安排值班人员来处理告警。值班表操作配置详见值班计划。 |
报警设置
参数 | 说明 |
|---|
监控范围 | 按需选择任务实例的监控范围: - 全部实例:包含历史实例的监控,所有历史实例执行失败后,均会发出告警。
- 指定实例:以运行时间为基准,监控对应业务时间在最近 N 天的运行实例情况。
|
报警形式 | - 当报警形式选择普通时,您可根据需要,设置报警发送次数和发送间隔,同时还能设置免打扰时段。
- 当报警形式选择紧急时,报警将无限次发送直至接收人手动确认。此时,您无法设置发送方式和免打扰时段,只能设置每次报警的发送间隔。
|
发送方式 | 支持邮件、短信、电话、飞书、飞书加急、Webhook 等方式。 注意 - 目前火山对于短信发送,有频控限制,每分钟最多发送10条短信。
- 发送方式选择为短信,触发告警时,将向您发送短信并同步抄送一份邮件到您火山账号配置的邮箱中。
- “飞书”和“飞书加急”发送方式,需注意以下几点:
- 目前界面默认不展示这两种发送方式,需要您前往飞书开发者后台,自建一个飞书应用机器人,并且需将应用机器人信息(App ID、App Secret信息)绑定至推送渠道配置控制台,进行飞书通知的注册配置。
- 当告警接收人配置为项目用户或任务责任人时,您需额外自建应用机器人并进行飞书账号绑定。
操作详见1.1 飞书应用机器人创建
- 若您配置了数据开发电话告警机器人,则发送方式选择电话时,触发告警后,您将接收到电话并同步接收到飞书机器人消息。配置告警机器人的操作请参见推送渠道配置。
- 发送方式为 Webhook 时,您需注意以下几点:
- 配置自定义 Webhook 地址时,上方接收人选项配置无效,即告警消息直接通过 Webhook 地址发送,没有告警接收人概念。
- 填写 Webhook hookUrl 地址,需为 post 类型,且必须添加 http 或 https 协议头。监控规则提交时会进行接口验证,验证机制详见:Webhook 接口验证。
- Webhook 地址也可添加为飞书自定义机器人、钉钉自定义机器人和企业微信中的 Webhook 地址,创建机器人时,关键词可设置为 DataLeap 或 dataleap。详见1.2 自定义机器人创建。
- 离线任务的飞书自定义机器人 Webhook 告警通知卡片中,支持展现报警时间和任务重试次数,其余发送方式中暂不支持展现。
- 请求 body 样例说明详见 4.1 格式样例。
- 目前自动化运维只支持邮件和短信消息提醒。若您开启了失败告警后授权做自动化运维,则必须勾选邮件或短信,才能收到相应的报警消息。
|
报警卡片 | 报警卡片中若已勾选“@责任人”,且满足以下任一条件时,告警发送才会 @ 任务责任人以进行消息提醒: - 当发送方式选择飞书或飞书加急时:
- 在接收人选项中,已选定对应的任务责任人为接收人或直接勾选“任务责任人”,则可接收 @ 责任人消息;
- 或在接收人选项中,填写飞书群信息作为接收人,同样可接收 @ 责任人消息;
- 当发送方式选择 Webhook,且配置的 Webhook 链接为钉钉群机器人时,会在钉钉群中 @相应任务责任人。
注意 - 告警接收任务责任人对应的火山引擎账号,需在火山引擎 - 账号管理 中绑定相应手机号和邮箱信息,且该手机号必须与钉钉、飞书账号绑定的手机号一致,方可正常接收告警 @ 信息。
- 已选定对应的任务责任人为接收人或直接勾选“任务责任人”时,才可接受飞书加急消息提醒。
- 任务执行成功的通知消息,发送时不会@ 任务责任人,请注意。
|
发送次数 | 普通的报警形式,您可自定义报警发送次数。 |
发送间隔 | 每次报警消息发送的时间间隔,以 min 为时间单位。 |
免打扰时段 | - 开启:普通报警形式,您可自定义免打扰时间段,在这段时间内,您不会收到报警。
- 关闭:紧急报警形式时,无法设置免打扰时段。
|
规则配置完成后,单击提交按钮,完成监控规则创建。
还可以在监控规则页面,进行监控规则的筛选、编辑、删除等操作:
- 筛选:可以根据监控内容、报警形式、接收人、规则状态等进行已建规则的筛选。
- 详情:单击规则 ID,可以查看规则的基本信息;同时您也可以对现有规则进行编辑,并重新提交。
- 开启/关闭:可以控制规则的状态,只有开启规则后,监控才会生效。
- 删除:单击操作列中的删除按钮,二次确认后,可以进行监控规则的删除。
- 批量操作:可以对已建规则进行批量操作,包括开启/关闭规则、删除规则、接收人替换、接收人重置。
3 监控规则添加
在任务开发的不同阶段,可按需对该任务进行监控规则设置,具体操作入口如下:
- Pipeline 运维页面:通过 Pipeline 任务操作列的运行监控按钮,给指定任务进行监控规则设置。
- 监控规则页面:在监控规则列表中,点击某个规则操作列的编辑按钮,可以将指定的任务添加至规则对象。
监控规则具体配置请参见2 新建监控规则。
4 默认监控规则
为快速配置任务运行保底监控,使任务不至于处于裸跑状态,项目设置中推出默认监控设置。一旦启用,新任务上线时,将自动使用已设置的默认监控规则。 默认监控规则分为两大类,分别是默认监控规则和离线自定义监控规则。
- 默认监控规则:由系统统一制定,不可修改。配置内容默认为重试结束仍失败,邮件发送一次,接收人为任务负责人。
- 离线自定义监控规则:自行创建的监控规则,具体由您在编辑项目页面自行配置。您也可以在下拉框中,单击新建监控规则按钮,前往监控规则界面新建。

5 离线任务告警 Webhook Url 回传数据格式说明
下文将为您介绍离线任务监控规则,通过 Webhook 方式,发起请求示例及相关字段说明。
5.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
}
5.2 字段说明
字段名 | 类型 | 说明 |
|---|
taskId | Long | 任务ID |
instanceId | Long | 实例ID |
projectId | Long | 项目ID |
taskName | String | 任务名称 |
taskTime | String | 业务时间 |
instanceStatus | Integer | 详见下方-5.4 实例状态说明(instanceStatus) |
region | String | 取值:cn-beijing,cn-shanghai |
alarmRuleType | Integer | 详见下方-5.3 报警项类型说明(alarmRuleType) |
scheduleRunTime | String | 设定的运行时间 |
startTime | String | 开始运行时间 |
endTime | String | 结束运行时间 |
businessId | String | 实例 businessId |
triggerTypeAlias | String | 任务调度类型 |
triggerId | Long | 实例Trigger Id |
triggerType | Integer | 实例Trigger 类型(例行,重跑等) |
retryCount | Integer | 第几次重试 |
5.3 报警项类型说明(alarmRuleType)
报警项 ID | 说明 |
|---|
1 | every_failed,即每一次失败均发送告警。 |
2 | success,实例运行成功发送告警。 |
3 | running_timeout,实例运行时间超过设定阈值时告警。 |
4 | retry_failed,实例重试结束仍失败后发送告警。 |
5 | failed_from_n_times,从第 N 次重试执行失败后告警。 |
6 | latest_not_start,实例超过设定的执行时间还未开始执行时告警。 |
7 | latest_not_end,实例超过设定时间未运行结束时发送告警。 |
8 | latest_not_success,实例超过设定时间未运行成功时发送告警。 |
9 | fixed_time_not_success,实例超过设定的截止时间未运行成功时发送告警。 |
5.4 实例状态说明(instanceStatus)
实例状态码 | 说明 |
|---|
1 | 未就绪 |
2 | 等待执行 |
3 | 运行中 |
4 | 成功 |
5 | 失败 |
6 | 终止 |
7 | 终止状态(会重试) |
8 | 真正终态,不会再更新的状态 |
30 | 提交前 |
-1 | 非终止状态(未完成) |
5.5 调度类型说明(triggerTypeAlias)
num | alias | 说明 |
|---|
1 | system | 系统调度 |
2 | manual | 手动调度 |
10 | rerun | 实例重跑 |
11 | backfill | 回溯 |
13 | debug | 任务调试 |
14 | query | 临时查询 |
16 | backfill_split | 回溯:下游分批执行 |