【问题标题】:Grok filter for application logs应用程序日志的 Grok 过滤器
【发布时间】:2017-02-06 14:21:49
【问题描述】:

在我的应用程序中,我的 log fromat 如下-

logFormat: '%-5level [%date{yyyy-MM-dd HH:mm:ss,SSS}] [%X{appReqId}] [%X{AppUserId}] %logger{15}: %m%n'

该格式的输出就像

INFO  [2017-02-03 11:09:21.792372] [b9c0d838-10b3-4495-9915-e64705f02176] [ffe00000000000003ebabeca] r.c.c.f.r.MimeTypeResolver: [Tika MimeType Detection]: filename: 'N/A',  detected mime-type: 'application/msword', time taken: 2 ms

现在我希望日志的每个字段都可以在 kibana 查询,为此我希望 logstash 解析输入日志消息,似乎 grok 过滤器可以帮助我们。如果 grok 过滤器能够正确过滤我的消息输出应该是这样的

"message" => "INFO  [2017-02-03 11:09:21.792372] [b9c0d838-10b3-4495-9915-e64705f02176] [ffe00000000000003ebabeca] r.c.c.f.r.MimeTypeResolver: [Tika MimeType Detection]: filename: 'N/A',  detected mime-type: 'application/msword', time taken: 2 ms",
"appReqId" => "b9c0d838-10b3-4495-9915-e64705f02176",
"timestamp" => "2017-02-03 11:09:21.792372",
"AppUserId" => "ffe00000000000003ebabeca",
"logger" => "r.c.c.f.r.MimeTypeResolver",

我无法弄清楚如何在 logstash.conf 文件中进行配置,以便获得所需的输出。 我试过像以下

filter {
 grok {
match => { "message" => "%{LOGLEVEL:severity}* %{YEAR:year}-%{MONTHNUM:month}-%{MONTHDAY:day} %{TIME:time} %{JAVACLASS:class}\.%{JAVAFILE:file}" }
}

}

并在grok patter varifier 进行了验证,但它不起作用。任何形式的帮助都将不胜感激。

【问题讨论】:

    标签: logstash kibana elastic-stack logstash-grok


    【解决方案1】:

    您可能会发现这样的方法效果更好:

    ^%{LOGLEVEL:security}%{SPACE}\[%{TIMESTAMP_ISO8601:timestamp}\]%{SPACE}\[%{DATA:appReqId}\]%{SPACE}\[%{DATA:AppUserId}\]%{SPACE}%{HOSTNAME:logger}:%{DATA:app_message}$
    

    这里的见解是:

    • 使用%{SPACE} 处理一个或多个空间实例,这可能在某些日志格式中发生。您语法中的 * 也可以做到这一点,但这在 grok 表达式中更加明确。
    • 使用专用的时间戳格式%{TIMESTAMP_ISO8601},而不是尝试将其拆分并稍后组合。这允许稍后使用 date { match => [ "timestamp", ISO8601 ] } 过滤器块将其转换为在 Kibana 中有用的真实时间戳。
    • 直接在 grok 表达式中捕获括号中的属性。
    • 锚定 grok 表达式(^$ 字符)为正则表达式引擎提供提示,从而降低表达式的处理成本。

    【讨论】:

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