BpFile(id=335, bpId=207, name=云原生架构下日志服务数据预处理, author=null, keyword=云原生,日志服务,数据预处理,数据加工, description=某家国际教育机构,提供在线教育服务,其用户主要分布在中美两地,该企业拥抱云计算,在架构设计上也全面采用了云原生服务,本实践将重点聚焦该客户以下几个典型场景:
场景一:跨地域/跨账号数据汇集
场景二:数据内容富化(join 维表)
场景三:数据投递/归档、入湖分析
场景四:统一采集,按业务分发分析
场景五:数据监控与智能告警
基于这些场景,本篇实践会介绍对应的解决方案和最佳实践操作手册,方便用户快速快速对号入座,解决云原生架构下的常见日志难题。
, position=null, ossUrl=bp-MFMVP658T2U6J6E2.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
某家国际教育机构,提供在线教育服务,其用户主要分布在中美两地,该企业拥抱云计算,在架构设计上也全面采用了云原生服务,本实践将重点聚焦以下几个典型场景:
场景一: 跨地域/跨账号数据汇集
假设该在线教育的主要用户集中在美国硅谷和中国上海两地,为了更好的为用户提供个性化服务,系统会通过多端(Android/IOS/Web)进行收集用户行为日志和设备元数据(端设备的信息、软件版本),并出于网络就近原则和稳定性考虑,美国硅谷的客户端日志都上传到美国硅谷(us-west-1),中国上海的客户端日志都上传到中国上海(cn-shanghai),为了方便客服中心或者运维团队进行集中查询和管理,会将两地的通过数据加工汇聚到一起。
场景二:数据内容富化(join 维表)
在日常工作中,客服中心的工作人员常常需要通过检索账号ID的方式,快速获取该用户相关的移动端操作记录,但是移动端的数据和用户账号信息是分别采集与存放,无法直接关联。
所以系统层面上,需要将多端日志与维表(例如用户信息Mysql表)进行字段join,为原日志信息添加更多维度信息供分析或者问题解答。
场景三:数据投递/归档、入湖分析
需要将数据归档到OSS,便于对用户行为数据进行分析,但是由于不同客户端的日志格式不同,需要使用日志服务的数据加工功能,进行数据规整后再做投递,便于后续分析。
场景四:统一采集,按业务分发分析
系统部署在阿里云容器服务K8S上,系统日志通过DaemonSet方式采集到Logstore,出于便于后续各业务分析,需要通过日志服务将不同Service的日志分发到不同的Logstore。
场景五:数据监控与智能告警
当我们完成前面几个场景的一个或者多个加工任务,需要对加工任务的延迟情况进行监控,以便快速发现异常,避免影响业务,当加工任务延迟时间超过所设置的阈值后,触发告警,执行相关行动策略,比如通知相关人员进行处理。
l 数据规整:对混乱格式的日志进行字段提取、格式转换,获取结构化数据以支持后续的流处理、数仓计算。
l 数据富化:日志(例如业务订单)与维表(例如用户信息MySQL表)进行字段join,为日志添加更多维度信息供分析。
l 数据分发/汇聚:将全量日志按转发规则分别提取到多个下游存储供不同业务使用。
监控告警:监控大规模数据,触发告警,支持机器学习算法(e.g:智能巡检),通过告警策略配置,对触发的告警进行降噪处理(去重、静默、合并、抑制、路由分派等),然后分派给特定通知渠道(短信、邮件等)。
, templateId=X5XZJYZZDINMTGA0, freetry=, visitTime=null, visitCount=null, video_url=https://yqh.aliyun.com/live/detail/23950, buttonName=null, buttonUrl=null, targetId=X5XZJYZZDINMTGA0, partner=null, partnerUrl=null, partnerLogo=null, cooperation=, cooperationList=null)
1
云原生架构下日志服务数据预处理
部署架构图 场景描述
某家国际教育机构,提供在线教育服务,其用户主
要分布在中美两地,该企业拥抱云计算,在架构设
计上也全面采用了云原生服务,本实践将重点聚
焦该客户以下几个典型场景:
⚫ 场景一:跨地域/跨账号数据汇集
⚫ 场景二:数据内容富化(join 维表)
⚫ 场景三:数据投递/归档、入湖分析
⚫ 场景四:统一采集,按业务分发分析
⚫ 场景五:数据监控与智能告警
基于这些场景,本篇实践会介绍对应的解决方案
和最佳实践操作手册,方便用户快速快速对号入
座,解决云原生架构下的常见日志难题。
产品列表
最佳实践频道 阿里云最佳实践技术分享群
⚫ 云架构设计工具 CADT
⚫ 日志服务 SLS
⚫ 对象存储 OSS
⚫ 数据湖分析 DLA
⚫ 云数据库 RDS MySQL版
2云原生架构下日志服务数据预处理最佳实践 文档版本信息
阿里云
云原生架构下日志服务
数据预处理
最佳实践
文档版本:20210422(发布日期)
3云原生架构下日志服务数据预处理最佳实践 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 云原生架构下日志服务数据预处理最佳实践
文档编号 207
文档版本 V1.0
版本日期 2021-04-22
文档状态 对外发布
制作人 七凌、谷奈
审阅人 游圣、阿瑟
文档变更记录
版本编号 日期 作者 审核人 说明
V1.0 2021-04-22 七凌、谷奈 游圣、阿瑟 创建
文档版本:20210422 I
4云原生架构下日志服务数据预处理最佳实践 产品介绍
产品介绍
⚫ 云原生数据湖分析 DLA:云原生数据湖分析(Data Lake Analytics,简称 DLA) 是
完全弹性的架构,提供一站式的数据湖分析与计算服务,支持 ETL、机器学习、
流、交互式分析;可以分析与集成 对象存储(OSS)、数据库(PostgreSQL/MySQL
等)、NoSQL(Lindorm、TableStore、MongoDB等)数据源的数据;功能包括:数
据入湖,元数据管理与自动发现,支持双引擎:SQL(兼容 Presto)、Spark。详
见:https://www.aliyun.com/product/datalakeanalytics
⚫ 对象存储 OSS:海量、安全、低成本、高可靠的云存储服务,提供
99.9999999999%(12个 9)的数据持久性。使用 RESTful API 可以在互联网任何
位置存储和访问,容量和处理能力弹性扩展,多种存储类型供选择全面优化存储
成本。详见:https://www.aliyun.com/product/oss
⚫ 日志服务 SLS:是云原生观测分析平台,为 Log/Metric/Trace等数据提供大规模、
低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递
功能,全面提升研发、运维、运营和安全等场景数字化能力。详见:
https://www.aliyun.com/product/sls
⚫ 云架构设计工具 CADT:是一款为上云应用提供自助式云架构管理的产品,显著
地降低应用云上管理的难度和时间成本。本产品提供丰富的预制应用架构模板,
同时也支持自助拖拽方式定义应用云上架构;支持较多阿里云服务的配置和管理。
用户可以方便的对云上架构方案的成本、部署、运维、回收进行全生命周期的管
理。详见:https://www.aliyun.com/product/developerservices/cadt
⚫ RDS MySQL数据库:RDS MySQL基于阿里巴巴的 MySQL源码分支,经过双十
一高并发、大数据量的考验,拥有优良的性能。RDS MySQL支持实例管理、账号
管理、数据库管理、备份恢复、白名单、透明数据加密以及数据迁移等基本功能。
详见:https://www.aliyun.com/product/rds/mysql
文档版本:20210422 III
5云原生架构下日志服务数据预处理最佳实践 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ..................................................................................................................................................................... II
产品介绍 .................................................................................................................................................................... III
目录 ............................................................................................................................................................................ IV
1. 解决方案概述 ..................................................................................................................................................... 1
1.1. 业务背景 ............................................................................................................................................. 1
1.2. 技术架构 ............................................................................................................................................. 2
1.3. 方案优势 ............................................................................................................................................. 2
2. 架构部署环境 ..................................................................................................................................................... 3
3. 跨地域/跨账号数据汇集 .................................................................................................................................... 6
3.1. 场景概述 ............................................................................................................................................. 6
3.2. 准备数据 ............................................................................................................................................. 6
3.3. 配置加工任务 ..................................................................................................................................... 8
4. 数据内容富化 ................................................................................................................................................... 12
4.1. 场景概述 ........................................................................................................................................... 12
4.2. 准备用户信息样例 ........................................................................................................................... 12
4.2.1. 创建 Mysql数据库 .................................................................................................................... 12
4.2.2. 配置 Mysql数据库 .................................................................................................................... 12
4.2.3. 导入测试数据 ........................................................................................................................... 14
4.2.4. 配置数据加工任务 ................................................................................................................... 15
5. 数据入湖分析 ................................................................................................................................................... 18
5.1. 场景概述 ........................................................................................................................................... 18
5.2. 配置加工任务 ................................................................................................................................... 18
5.3. 数据投递到 OSS ................................................................................................................................ 22
5.4. 使用 DLA分析 ................................................................................................................................... 25
6. 数据按业务分发 ............................................................................................................................................... 29
6.1. 场景概述 ........................................................................................................................................... 29
6.2. 模拟数据 ........................................................................................................................................... 29
6.3. 配置加工任务 ................................................................................................................................... 31
6.4. 查询分析 ........................................................................................................................................... 34
7. 数据监控告警 ................................................................................................................................................... 35
7.1. 场景概述 ........................................................................................................................................... 35
7.2. 配置加工任务 ................................................................................................................................... 35
7.3. 创建告警监控 ................................................................................................................................... 35
7.4. 配置告警通知渠道和降噪策略........................................................................................................ 39
7.5. 接收告警通知和查看告警监控情况 ................................................................................................ 45
文档版本:20210422 IV
6云原生架构下日志服务数据预处理最佳实践 解决方案概述
1. 解决方案概述
1.1. 业务背景
某家国际教育机构,提供在线教育服务,其用户主要分布在中美两地,该企业拥抱云
计算,在架构设计上也全面采用了云原生服务,本实践将重点聚焦以下几个典型场景:
场景一: 跨地域/跨账号数据汇集
假设该在线教育的主要用户集中在美国硅谷和中国上海两地,为了更好的为用户提供
个性化服务,系统会通过多端(Android/IOS/Web)进行收集用户行为日志和设备元数
据(端设备的信息、软件版本),并出于网络就近原则和稳定性考虑,美国硅谷的客户
端日志都上传到美国硅谷(us-west-1),中国上海的客户端日志都上传到中国上海(cn-
shanghai),为了方便客服中心或者运维团队进行集中查询和管理,会将两地的通过数
据加工汇聚到一起。
场景二:数据内容富化(join 维表)
在日常工作中,客服中心的工作人员常常需要通过检索账号 ID的方式,快速获取该用
户相关的移动端操作记录,但是移动端的数据和用户账号信息是分别采集与存放,无
法直接关联。
所以系统层面上,需要将多端日志与维表(例如用户信息 Mysql表)进行字段 join,
为原日志信息添加更多维度信息供分析或者问题解答。
场景三:数据投递/归档、入湖分析
需要将数据归档到 OSS,便于对用户行为数据进行分析,但是由于不同客户端的日志
格式不同,需要使用日志服务的数据加工功能,进行数据规整后再做投递,便于后续
分析。
场景四:统一采集,按业务分发分析
系统部署在阿里云容器服务 K8S上,系统日志通过 DaemonSet方式采集到 Logstore,
出于便于后续各业务分析,需要通过日志服务将不同 Service 的日志分发到不同的
Logstore。
场景五:数据监控与智能告警
当我们完成前面几个场景的一个或者多个加工任务,需要对加工任务的延迟情况进行
文档版本:20210422 1
7云原生架构下日志服务数据预处理最佳实践 解决方案概述
监控,以便快速发现异常,避免影响业务,当加工任务延迟时间超过所设置的阈值后,
触发告警,执行相关行动策略,比如通知相关人员进行处理。
1.2. 技术架构
本实践基于如下图所示的技术架构和主要流程进行介绍:
1.3. 方案优势
⚫ 数据规整:对混乱格式的日志进行字段提取、格式转换,获取结构化数据以支持后
续的流处理、数仓计算。
⚫ 数据富化:日志(例如业务订单)与维表(例如用户信息 MySQL表)进行字段
join,为日志添加更多维度信息供分析。
⚫ 数据分发/汇聚:将全量日志按转发规则分别提取到多个下游存储供不同业务使用。
⚫ 监控告警:监控大规模数据,触发告警,支持机器学习算法(e.g:智能巡检),通
过告警策略配置,对触发的告警进行降噪处理(去重、静默、合并、抑制、路由分
派等),然后分派给特定通知渠道(短信、邮件等)。
文档版本:20210422 2
8云原生架构下日志服务数据预处理最佳实践 架构部署环境
2. 架构部署环境
本最佳实践采用云架构设计工具(CADT)对需要使用的资源进行部署,它是一款为上
云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本。
本产品提供大量预制的应用架构模板,同时也支持自助拖拽方式定义应用云上架构,
支持大量阿里云服务的配置和管理,可以方便地对云上架构方案的成本、部署、运维、
回收进行全生命周期的管理。
步骤1 登录 CADT控制台。(https://bpstudio.console.aliyun.com/)
步骤2 单击新建 > 官方模板库新建。
步骤3 在搜索框中搜索“云原生架构下日志服务数据预处理”,找到目标模板。
步骤4 将鼠标移动到模板图标上,单击基于模板新建。
文档版本:20210422 3