【问题标题】:Logstash Date FilterLogstash 日期过滤器
【发布时间】:2014-10-20 19:25:41
【问题描述】:

我有一个日志文件,其日期格式如下

"respHdr":{"date":"Tue,%2008%20Jul%202014%2022:08:18%20GMT","expires":"Tue,%2008%20Jul%202014%2022:08:18%20GMT"}

如何使用 logstash 日期过滤器解析给定的日期格式?

【问题讨论】:

  • 你能解释一下你的日志含义吗?
  • 您需要为此使用 grok 过滤器。关于格式,您可以使用 Grok 调试器(grokdebug.herokuapp.com) 来查看您的 logstash grok 过滤器是否工作正常。

标签: elasticsearch logstash kibana grok


【解决方案1】:

看起来您的日志是 JSON 格式,日期字段中包含 URLEncoded 值,因此您需要做的第一件事是将codec=>json 添加到您的inputjson { source => message }

在 Logstash 中将事件作为事件后,您需要解码日期字段:

urldecode { field => 'respHdr.date' }
urldecode { field => 'respHdr.expires' }

然后最后解析这些字段中的日期:

date {
  target => '@timestamp'
  match => [ 'respHdr.date', 'WHATEVER_FORMAT_THAT_DATE_IS' ]
}
date {
  target => 'expires'
  match => [ 'respHdr.expires', 'WHATEVER_FORMAT_THAT_DATE_IS' ]
}

您需要咨询logstash date documentation 以了解该日期的格式。

【讨论】:

  • 非常感谢 Alcanzar
猜你喜欢
  • 2016-05-21
  • 1970-01-01
  • 2019-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多