【问题标题】:Grok filters for the below log messageGrok 过滤器用于以下日志消息
【发布时间】:2016-10-20 08:38:47
【问题描述】:

我正在通过 GROK 过滤器为此特定行编写模式 “通知-Interface_IF-asdasdsf01.chn.asdfasp.com/1074_Down” 有人可以帮我解决这个问题吗?

这是我想出的正则表达式 [A-Z]\w+[-][A-Z][a-z]\w+[]\w+[a-zA-Z][-]\w+[a-zA-Z0-9][.][A- Za-z]\w+[.][A-Za-z]\w+[.][a-z]\w+/[0-9]\d+[][A-Za-z]\w+

但我希望它用于“NOTIFICATION-Interface_IF-asdasdsf01.chn.asdfasp.com/1074_Down”以及主机名中没有 chn NOTIFICATION-Interface_IF-asdasdsf01.asdfasp.com/1074_Down

提前致谢。

【问题讨论】:

    标签: filter logstash grok


    【解决方案1】:

    你会采集哪些数据?

    如果可以捕获多个数据,则使用这种模式

    %{WORD:type}-%{WORD:interface}-%{GREEDYDATA:client}
    

    将产生

    type = "NOTIFICATION"
    interface = "Interface_ID"
    client = "asdasdsf01.chn.asdfasp.com/1074_Down"
    

    不要犹豫,使用grok debugger 测试和升级模式。请参阅 here 来自 logstash 的本机模式。

    PS:你的第一个正则表达式可以简化:([A-Z]+)\-([A-Za-z]+)_([A-Za-z]+)\-(.*)\/([0-9]+)_([A-Za-z]+)。根据您的分隔符,它可以更容易。 你可以测试使用这个link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      相关资源
      最近更新 更多