我正在尝试将形式为$epoch.$microsec
的时间戳字段转换为$epoch_millis
。
示例:
1415311569.541062 --> 1415311569541
Logstash似乎没有任何乘法方法,所以ts * 1000
和转换为long是不可能的。
有什么想法吗?
在您的特定情况下,您确实可以将问题转化为字符串操作问题,但您也可以使用ruby
过滤器:
filter {
ruby {
# do some calculation
code => "event['ts'] = (1000 * event['ts'].to_f).round"
}
}
这就是最终成功的原因。
mutate {
convert => {
"ts" => "string"
}
gsub => [
"ts", ".", "",
"ts", "d{3}$", ""
]
}
```