开发者社区> 问答> 正文

如何通过完整正则模式采集多种格式日志?

如何通过完整正则模式采集多种格式日志?

展开
收起
保持可爱mmm 2020-03-26 23:07:11 520 0
1 条回答
写回答
取消 提交回答
  • 概述 完整正则模式要求日志必须采用统一的格式,但有些时候日志中可能会包含多种格式。本文主要介绍如何通过完整正则模式采集包含多种格式的日志。

    详细信息 以Java日志为例,它是一个程序日志,既包含正常信息,也会包含异常栈等错误信息,如下所示。 WARNING:多行日志。 INFO:简单文本日志。 DEBUG:键值日志。

    [2018-10-01T10:30:31,000] [WARNING] java.lang.Exception: another exception happened at TestPrintStackTrace.f(TestPrintStackTrace.java:3) at TestPrintStackTrace.g(TestPrintStackTrace.java:7) at TestPrintStackTrace.main(TestPrintStackTrace.java:16) [2018-10-01T10:30:32,000] [INFO] info something [2018-10-01T10:30:33,000] [DEBUG] key:value key2:value2

    因此建议您可以采用Schema-On-Write和Schema-On-Read任意一种模式进行处理。 Schema-On-Write:同样的一份日志使用多个采集配置,每个采集配置具有不同的正则配置,从而能够正确地实现字段提取。 提示:Logtail不支持对同一个文件同时使用多个采集配置,您需要为该文件所在的目录建立多个软链接,每个采集配置作用于不同的软链接目录,间接实现多个配置同时采集一个文件的目的。 Schema-On-Read:使用它们共同的正则表达式来采集。比如采用多行日志采集,将时间和日志等级配置为行首正则,剩余的部分都为message字段内容。如果希望进一步分析message字段内容,可以为该字段建立索引,然后利用日志服务的正则提取等查询分析功能,从message字段提取需要的内容,基于该内容进行分析。 提示:此方案仅推荐应用于同时分析的日志数量较小的场景下(比如千万级数据处理)。

    适用于 日志服务

    2020-03-26 23:10:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载