从logstash中的时间戳中提取特定时间字段

时间:2015-08-26 09:12:40

标签: elasticsearch timestamp logstash kibana kibana-4

我有一个自动生成的@timestamp,默认格式。我想要的是提取将它放在另一个字段中的时间戳的小时/月/工作日。

例如,现在我的时间戳看起来像是:

@timestamp: "2015-08-26T09:04:42.284Z"

有没有办法获得以下字段?

  • 小时:09(或9)?以数字格式。
  • :08(或8月,8月,8月......)数字或字符串格式。
  • 工作日:周一,周二,周三,......

我希望它根据连接的小时/天制作kibana4直方图,并带有平均指标。如果有不同的方法来实现这一点,请告诉我!

我已经搜索了所有网络,但我找不到任何解决方案。我很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

%{+ HH}值取自@timestamp。 时间戳记使用UTC。

如果要在当地时间使用小时,则需要使用红宝石过滤器。

  ruby {
    code => "tstamp = event.get('logdatetime').to_i
             event.set('logdatetime', Time.at(tstamp).strftime('%Y-%m-%d %H:%M:%S'))
             event.set('logdate', Time.at(tstamp).strftime('%Y-%m-%d'))"
  }

来自: https://altinity.com/blog/2017/12/18/logstash-with-clickhouse