我想映射一条消息,比如"09Mar21 15:58:54.286667";到filebeat中的时间戳字段但我不知道该怎么办?
1我目前的filebeat-7-10.10.0-windows-x86_64,怎么做?
来自的2https://www.elastic.co/guide/en/beats/filebeat/current/processor-timestamp.html8.0支持布局,有必要升级到8.0吗?如何在8.0中定义布局以映射类似";09Mar21 15:58:54.286667";
非常感谢!
TLDR
您可以使用以下模式:02Jan06 15:04:05.000000
理解
所有*beats
(metricbeat、filebeat…(族都是用Golang
编写的。因此,您需要提供一个特定于Golang
的模式来解析此日期字符串。
Golang
提供了一种处理日期/时间格式的方法。
它基于一个特定的日期(2006年1月2日下午3:05:05(。你要使用这个参考时间,并把它放在你想要的格式。
在您的具体情况下
->02Jan06 15:04:05.000000
你可以试试下面的片段
package main
import ("fmt"
"time")
func main() {
var t = "09Mar21 15:58:54.286667"
var t2, err = time.Parse("02Jan06 15:04:05.000000", t)
fmt.Println(t, t2, err)
}