2015-11-09 61 views
3

是否有grok模式来提取此字符串的时间戳和日期。Grok模式的时间戳

21:11:51:569/UTC(2015年11月5日)

我可以单独使用grok模式DATE_US和TIME。但不在一起(即)

下面的模式工作。

%{TIME:time} -- 21:11:51:569/UTC 
%{DATE_US:date} -- (11/5/2015) 

但是完整的串21:11:51:569/UTC(11/5/2015)不与%{TIME:time}|%{DATE_US:date}

回答

6

评价我觉得你问6个问题;我们会看看我是否全部获得...

  1. 没有与您的日期时间格式匹配的内置模式。
  2. %{TIME}会匹配你的“21:11:51:569”(尽管我无法想象“秒”中想要“51:569”)。
  3. %{TIME}与您的时区信息不匹配。
  4. %{DATE_US}将与您的“2015年11月5日”相匹配。
  5. 正则表达式中的“foo | bar”旨在匹配“foo”“bar”。您的“%{TIME} |%{DATE}”模式与时间匹配,然后停止。
  6. 像这样的模式将匹配两个部分:%{TIME}/UTC \(%{DATE_US} \)
  7. 使用可以使用%{TZ}模式来匹配时区。

因此,与所有的,请尝试:

%{TIME:time}/%{TZ:tz}\(%{DATE_US:date}\) 
+0

非常感谢。这帮助了我。 – Bharath