要转换的Logstash过滤器"$新纪元.$microsec“;至$新纪元;
我正在尝试将格式为要转换的Logstash过滤器"$新纪元.$microsec“;至$新纪元;,logstash,logstash-grok,Logstash,Logstash Grok,我正在尝试将格式为$epoch.$microsec的时间戳字段转换为$epoch\u millis 例如: 1415311569.541062 --> 1415311569541 Logstash似乎没有任何方法可以将数字相乘,因此ts*1000和转换为long是不可能的 有什么想法吗?这就是最终奏效的方法 mutate { convert => { "ts" => "string" } gsub
$epoch.$microsec
的时间戳字段转换为$epoch\u millis
例如:
1415311569.541062 --> 1415311569541
Logstash似乎没有任何方法可以将数字相乘,因此ts*1000
和转换为long是不可能的
有什么想法吗?这就是最终奏效的方法
mutate {
convert => {
"ts" => "string"
}
gsub => [
"ts", "\.", "",
"ts", "\d{3}$", ""
]
}
```在您的特定情况下,您确实可以将问题转化为字符串操作问题,但也可以使用
ruby
过滤器:
filter {
ruby {
# do some calculation
code => "event['ts'] = (1000 * event['ts'].to_f).round"
}
}