最近更新时间:2023.07.06 10:49:28
首次发布时间:2022.11.16 11:32:24
基线管理功能,通过设置基线监控,可对目标任务及其全部上游任务组成的数据链路,进行全方位的监控,对无法按时完成的任务进行提前预警,保障关键数据能够按时产出。为您降低监控配置成本的情况下,又能更高效的完成任务监控治理。
将某个任务加入基线后,它自身及其全部上游,都将被基线监控。
例如将 candy_yilai3 放入基线1, candy_yilai3 及其全部上游任务组成的数据链路,都将被基线进行监控。
基线中设置监控任务的最晚完成时间和用于处理异常的余量时间。当上游任务运行情况将影响这两个时间点时,基线进行相关报警。
例如对于 candy_yilai3 可接受的最晚完成时间是下午 16:00,当发现问题,负责人用于处理异常的余量时间是 30 min ,则基线1保障的两个时间点是 15:30 和 16:00。当系统发现,随着上游任务的依次运行,candy_yilai3 无法在 15:30 完成运行,基线则会发出预警;当发现 candy_yilai3 无法在 16:00 完成运行,基线将触发保障任务未完成报警。
通过基线监控,可监控保障任务及其全部上游,保证保障任务按时产出。
登录 DataLeap租户控制台 。
在对应项目下单击运维中心 > 离线任务运维 > 报警监控 > 基线管理界面。
在基线管理页面,右上角单击新建基线,进入基线设置页面,可以对任务基线进行配置。配置信息包括基本信息和监控报警两部分,具体配置情况如下:
说明
当您修改已有基线时,对应配置无法实时生效,具体生效时间为:
当您修改时间早于22:00,对应修改在第二天的基线监控中体现;
当您修改时间晚于22:00,对应修改在第三天的基线监控中体现;
参数 | 说明 |
---|---|
基线名称 | 根据需要,设置基线名称。 |
优先级 | 包括普通和紧急两种可选类型:
|
基线类型 | 包括天基线和小时基线两个选项,由加入基线的保障任务的频率决定。
|
保障任务 | 添加基线需要保障的任务,可通过任务名称/ID 来搜索添加。 |
承诺时间 | 加入基线的保障任务,最晚可接受的完成时间。
|
预警余量 | 承诺时间-预警余量即为基线预警时间。一般保障任务发生异常,需要预留多少时间进行处理,预警余量即设置多少。 |
报警类型:基线提供5种报警类型,根据实际需要,您可选择自己想要用的报警。
报警类型 | 报警触发条件 |
---|---|
基线预警 | 基线监控的链路上,首个没有在基线预警时间点开始运行的节点。 |
基线破线 |
|
基线破线加剧 |
说明 N% 为变慢识别算法因子,详见基线事件。 |
基线保障任务未完成预警 | 基线预警时间到达(承诺时间-预警余量),检查基线所有保障任务是否完成运行:
|
基线保障任务未完成 | 基线承诺时间到达,检查基线所有保障任务是否完成运行:
|
监控范围:由加入基线的保障任务及其全部上游任务组成。
监控链路上全部任务:默认监控链路上的全部节点。
指定项目:若您需指定具体项目,则仅发送该监控链路上指定项目下节点触发的基线报警。
报警形式说明:
参数 | 说明 |
---|---|
普通 | 所有基线报警类型,采用同样的发送形式进行发送。 |
高级 | 支持根据上方不同基线的报警类型,采用不同的发送形式进行发送。 |
发送方式 | 支持邮件、短信、电话、Webhook 等方式。注意事项详见:新建监控规则---报警设置。 |
报警对象 | 支持选择项目用户配置方式,注意事项详见:新建监控规则---接收人。 |
报警范围 | 由加入基线的保障任务及其全部上游任务组成。
|
发送次数 | 设置报警发送的次数。 |
间隔时间 | 设置多次发送告警时,每次发送告警的发送间隔时间。 |
免打扰时段 | 您可自定义选择是否开启免打扰时间段,在免打扰时间内,不会发送相关报警。 |
任务开发的不同阶段,可按需进行基线监控的设置,具体操作入口如下:
上线页面:在上线配置页面的监控设置部分,根据实际需要,给任务添加基线监控。
任务运维:通过单任务的添加至基线或批量任务的运行监控 > 添加基线监控,将指定任务添加至基线。
基线管理页面:在基线管理列表中,单击某个规则操作列的编辑按钮,将指定任务,添加至保障任务。
基线创建完成后,您可以在基线管理界面,对已创建的基线进行以下管理操作:
筛选:您可以根据基线名称/ID、基线责任人、优先级、基线类型和开启状态等方向,进行已建基线的筛选。
编辑:单击操作列中的编辑按钮,可以对基线进行重新编辑。
开启/关闭:您可以控制基线的状态,选择开发或关闭,只有开启基线后,监控才会生效。
报警 ACK 设置:对不同基线报警类型,选择是否开启报警屏蔽时间,只在规定时间内发送基线告警。
删除:单击操作列中的删除按钮,对当前基线进行删除操作。
基线告警类型包括:基线预警
、基线预测破线
、基线破线加剧
、基线保障任务未完成预警
、基线保障任务未完成
5种,其中:
基线预警
、基线预测破线
、基线破线加剧
为基线保障任务的上游发出的告警,这些告警发出时表明保障任务产出有可能延迟,因此回调时,需要透出上游任务本身的状态,以及可能受影响的保障任务信息;
基线保障任务未完成预警
和基线保障任务未完成
告警是对保障任务分别在预警时间和保障时间是否成功产出的兜底告警,因此回调时,仅需要透传保障任务的状态即可。
综上所述,回调结构体格式如下:
{ "region": "cn", // 区域 "baselineId": 1, // 基线ID "alarmRuleType": 10, // 告警项ID "alarmItemTypeI18n": { // 告警项名称国际化 "zhCN": "基线预警", "enUS": "Baseline Warning" }, "causeTaskId": 1, // 导致告警的任务ID "causeTaskTime": "2021-07-18", // 导致告警的任务业务时间 "causeInstanceId": 300000, // 导致告警的任务实例ID "causeTaskInstanceStatus": 5, // 导致告警的任务实例状态CODE "causeTaskInstanceStatusStr": "failed", // 导致告警的任务实例状态ALIAS "causeProjectId": 1, // 导致告警的任务所属项目ID "affectedCommitTaskInstances": [ // 受影响的保障任务实例信息 { "id": 1, // 实例ID "taskId": 1, // 保障任务ID "taskName": "dorado_task", // 保障任务名称 "taskFrequency": "DAILY", // 保障任务频率 "taskPriority": "CORE_TASK", // 保障任务优先级 "taskTimeFormat": "2021-07-17", // 保障任务的业务时间 "status": 10, // 保障任务实例状态ID "instanceStatusCollection": "RUNNING" // 保障任务实例状态描述 } ], "alarmTimes": 1 // 告警发送次数 }
字段名 | 附属字段名 | 类型 | 说明 |
---|---|---|---|
region | - | String | 项目所属区域,取值:cn-beijing、cn-shanghai。 |
baselineId | - | Long | 基线 ID 信息。 |
alarmRuleType | - | Integer | 基线告警项类型说明:
|
alarmItemTypeI18n | 告警项名称国际化: | ||
zhCN | String | 中文告警项名称 | |
enUS | String | 英文告警项名称 | |
causeTaskId | - | Long | 导致告警的任务 ID,告警项类型为基线保障任务未完成预警和基线保障任务未完成时,无该字段。 |
causeTaskTime | - | String | 导致告警的任务业务时间,告警项类型为基线保障任务未完成预警和基线保障任务未完成时,无该字段。 |
causeInstanceId | - | Long | 导致告警的任务实例 ID,告警项类型为基线保障任务未完成预警和基线保障任务未完成时,无该字段。 |
causeTaskInstanceStatus | - | Integer | 导致告警的任务实例状态 CODE,告警项类型为基线保障任务未完成预警和基线保障任务未完成时,无该字段。详见离线监控-4.4 实例状态说明。 |
causeTaskInstanceStatusStr | - | String | 导致告警的任务实例状态 ALIAS 解释,告警项类型为基线保障任务未完成预警和基线保障任务未完成时,无该字段。详见离线监控-4.4 实例状态说明。 |
causeProjectId | - | Long | 导致告警的任务所属项目 ID,告警项类型为基线保障任务未完成预警和基线保障任务未完成时,无该字段。 |
affectedCommitTaskInstances | 受影响的保障任务实例信息: | ||
id | Long | 实例 ID, 告警项类型为基线预警、基线破线、基线破线加剧时,无该字段。实例信息可以通过 taskId+taskTime 去查询。 | |
taskId | Long | 保障任务 ID。 | |
taskName | String | 保障任务名称。 | |
taskFrequency | String | 保障任务频率:every_ten_minutes、hourly、daily、weekly、monthly | |
taskPriority | String | 保障任务优先级:NORMAL、HIGH、SUPER_HIGH、CORE_TASK、SUPER_CORE_TASK | |
taskTimeFormat | String | 保障任务的业务时间。 | |
status | Integer | 保障任务实例状态 ID, 告警项类型为基线预警、基线破线、基线破线加剧时,无该字段。 | |
instanceStatusCollection | String | 保障任务实例状态描述,告警项类型为基线预警、基线破线、基线破线加剧时,无该字段。 | |
alarmTimes | - | Integer | 告警发送次数 |
实例状态说明详见监控规则-4.4 实例状态说明。