日志清洗最佳实践__最佳实践_业务实时监控服务 ARMS-阿里云
ARMS中数据清洗的作用和功能
为什么要数据清洗
ARMS向用户提供低学习成本实时监控解决方案。不同用户拥有不同的日志格式,以及不同日志的不同字段信息。ARMS为适配用户日志,需要先对用户日志进行数据清洗工作。
例如,一行日志,包含日期格式,商品ID以及交易额,如下。
2016-08-24-13:32:33|itemID=abc|amount=100
通过日志清洗,ARMS需要知道,在这行日志中,时间为2016-08-24-13:32:33,商品ID为abc,以及交易额为100。通过清洗出以上属性以后,ARMS就可以在后续聚合计算编排中,针对这些属性进行相关场景的计算。
ARMS中智能切分和手动切分的区别
ARMS抽象数据清洗过程为对日志数据的切分,形成字段(时间、字符串、数字等字段)。
ARMS向用户提供了两种数据清洗模式:智能切分和手动切分。智能切分 —— 快速、便捷、智能
智能生成数据清洗切分方案。对用户提供的部分日志样例进行智能分析,并推荐最优方案供用户选择。智能切分方案可转换为手动切分拖拽式界面进行微调,大大节省手动切分配置时间。手动切分 —— 手动、全面、可控
通过拖拽式界面配置数据清洗切分逻辑,全图形化配置流程,不需要编写代码即可完成大部分的监控配置任务。
日志格式主要建议
尽量保证格式一致
同一日志源日志尽量保证格式一致,若存在多种日志在同一日志源,需要使用filter功能过滤出需要的日志内容。使用可以识别的时间戳
ARMS支持多种常用时间格式: (需要精确到年月日时分秒,毫秒可选)手动切分中时间戳格式支持所有能转化为常用SimpleDateFormat时间正则表达式(如yyyy-MM-dd HH:mm:ss)的时间格式,时间正则详见SimpleDateFormat官方文档说明。
智能切分能识别的时间格式:
- 支持常见能转化为常用SimpleDateFormat时间正则表达式(如 2016-8-21 23:12:53 等)的时间格式
- 支持Ngix时间格式,如 28/Nov/2014:11:56:09 +0800
- 支持其他Java SimpleDateFormat 常用格式 详见智能切分时间格式说明文档
- 支持常见能转化为常用SimpleDateFormat时间正则表达式(如 2016-8-21 23:12:53 等)的时间格式
使用清晰无歧义的分隔符 (常用分隔符为 空格、”|”、”;”、”,”等)
推荐使用同种类的分隔符,更容易被切分器切分。字串子串等更推荐使用JSON格式
日志串中含有JSON字串,使用JSON切分器处理,更易于数据清洗。
日志中JSON串需为有引号的标准JSON格式,且不能含有换行符。
自定义切分的几种典型场景
- 场景一:
针对形如 “2016-08-24-13:32:33 WORD1 Key1: Value1 Key2= Value2” 的日志串,
这种有key但是切分符无规律的场景。
推荐使用顺序切分器,通过把无关字段按当成顺序分隔符,切分取出剩余需要的字段,效果如下图图例所示:
- 场景二:
针对形如 “2016-08-24-13:32:33 INFO ERR {“jsonKey1”:”jsonValue1”}” 的日志串,
这种日志间主要字段有空格等单一切分符规律的场景。
推荐首先使用单切分切分器,把被相同单一分隔符分割的子串切分出来,
余下字段再分别嵌套其他切分,如下图图例所示(后嵌套JSON串切分):
- 场景三: 针对形如 “Value1|Value2:Value3” 的日志串,
这种没有key且切分符无规律的场景。
推荐使用多分隔符切分器,对多种分隔符同时进行切分,取出切分剩余字段,效果如下图图例所示:
- 场景四: 针对形如 “Key1:Value1 Key2:Value2 Key3:Value3” 的日志串,
这种有key且切分符有规律的KV日志场景。
推荐使用KV切分器,效果如下图图例所示:
- 场景五: 针对标准JSON串场景
推荐使用JSON切分器。
最后更新:2016-11-23 18:55:06
上一篇:
ARMS Open API 说明__API 参考_业务实时监控服务 ARMS-阿里云
下一篇:
日志清洗中关于时间字段date设置的常见问题与解决方法__最佳实践_业务实时监控服务 ARMS-阿里云
首次备案图文引导__流程引导图_备案流程_备案-阿里云
续费实例__实例相关接口_API 参考_云服务器 ECS-阿里云
阿里云自研通用云数据库PolarDB将产品化 9月底公测
数据权限申请__数据管理手册_用户操作指南_大数据开发套件-阿里云
修改弹性公网 IP 属性__网络相关接口_API 参考_云服务器 ECS-阿里云
云服务器 ECS扩容数据盘(Windows实例)
鉴权Action__OpenAPI RAM鉴权_OpenAPI 2.0_移动推送-阿里云
示例项目__Java SDK_SDK参考_E-MapReduce-阿里云
金融云推荐架构__使用金融云产品_金融云-阿里云
Domains数据类型__数据类型_API 手册_CDN-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云