• GROK解析正则表达式


    GROK解析正则表达式

    我使用以下正则表达式:
    1. INT (?:[+-]?(?:[0-9]+))
    2. VALUE ([0-9]+)
    3. SPACE s*
    4. DATA .*?
    5. USERNAME [a-zA-Z0-9._-]+
    6. YEAR (?>dd){1,2}
    7. MONTHNUM (?:0?[1-9]|1[0-2])
    8. MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])
    9. HOUR (?:2[0123]|[01]?[0-9])
    10. MINUTE (?:[0-5][0-9])
    11. SECOND (?:(?:[0-5][0-9]|60))
    12. ISO8601_TIMEZONE (?:Z|[+-]%{HOUR}(?::?%{MINUTE}))
    13. TIMESTAMP %{YEAR:year}/%{MONTHNUM:monthnum}/%{MONTHDAY:monthday}-%{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second}.%{VALUE:_second}
    14. MESSAGE %{DATA}ERR_SYSTEM%{DATA}
    15. PARSE_ERROR %{TIMESTAMP:ts}%{SPACE}%{USERNAME:type1}%{SPACE}%{USERNAME:slave}%{SPACE}%{USERNAME:type2}%{SPACE}[%{USERNAME:fibre1}/USERNAME:fibre2]%{SPACE}%{MESSAGE:message}

    现在我必须解析这一行:

    2013/05/13-05:19:16.776 INFO abcd1 gamereporting
    [0000000000000000/00000000000000000000]
    [GameReportingSlaveImpl:0x30bf7699a010].processReport() : Error
    processing report for id=18014398509852207,type=frostbite_m,
    error=ERR_SYSTEM

    解析后我得到以下内容:

    1. type1: INFO
    2. slave : abcd1
    3. type2: gamereportin

    现在,类型2总是错过’g’.为什么会这样?

    有人能为上述行提供正确的正则表达式吗?

    解决方法

    你在用 Grok Debugger吗?

    你的Grok模式在哪里?我在你的帖子中没有看到它.

    我会使用类似于以下内容的东西开始.由于您没有深入了解如何保存数据,因此您必须在弄清楚时添加它.

    1. %{DATESTAMP}%{SPACE}%{LOGLEVEL}%{SPACE}%{WORD}%{SPACE}%{WORD}%{SPACE}(?<some_id>[d+/d+])

    使用Grok Debugger – 它将为您节省大量时间

    1. grok的正则在线调试:http://grokdebug.herokuapp.com
    2. 官方地址:https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns  
    3. 参考地址:http://www.net-add.com/a/zidonghuayunwei/rizhifenxi/2018/0717/77.html
    我们只需要努力,然后剩下的交给时间。
  • 相关阅读:
    大数据学习——hive数据类型
    大数据学习——关于hive中的各种join
    大数据学习——hive的sql练习
    大数据学习——hive显示命令
    大数据学习——hive数仓DML和DDL操作
    大数据学习——hive基本操作
    大数据学习——hive使用
    大数据学习——hive安装部署
    大数据学习——日志分析
    大数据学习——mapreduce运营商日志增强
  • 原文地址:https://www.cnblogs.com/lgj8/p/14286160.html
Copyright © 2020-2023  润新知