我正在使用带有以下配置的logstash 1.4.1:
input {
stdin {
}
}
output {
stdout {}
}
当我启动代理然后键入" hello"在控制台中,我明白了:
2014-05-30T15:02:24.301 +0000 HOSTNAME hello
我想在时间戳上添加2个小时(我是法国用户),所以得到这个:
2014-05-30T17:02:24.301 +0000 HOSTNAME hello
在旧版本中,我将此过滤器添加到我的配置中:
filter {
ruby {
code => "event['@timestamp'] = event['@timestamp'].localtime('+02:00')"
}
}
并且一切运行良好,但我认为自从更新到1.4.1后,过滤器没有任何影响。
是否有人遇到同样的问题或找到解决方案?
答案 0 :(得分:1)
我在版本1.4.1中对此过滤器没有任何问题 这是我的配置:
input {
stdin {}
}
filter {
ruby {
code => "event['@timestamp'] = event['@timestamp'].localtime('+02:00')"
}
}
output {
stdout {
codec => rubydebug
}
}
更改时间戳:
"@timestamp" => "2014-06-04T02:23:58.719Z"
对此:
"@timestamp" => "2014-06-04T04:24:29.718+02:00"
<强>更新强>
您必须在输出中添加codec => rubydebug
。如果它不添加codec => rubydebug
答案 1 :(得分:0)
在1.5.0版中,我们可以使用event.timestamp更改时间戳。这是我的配置:
ruby {
code => "event['@timestamp'] = event.timestamp.time.localtime.strftime('%Y.%m.%d')"
}