我想创建一个@timestamp字段的副本,使其使用相同的格式@timestamp.
我尝试过以下方法:
mutate
{
add_field => ["read_time", "%{@timestamp}"]
}
Run Code Online (Sandbox Code Playgroud)
但同时,@timestamp格式为:2014-08-01T18:34:46.824Z,
的read_time是这种格式2014-08-01 18:34:46.824 UTC
这是一个问题,因为Kibana不理解直方图的"UTC"格式.
有没有办法使用日期过滤器来做到这一点?
Ben*_*Lim 11
Kibana无法理解因为该read_time字段是字符串,而不是时间戳!您可以使用ruby过滤器来执行您需要的操作.只需将@timestamp复制到一个新字段read_time,字段时间是时间戳,而不是字符串.该add_field是添加一个新的领域与字符串类型!
这是我的配置:
input {
stdin{}
}
filter {
ruby {
code => "event['read_time'] = event['@timestamp']"
}
mutate
{
add_field => ["read_time_string", "%{@timestamp}"]
}
}
output {
stdout {
codec => "rubydebug"
}
}
Run Code Online (Sandbox Code Playgroud)
你可以试试看输出,输出是:
{
"message" => "3243242",
"@version" => "1",
"@timestamp" => "2014-08-08T01:09:49.647Z",
"host" => "BENLIM",
"read_time" => "2014-08-08T01:09:49.647Z",
"read_time_string" => "2014-08-08 01:09:49 UTC"
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮到你.