阿里云MVP Meetup 《云数据·大计算:海量日志数据分析与应用》之《数据质量监控》篇

简介: 本手册为阿里云MVP Meetup Workshop《云计算·大数据:海量日志数据分析与应用》的《数据质量监控》篇而准备。主要阐述在使用大数据开发套件过程中如何将已经采集至MaxCompute上的日志数据质量进行监控,学员可以根据本实验手册,去学习如何创建表的监控规则,如何去订阅表等。

实验涉及大数据产品

实验环境准备

必备条件:

  • 开通大数据计算服务MaxCompute
  • 创建大数据开发套件项目空间

进入大数据开发套件,创建DataWorks项目空间

确保阿里云账号处于登录状态。

  • step1:点击进入大数据(数加)管理控制台>大数据开发套件tab页面下。
  • step2:点击右上角创建项目或者直接在项目列表-->创建项目,跳出创建项目对话框。
    1

选择相应的服务器时如果没有购买是选择不了会提示您去开通购买。数据开发、运维中心、数据管理默认是被选择中。

  • step3:勾选相应的服务单击 确认,跳转到下面的界面,填写相应的信息单击确认,创建项目完成。
    2

项目名需要字母或下划线开头,只能包含字母下划线和数字。
【注意】项目名称全局唯一,建议大家采用自己容易区分的名称来作为本次workshop的项目空间名称。

  • step4:单击进入项目跳转到下面的界面:
    进入大数据开发套件

数据质量

数据质量(DQC),是支持多种异构数据源的质量校验、通知、管理服务的一站式平台。数据质量以数据集(DataSet)为监控对象,目前支持MaxCompute数据表和DataHub实时数据流的监控,当离线MaxCompute数据发生变化时,数据质量会对数据进行校验,并阻塞生产链路,以避免问题数据污染扩散。同时,数据质量提供了历史校验结果的管理,以便您对数据质量分析和定级。在流式数据场景下,数据质量能够基于Datahub数据通道进行断流监控,第一时间告警给订阅用户,并且支持橙色、红色告警等级,以及告警频次设置,以最大限度的减少冗余报警。

数据质量的使用流程是,针对已有的表进行监控规则配置,配置完规则后可以进行试跑,验证此规则是否试用。当试跑成功后,可将此规则和调度任务进行关联。关联成功后,每次调度任务代码运行完毕,都会触发数据质量的校验规则,以提升任务准确性。在关联调度后,可根据业务情况,对重要的表进行订阅。订阅成功后,此表的数据质量一旦出问题,都会有邮件或者报警进行通知。

注:数据质量会产生额外的计算费用,在使用时请注意。

新增表规则配置

若已完成《日志数据上传》、《用户画像》实验,我们会得到表:ods_raw_log_d、ods_user_info_d、ods_log_info_d、dw_user_info_all_d、rpt_user_info_d。

数据质量最重要的就是表规则的配置,那么如何配置表规则才是合理的呢?我们来看一下上面这几张表应该如何配置表规则。

ods_raw_log_d

数据质量中可以看到该项目下的所有表信息,现在我们来给 ods_raw_log_d 表进行数据质量的监控规则配置。

image

选择ods_raw_log_d表,点击配置监控规则,将会进入如下页面。

image

我们可以回顾一下 ods_raw_log_d 这张表的数据来源,ods_raw_log_d 这张表的数据是从ftp中获取到的日志数据,其分区是以${bdp.system.bizdate}格式写入进表中("dbp.system.bizdate" 是获取到前一天的日期)。

image

对于这种每日的日志数据,我们可以配置一下表的分区表达式,分区表达式有如下几种,我们选择 dt=$[yyyymmdd-1] 这种表达式,有关调度表达式的详细解读,请参考文档调度参数

image
image

注:若表中无分区列,可以配置无分区,请根据真实的分区值,来配置对应的分区表达式。

确认以后,可以见到如下界面,我们可以选择创建规则。

image

选择创建规则后,出现如下界面:

image

点击添加监控规则,会出现一个提示窗,来配置规则。

image

这张表里的数据来源于FTP上传的日志文件,作为源头表,我们需要尽早判断此表分区中是否有数据。如果这张表中没有数据,那么就需要阻止后面的任务运行,因为来源表没有数据,后面的任务运行是没有意义的。

注:只有强规则下红色报警会导致任务阻塞,阻塞会将任务的实例状态置为失败。

我们在配置规则的时候,选择模板类型为表行数,将规则的强度设置为强,比较方式设置为期望值不等于0,设置完毕后点击批量保存按钮即可。

image

此配置主要是为了避免分区中没有数据,导致下游任务的数据来源为空的问题。

规则试跑

右上角有一个节点试跑的按钮,可以在规则配置完毕后,进行规则校验,试跑按钮可立即触发数据质量的校验规则。

image

点击试跑按钮后,会提示一个弹窗,确认试跑日期。点击试跑后,下方会有一个提示信息,点击提示信息,可跳转至试跑结果中。

image

image

可根据试跑结果,来确认此次任务产出的数据是否符合预期。建议每个表规则配置完毕后,都进行一次试跑操作,以验证表规则的适用性。

在规则配置完毕,且试跑又都成功的情况下。我们需要将表和其产出任务进行关联,这样每次表的产出任务运行完毕后,都会触发数据质量规则的校验,以保证数据的准确性。

关联调度

数据质量支持任务关联调度,在表规则和调度任务绑定后,每次任务运行完毕,都会触发数据质量的检查。可以在表规则配置界面,点击关联调度,配置规则与任务的绑定关系。

image

点击关联调度,可以与已提交到调度的节点任务进行绑定,我们会根据血缘关系给出推荐绑定的任务,也支持自定义绑定。

image

选中搜索结果后,点击添加,添加完毕后即可完成与调度节点任务的绑定。

image

关联调度后,表名后面的小图标会变成蓝色。

image

配置任务订阅

关联调度后,每次调度任务运行完毕,都会触发数据质量的校验,但是我们如何去跟进校验结果呢?数据质量支持设置规则订阅,可以针对重要的表及其规则设置订阅,设置订阅后会根据数据质量的校验结果,进行告警。若数据质量校验结果异常,则会根据配置的告警策略进行通知。

点击订阅管理,设置接收人以及订阅方式,目前支持邮件通知及邮件和短信通知。

image
image
image

订阅管理设置完毕后,可以在我的订阅中进行查看及修改。

image

建议将全部规则订阅,避免校验结果无法及时通知。

ods_user_info_d

ods_user_info_d 表的数据来至于rds的数据库,为用户信息表。我们在配置规则的时候,需要配置表的行数校验;还需要配置主键唯一的校验,避免数据重复。

同样,我们还是需要先配置一个分区字段的监控规则,监控的时间表达式为:dt=$[yyyymmdd-1],配置成功后,在已添加的分区表达式中可以看到成功的分区配置记录。

image

分区表达式配置完毕后,点击右侧的创建规则,进行数据质量的校验规则配置。
添加表行数的监控规则,规则强度设置为强,比较方式设置为期望值不等于0。

image

添加列级规则,设置主键列(uid)为监控列,模板类型为:字段重复值个数校验,规则设置为弱,比较方式设置为字段重复值个数小于1,设置完毕后,点击批量保存按钮即可。

image

此配置主要是为了避免数据重复,导致下游数据被污染的情况。

请不要忘记试跑->关联调度->规则订阅。

ods_log_info_d

ods_log_info_d 这张表的数据,主要是解析ods_raw_log_d 表里的数据,鉴于日志中的数据无法配置过多监控,只需配置表数据不为空的校验规则即可。
先配置表的分区表达式为:dt=$[yyyymmdd-1]

image

配置表数据不为空的校验规则,规则强度设置为强,比较方式设置为期望值不等于0,设置完毕后,点击批量保存按钮即可。

image

请不要忘记试跑->关联调度->规则订阅。

dw_user_info_all_d

dw_user_info_all_d 这个表是针对ods_user_info_d 和 ods_log_info_d 表的数据汇总,由于此流程较为简单,ods层又都已配置了表行数不为空的规则,所以此表不进行数据质量监控规则的配置,以节省计算资源。

rpt_user_info_d

rpt_user_info_d 表是数据汇总后的结果表,根据此表的数据,我们可以进行表行数波动监测,针对主键进行唯一值校验等。
先配置表的分区表达式:dt=$[yyyymmdd-1]

image

然后配置监控规则,单击右侧创建规则,点击添加监控规则。
添加列级规则,设置主键列(uid)为监控列,模板类型为:字段重复值个数校验,规则设置为弱,比较方式设置为字段重复值个数小于1。

image

继续添加监控规则,添加表级规则,模板类型为:SQL任务表行数,7天波动检测;规则强度设置为弱,橙色阈值设置成0%,红色阈值设置成50%(此处阈值范围根据业务逻辑进行设置),配置完毕后,点击批量保存即可。

image

注:此处我们监控表行数主要是为了查看每日uv的波动,好及时了解应用动态。

请不要忘记试跑->关联调度->规则订阅。

大家可能注意到了,我们在设置表规则强度的时候,数据仓库中越底层的表,设置强规则的次数越多。那是因为ods层的数据作为数仓中的原始数据,一定要保证其数据的准确性,避免因ods层的数据质量太差而影响其他层的数据,及时止损。

数据质量还提供了一个任务查询的界面,在此界面上,我们可以查看已配置规则的校验结果。

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
目录
相关文章
|
5月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
535 122
基于docker搭建监控系统&日志收集
|
5月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
1388 83
|
9月前
|
人工智能 自然语言处理 数据挖掘
云上玩转Qwen3系列之三:PAI-LangStudio x Hologres构建ChatBI数据分析Agent应用
PAI-LangStudio 和 Qwen3 构建基于 MCP 协议的 Hologres ChatBI 智能 Agent 应用,通过将 Agent、MCP Server 等技术和阿里最新的推理模型 Qwen3 编排在一个应用流中,为大模型提供了 MCP+OLAP 的智能数据分析能力,使用自然语言即可实现 OLAP 数据分析的查询效果,减少了幻觉。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
|
5月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
562 1
日志收集和Spring 微服务监控的最佳实践
|
5月前
|
存储 缓存 监控
用 C++ 红黑树给公司电脑监控软件的日志快速排序的方法
本文介绍基于C++红黑树算法实现公司监控电脑软件的日志高效管理,利用其自平衡特性提升日志排序、检索与动态更新效率,并结合实际场景提出优化方向,增强系统性能与稳定性。
172 4
|
10月前
|
监控 测试技术 Go
告别传统Log追踪!GOAT如何用HTTP接口重塑代码监控
本文介绍了GOAT(Golang Application Tracing)工具的使用方法,通过一个Echo问答服务实例,详细展示了代码埋点与追踪技术的应用。内容涵盖初始化配置、自动埋点、手动调整埋点、数据监控及清理埋点等核心功能。GOAT适用于灰度发布、功能验证、性能分析、Bug排查和代码重构等场景,助力Go项目质量保障与平稳发布。工具以轻量高效的特点,为开发团队提供数据支持,优化决策流程。
660 89
|
7月前
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
10月前
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
628 51
|
11月前
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
537 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
8月前
|
监控 安全 Linux
AWK在网络安全中的高效应用:从日志分析到威胁狩猎
本文深入探讨AWK在网络安全中的高效应用,涵盖日志分析、威胁狩猎及应急响应等场景。通过实战技巧,助力安全工程师将日志分析效率提升3倍以上,构建轻量级监控方案。文章详解AWK核心语法与网络安全专用技巧,如时间范围分析、多条件过滤和数据脱敏,并提供性能优化与工具集成方案。掌握AWK,让安全工作事半功倍!
317 0

热门文章

最新文章