Logtail从入门到精通(四):正则表达式Java日志采集实战
前言 日志解析介绍日志采集最终目的还是为了分析,通常分析都要基于结构化或半结构化的数据,因此日志解析是整个日志解决方案中非常重要的一个部分。解析可以理解为从无结构化到半结构化的过程,即将文件中一行或多行文本变为一个个key&value对。 示例 [2018-05-11T20:10:16,000] [INFO] [SessionTracker] [SessionTrackerImpl.java:148] Expiring sessions java.sql.SQLException: Incorrect string value: 'xF0x9Fx8Ex8F",...' for column 'data' at row 1 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84) at org.springframework.jdbc.support.AbstractFallbackSQLException 可以解析成 time : 2018-05-11T20:10:16,000 level : INFO method : SessionTracker file : SessionTrackerImpl line : 148 message : Expiring sessions java.sql.SQLException: Incorrect string value: 'xF0x9Fx8Ex8F",...' for column 'data' at row 1 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:84) at org.springframework.jdbc.support.AbstractFallbackSQLException 解析所处阶段对于不同的产品,日志解析在整个链路中所处的位置会有一定的区别,一般分为两类:schema on write 和 schema on read:
解析方式 正则解析配置正则解析配置流程如下文所示,下面我们将以解析/log/error.log为示例来向大家介绍如何使用正则方式解析日志。
创建正则模式采集配置
正则解析配置自动配置 手动配置
因此某些情况下您还需要手动去提取正则。Logtail支持的是PCRE方式的正则表达式,建议您使用一些正则表达式工具进行编写和调试,例如regextester,regex101等 手动配置正则模式主要分为下述三个过程 配置行首正则 注意:行首正则表达式需要完整匹配一行,因此一般在表达式最后加上.*
解析字段
加粗文字 提取时间 Logtail时间解析使用的是UNIX的strftime规则,具体请参考配置时间格式
本文作者:元乙 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |