数据加工简介
数据加工是阿里云SLS推出的一项Serverless的功能,主要解决日志行实时处理的场景,目前提供了200+的DSL算子。 详细的加工介绍请参考https://help.aliyun.com/document_detail/125384.html
Logstore日志流转常见的场景
日志流转案例 - logstore日志字段过滤复制
案例
A部门有一份敏感日志,由于业务需要, B部门需要访问A部门的日志中的部分字段。为了安全起见,A部门可以使用数据加工实现Logstore对拷, 并过滤掉敏感字段,并且使用RAM授权的方式,给B部门授权
解决方案
使用数据加工 一对一拷贝的功能,并且使用DSL语句进行一定字段的过滤
加工语句范例
e_keep_fields("filed1","field2",regex=False)
日志流转案例 - 多种格式揉杂的logstore,日志拆分
案例
服务A有一份日志,应用程序打的日志格式并不统一。
当有关键词xx的时候,具备格式 x
当有关键词yy的时候,具备格式 y
由于格式差异较大,冗杂在一个logstore里不利于搜索查询; 比如最后需要投递到oss数据湖进行进一步查询分析
解决方案
使用数据加工一对多的分发能力可以解决以上问题
加工语句范例
e_if(e_match("http_code", "500"), e_output(name="logstore1"))
e_if(e_match("http_code", "200"), e_output(name="logstore2"))
e_drop()
日志流转案例 - 跨Region复制
案例
公司的业务在各个Region都有部署,查询logstore的时候,需要到不同Project下进行查询,给开发运维带来不便。
使用数据加工将logstore 跨Region写出到中心化的logstore
解决方案
使用数据加工跨Region传输的能力,进行多对一的logstore复制
加工语句范例
加工语句直接为空,配置时设定好目标logstore即可
小结
使用数据加工对logstore进行数据流转,具备以下几点能力(可根据业务场景进行任意组合)
- 支持流转时数据处理(转化、过滤、富化等,200+DSL函数)
- 支持一对一、一对多、多对一进行流转
- 支持同一个账号、跨账号的场景
- 支持同Region、跨Region的场景
- 支持一次性 数据服务, 也支持流式持续复制