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