通过本功能,数据质量支持对 Hive 类型以外的其他数据源进行数据监控,以满足用户多场景下的数据监控需求。
1 前提条件
已在概览页面购买大数据分析、湖仓一体、DataOps 敏捷研发或分布式数据自治解决方案。
2 创建规则
- 登录 DataLeap 控制台。
- 选择数据质量 > 数据监控 > 离线数据监控 > 监控对象,进入监控对象页面。
- 在页面右上角的项目下拉列表中,选择要管理的项目。
- 单击其他数据源页签,进入其他数据源页面。
- 单击新建规则按钮,在弹出的创建规则侧拉窗口中,设置规则信息后,单击确定按钮完成规则创建。
监控规则配置相关参数说明如下表所示。其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
参数 | 说明 |
---|
规则基本信息 |
*规则名称 | 监控规则名,自行设定。 |
*数据源/引擎类型 | 选择的数据源/引擎类型,支持 Starrocks、Bytehouse企业版、Bytehouse云数仓版和 EMR_SERVERLESS_STARROCKS 三个选项,下拉可选。 |
*数据源/实例 | 配置规则的数据源/实例,下拉可选。 当数据源/引擎类型选择 Starrocks、EMR_SERVERLESS_STARROCKS 或 Bytehouse云数仓版后,才可设置该参数。 说明 仅支持选择 StarRocks 2.x 和 StarRocks 3.x 版本的资源。 |
*引擎 | 配置规则的引擎,下拉可选已在ByteHouse企业版引擎侧创建的引擎。
当数据源类型选择 ByteHouse企业版后,才可设置该参数。 |
描述信息 | 监控规则的描述信息,以便后续管理。 |
规则配置 |
*模板类型 | 采用的模板类型。当前仅支持自定义类型,即使用符合语法规范的SQL语句创建规则。 |
*XX查询语句 | 对应所选数据源类型的查询语句,如Doris查询语句,按需输入。 |
报警条件 | *字段名称 | SQL字段名称。解析SQL语句后,自动填充,可编辑。 |
*字段类型 | 支持维度和指标两个选项。解析SQL语句后,自动填充,可编辑。 - 维度:规则报警后,会通报维度信息,便于用户拆解报警内容。如:维度app=toutiao下,指标DAU发出报警。用户可设置多个维度。
- 指标:监控的具体指标,需要设置报警条件。多个指标之间是独立的,任何一个满足报警条件,都会触发规则报警。
目前自定义SQL主要提供以下监控场景: - 当所有字段的字段类型全部设置为指标时,可进行多指标监控(单行多列)。例如,监控某个产品线的DAU、MAU、人均在线时长等指标。
- 当至少有一个字段的字段类型设置为维度时,可进行多指标多维度监控(多行多列)。例如,监控多个产品线的DAU、MAU、人均在线时长等指标,一旦发出报警,会知道是哪个产品线下的哪个指标触发了报警。
- 监控配置示例如下:
- 自定义SQL语句:
SELECT APP,DAU,MAU from databases.table group by APP; - 将 APP 设置成维度,DAU、MAU 设置成指标,并为指标设定监控阈值。
- 当实际结果不符合监控预期时,便发出报警,报警信息示例如下:
- APP=toutiao, 指标DAU为XXX,触发报警。
- APP=douyin, 指标MAU为XXX,触发报警。
说明 当仅设置为指标监控时,则只可进行单行监控,即只监控根据输入的自定义SQL语句检测到的第一行数据。若要进行多行监控,需至少设置一个维度字段。 |
*报警条件 | 解析SQL语句后,自动填充。
仅支持数值类型的报警,即定义的计算指标本身,如sum(money)、count(*)等,该指标会直接跟设定的阈值做对比,判断是否报警。例如: - 监控规则:表行数数值超过2000发出报警。
- 报警判断:假设监控检测出的表行数数值为2500,与设定的阈值(2000)做对比,发现超过阈值,于是发出报警。
说明 一个字段可设置一个报警条件,多个字段之间的报警关系为或。 |
运行设置 |
*调度设置 | 支持任务调度、定时调度、暂不设置三种选择。 - 任务调度:按照关联任务的调度时间执行。
- 定时调度:自行设置监控规则的执行时间。
- 暂不设置:不自动调度执行,可按需手动调度。
注意 ByteHouse 云数仓版数据源必须制定计算组后,其规则才能试跑,而暂不设置的调度方式不支持计算组设置,故该方式不支持试跑。
|
*关联任务 | 数据开发关联调度任务的名称,可通过任务名称关键词或ID进行搜索选择。
当调度设置选择任务调度时,需设置该参数。 |
*规则强弱 | 提供强、弱两个配置选项。 - 当选择强时,需设置熔断方式。任务执行完成之后,由熔断方式决定下游任务运行情况。
- 如果是弱规则,任务会继续运行,如果失败仅发生报警通知,不会阻塞下游任务运行。
当调度设置选择任务调度时,需设置该参数。 |
*计算组 | ByteHouse 中的计算资源集群,下拉可选已在 ByteHouse 云数仓版控制台创建的计算组。 说明 - 仅可选择开启了自动启停或处于开启状态的计算组。
- 当同时满足以下条件时,需设置该参数:
- 数据源类型选择 ByteHouse 云数仓版
- 调度设置选择任务调度或定时调度
|
*熔断方式 | 如果是强规则,可选择以下两种熔断方式: - 在规则运行完成之前,Dorado实例将一直处于运行中状态:是指若触发强规则告警,则实例失败,阻塞下游任务运行;若正常完成则置为成功。
- 若规则运行超过x分钟仍未结束,直接置Dorado实例为成功:是指规则运行超过设定时间,会触发告警通知,下游仍会继续运行,但可能存在数据质量污染风险,需要及时关注监控结果。超时时间可自行设定,取值范围为0~200。
|
*执行频率 | 任务监控规则执行频率,提供分钟级、小时级、天级三个选项。
当调度设置选择定时调度时,需设置该参数。 |
*执行时间 | 根据执行频率,设置具体的执行时间。
当调度设置选择定时调度时,需设置该参数。 |
报警设置 |
*报警渠道 | 支持邮箱+站内信、短信、电话、Webhook 和飞书的报警方式。 说明 - 当选择短信报警时,默认会发送邮箱+站内信。
- 配置相应的飞书报警机器人后,才会显示飞书选项。报警机器人由您自行创建并配置,相关操作说明请参见告警机器人配置。
- 当选择电话报警时,会默认选中飞书,若支持飞书渠道,则会发送飞书消息。
|
*hookUrl | Webhook 请求地址,以 http 或 https 开头。
从下拉列表中选择 http 或 https,填写 Webhook URL 地址。欲了解详细的配置说明,请参见配置模板规则的 Webhook 使用说明。
当报警渠道选择 Webhook 时,需设置该参数。 说明 - 设置 Webhook 后,通知消息将主动推送至对应 hookUrl 中。
- 目前已支持飞书、钉钉和企业微信接收 Webhook 消息,填写飞书、钉钉或者企业微信机器人的 hookurl 后,通知消息将推送至对应的群中。设置Webhook机器人时,需满足以下要求:
- 微信:无要求,直接创建相应的机器人后,复制生成的 WebhookUrl 即可。
- 钉钉:创建机器人后,需勾选其安全设置项下的自定义关键词选项,并设置一个关键词为数据质量产品。
- 飞书:创建机器人后,需勾选其安全设置项下的自定义关键词选项,并设置两个关键词 DataLeap 和 dataleap。
|
*报警对象 | 接收报警的用户、飞书群或值班计划接收人。 - 当报警渠道选择邮箱+站内信、短信或 Webhook 时,需选择接收报警的用户或值班计划。
- 用户:输入用户账号关键词后,在下拉列表中选择,支持设置多个。
- 值班计划:输入值班计划名称的关键词后,在下拉列表中选择。设置后,报警消息将发送至值班计划中的接收人。
- 当报警渠道选择电话或飞书时,需设置接收报警消息的用户、值班计划或您所加入的飞书群。
- 用户:报警消息将发送至用户名对应的飞书中。
输入用户账号关键词后,在下拉列表中选择,支持设置多个。 - 飞书群:报警消息将发送至飞书群ID对应的飞书群中。
可通过飞书开放平台的开发工具模块,查看要输入的飞书群ID。获取ID的相关说明可通过下拉列表中的获取群ID查看。 - 值班计划:报警消息将发送至值班计划中接收人的飞书中。
输入值班计划名称的关键词后,在下拉列表中选择。
说明 - 将配置好的数据质量报警机器人加入飞书群后,才可发送消息至相应的飞书群。
- 可通过查看值班计划按钮,查看值班计划列表及值班设置是否符合预期,并支持添加新值班计划,相关操作说明请参见值班管理。
|
*报警形式 | 支持普通和紧急两种形式。
当报警渠道选择飞书时,才需设置该参数。 |
*报警发送 | 报警发送的次数。 - 发送次数 X:可按需配置发送的次数,默认 1 次。
- 无限制,直至手动ACK解除:无次数限制,若取消发送,需手动ACK(Acknowledgement)来解除报警。
- 报警频率
若不及时ACK,系统会从首次报警起至次日(天级监控至次日00:00点;小时级监控至次日对应小时)按照固定频率发起规则校验,若不通过则触发报警。 - 报警ACK
ACK表示您已知晓这个报警信息,并会采取相应行动处理,不希望再次收到报警。ACK某个监控后,在设置的时间段内不会重复报警,最长23小时59分钟,过期后将再次发起重复检测。
综上,建议及时ACK或进行任务/数据处理!
说明 - 当报警渠道选择飞书时,才支持无限制,直至手动ACK解除选项。收到报警消息后,可在飞书端执行报警ACK操作。
- 当报警形式选择紧急时,自动选中无限制,直至手动ACK解除,不可编辑。
|
*发送间隔 | 报警发送的间隔时间,默认5分钟,可编辑。 |
*报警免打扰 | 可选择是否开启报警免打扰。
当选择开启时,可按需设置免打扰的时间段。 |
3 管理规则
对已创建监控规则的监控对象,可进行相应的管理操作,步骤如下:
- 登录DataLeap控制台。
- 选择数据质量 > 数据监控 > 离线数据监控 > 监控对象 > 其他数据源,进入其他数据源页面。
- 在页面右上角的项目下拉列表中,选择要管理的项目。
- 可执行以下操作:
- 设置搜索信息,搜索符合条件的监控对象。
- 单击某条规则的规则名称,在规则详情页面,可以查看该规则的配置信息,还可以复制、编辑该规则。
- 单击某条规则名称操作列的试跑按钮,在弹出的窗口中,设置试跑时间,可以开启新的试跑。
- 单击某条规则名称操作列的开启/关闭按钮,在弹出的确认对话框中,单击确定按钮,可以开启/关闭该规则。
- 单击某条规则名称操作列的编辑按钮,在编辑规则页面中,可以修改其规则信息。
- 单击某条规则名称操作列的 ... > 删除按钮,在弹出的确认对话框中,单击确定按钮,可以删除该规则。
- 单击某条规则名称操作列的 ... > 复制按钮,在复制规则页面,可以编辑已复制的规则信息。
- 单击某条规则名称操作列的 ... > 分享链接按钮,可以复制相应对象的链接。
- 单击某条规则名称操作列的 ... > 查看7天结果按钮,跳转到运行结果页面,查看该规则截止到操作当天的7天监控结果。
- 单击某条规则名称操作列的 ... > 转让owner 按钮,在弹出的窗口中,可以选择将规则转让给新的owner。
- 勾选一条或多条规则后,单击对应的按钮,执行批量操作。
- 批量开启/关闭
- 批量试跑
- 批量删除
- 批量修改报警对象
- 批量修改规则强弱
说明
仅当前项目管理员或者相应的表、规则等Owner才可执行对应的增、删、改等编辑操作。
4 后续操作
规则运行后,您可到运行结果页面查看该规则的运行结果,查看报警情况,查找并分析问题。管理规则运行结果的相关操作说明请参见管理运行结果。