繁体   English   中英

如何在logstash上添加新的时间戳字段?

[英]How to add new timestamp field on logstash?

我正在解析以前已在本地主机中加载的日志,并且我想获取每一行中的事件日期字段作为时间戳,但kibana仅可以将其作为字符串获取。

示例:我有这个活动

2016/09/27 13:33:49.701 GMT(09/27 15:33:49 +0200) INFO       BILLINGGW  ConvergysDelegate.getCustomer(): Calling getCustomerFromCache: 0001:606523

它于20169月27日16:04:53.222加载 ,但logdate字段(事件日期)为: 2016/09/27 13:33:49.701

在logstash过滤器上,我定义了:

(?<logdate>%{NUMBER:year}/%{NUMBER:month}/%{NUMBER:day} %{HOUR:hday}:%{MINUTE:min}:%{SECOND:sec}) %{GREEDYDATA:result}

我还证明了:

(?<logdate>%{YEAR:year}/%{MONTHNUM:month}/%{MONTHDAY:day} %{HOUR:hday}:%{MINUTE:min}:%{SECOND:sec}) %{GREEDYDATA:result}

kibana读取logdate就像字符串一样。 我如何获得kibana可以将其读取为时间戳的信息?

我只用日期证明:

(?<logdate>%{NUMBER:year}/%{NUMBER:month}/%{NUMBER:day})

和Kibana像时间戳一样正确地解释了它,但是问题是如何正确地将小时,分钟和秒添加到logdate字段中。

有人可以帮我吗?

最好的祝福。

您必须使用日期过滤器将字符串从时间戳转换为时间戳。

date {
  match => [ "logdate", "yyyy/MM/dd HH:mm:ss"]
}

这将尝试使用此日期模式yyyy/MM/dd HH:mm:ss解析logdate字段,如果成功,将用结果替换@timestamp字段。 您可以使用target选项为解析日期指定另一个字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM