3

我正在尝试将表单中的时间戳字段转换$epoch.$microsec$epoch_millis.

例子:

1415311569.541062  -->  1415311569541

Logstash 似乎没有任何方法可以将数字相乘,因此ts * 1000无法转换为 long。

有任何想法吗?

4

2 回答 2

4

在您的特定情况下,您确实可以将问题变成字符串操作问题,但您也可以使用ruby过滤器:

filter {
  ruby {
    # do some calculation
    code => "event['ts'] = (1000 * event['ts'].to_f).round"
  }
}
于 2014-11-07T06:36:02.360 回答
2

这就是最终的工作。

mutate {
        convert => { 
            "ts" => "string"
        }

        gsub => [
            "ts", "\.", "",
            "ts", "\d{3}$", ""
        ]
}

```

于 2014-11-07T01:02:18.673 回答