最近更新时间:2023.08.17 19:24:08
首次发布时间:2021.08.13 15:07:15
模板意在定义监控校验规则,方便后期复用。
已在概览页面购买大数据分析、湖仓一体、DataOps 敏捷研发或分布式数据自治解决方案。
登录 DataLeap 控制台。
选择数据质量 > 数据监控 > 离线数据监控 > 监控对象,直接进入监控对象的模板规则页面。
在页面右上角的项目下拉列表中,选择要管理项目。
在引擎下拉列表中,选择要配置的引擎和对应的实例。
创建监控对象。
单击 +监控对象按钮,在弹出的窗口中,设置监控对象信息。
单击确定按钮,对象添加成功并显示在监控对象列表中。
创建监控规则。
单击某个监控对象的新建规则按钮,进入该对象的新建监控规则页面。
设置规则信息后,单击完成或者完成并试跑按钮,完成规则创建。
单击完成按钮,完成规则创建。
单击完成并试跑按钮,在弹出的窗口中选择试跑时间后,单击确定按钮,完成规则创建并直接试跑调试。
创建模板规则相关参数说明如下表所示。其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
参数 | 说明 |
---|---|
*引擎 | 要创建规则的数据库存储引擎,支持 EMR 和 LAS 两种引擎,下拉可选。
|
新建监控对象 | |
*库表名 | 创建监控对象的库、表名称,支持按表录入和按库录入两种设置方式。
|
新建监控规则 | |
*监控对象 | 显示要创建规则的监控对象,不可编辑。 |
*选择分区 | 根据表的现有分区,自动识别,可编辑。 |
规则配置 | |
*规则类型 | 支持表行数、重复值、空值、异常值、表字段等模板类型,下拉可选。
|
*规则名称 | 监控规则名称,自动填充,可编辑。 |
*监控字段 | 要监控的数据表字段名称,下拉可选。 |
*空值类型 | 支持 NULL、空字符串和自定义三种选项。 |
*匹配逻辑 | 支持正常值列表和异常值列表两个选项。 |
*匹配方式 | 支持枚举值和正则表达式两个选项。 |
*匹配内容 |
当规则类型选择异常值时,需配置该参数。 |
*计算方式 | 监控某字段所采取的计算方式,支持sum、count、avg 和 count distinct 四个选项。 |
*报警条件 | 是指规则发出报警时,指标需要满足的条件。当监控指标被计算出来 后,如果满足报警条件,就会发出报警。
说明
|
执行方式 | |
*执行方式 | 监控规则的执行方式,支持关联任务、定时调度和暂不设置三种方式。
|
*任务名称 | 要关联任务的名称,可通过任务名称关键词或ID进行搜索选择。 |
*规则强弱 | 提供强、弱两个配置选项。
当执行方式选择关联任务时,需设置该参数。 注意 由于动态阈值存在误报风险,当报警条件选择动态阈值时,请谨慎选择强规则。 |
*熔断方式 | 如果是强规则,可选择以下两种熔断方式:
|
*执行频率 | 任务监控规则执行频率,提供分钟级、小时级、天级三个选项。 |
*执行时间 | 根据执行频率,设置具体的执行时间。 |
报警设置 | |
*报警方式 | 支持邮箱、短信和 Webhook 的告警方式。 |
*Webhook | Webhook 请求地址,以 http 或 https 开头。 |
*报警接收 | 支持多个接收人。 |
*重复方式 | 可选择是否重复发送告警信息给相关接收人。
|
高级设置 | |
重试条件 | 运行失败 |
运行参数 | 按需配置 SQL 语句前的运行参数,如“set 参数名1=取值;”。 |
过滤条件 | where之后的条件语句,语法逻辑跟HSQL一致,无需输入Where, 如 type='xxx'。 |
自定义报警 | 自定义报警时间,支持按需设置北京或 UTC 时间,下拉可选。 |
创建模板规则过程中,当规则类型选择表行数时,可以配置动态阈值报警。
动态阈值可以根据历史分区的数据来预测下一个分区的行数范围,如果新分区的行数不在这个区间范围内会发出报警。
分析发现,表行数的数据分布主要有以下几种分布形态:
分布 | 单调不减(A) | 整体上升,偶尔下降(B) | 固定不变(C) | 变动频率小(D) | 其他 |
---|---|---|---|---|---|
图示例 | ![]() | ![]() | ![]() | ![]() | ![]() |
动态阈值在上述A、B、C、D四种分布上效果更佳。因此,开启动态阈值报警前,建议先查看一下历史表行数的数据走势,以判断该报警条件是否适用。
创建监控规则过程中,当您选择 Webhook 报警方式时,需注册 Webhook URL,后续报警会发送到注册的 URL。您可以根据 URL 的请求,制定后续的问题处理流程。
从报警方式下拉列表中,选择 Webhook。
配置 WebHook:从下拉列表中选择 http 或 https 后,填写 hookUrl。
URL 地址示例如下:
volc_quality_test.volcwebhook.xxx/xx/webhook
输入 hookUrl 后,单击显示的验证按钮进行验证。
验证时,会给 hookUrl 发送带 challenge 的请求,challenge 为随机整数。接到请求后需要将 challenge 原样返回,才可验证通过。验证示例如下:
验证的 Request body
{ "source": null "region": null "type": null "rule_name": null "callback_url": null "target_type": null "target": null "content": null "event_time": "2020-03-01 00:00:00", // 报警时间,消息通知时间 "owners": null "challenge": 1230201 // 随机整数 }
Response body 示例
{ "status": 0, //状态码,0 "data": { "challenge": 1230201 // 传递原来的数值 } }
配置 URL 告警时会给 URL 地址发送请求,具体样例如下:
Request body 示例
{ "source": "quality", // 源系统的中文名称 "region": "cn", // 源系统的部署环境 "type": 1, // 报警/消息:枚举值:1、报警 2、消息 "rule_name": "xxx_rule", // 源系统中产生事件的规则名称 "callback_url": "url_to_rule", // 源系统中产生事件的规则回调地址URL "target_type": "table", // 区分描述对象的大类,比如:任务、数据库、表 "target": "test_tb", // 描述具体的事件对象,一般信息包含:对象名称及具体名称值 "content": "alarm content", // 描述发生事件的具体内容,即为:报警内容 或 通知内容 "event_time": "2020-03-01 00:00:00", // 报警时间,消息通知时间 "owners": "test,test2" // 此次事件的直接负责人 "challenge": null }
Response body 示例
{ "status": 0, //状态码,0 "data": null }
要确保消息服务能够访问 hookUrl 的网络,对 hookUrl 的 IP/域名网络说明如下:
若 IP/域名位于公网或公共服务区,则可以访问。
若 IP/域名位于售卖区私网,则需要注册 shuttle server 后,通过 shuttle 转发才可访问。
说明
需要提供服务 vpc id、IP、port,联系租户管理员注册 shuttle server。