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 常用格式 详见智能切分时间格式说明文档
使用清晰无歧义的分隔符 (常用分隔符为 空格、”|”、”;”、”,”等)
推荐使用同种类的分隔符,更容易被切分器切分。
字串子串等更推荐使用 JSON 格式
日志串中含有 JSON 字串,使用 JSON 切分器处理,更易于数据清洗。
日志中 JSON 串需为有引号的标准 JSON 格式,且不能含有换行符。
自定义切分如何使用
具体参考文档自定义清洗的使用
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。