Logstash - 自定义时间戳错误
Logstash - Custom Timestamp Error
我正在尝试在 Logstash 中输入时间戳字段,但收到 dateparsefailure 消息。
我的留言 -
2014-08-01;11:00:22.123
管道文件
input {
stdin{}
#beats {
# port => "5043"
# }
}
# optional.
filter {
date {
locale => "en"
match => ["message", "YYYY-MM-dd;HH:mm:ss.SSS"]
target => "@timestamp"
add_field => { "debug" => "timestampMatched"}
}
}
output {
elasticsearch {
hosts => [ "127.0.0.1:9200" ]
}
stdout { codec => rubydebug }
}
谁能告诉我我错过了什么?
更新 1
我参考了 link - How to remove trailing newline from message field,现在可以使用了。
但是,在我的日志消息中,我有除时间戳之外的多个值
<B 2014-08-01;11:00:22.123 Field1=Value1 Field2=Value2
当我将其作为输入时,它不起作用。如何读取日志的一部分并将其作为时间戳?
更新 2
现在可以使用了。
更改配置文件如下
filter {
kv
{
}
mutate {
strip => "message"
}
date {
locale => "en"
match => ["timestamp1", "YYYY-MM-dd;HH:mm:ss.SSS"]
target => "@timestamp"
add_field => { "debug" => "timestampMatched"}
}
}
我在下面发布了答案和我用来解决问题的步骤,以便我可以帮助像我这样的人。
第 1 步 - 我以键值对的形式读取消息
第 2 步 - 我删除了导致解析异常的额外 space
第 3 步 - 我读取了各个字段中的时间戳值和其他字段。
input {
beats {
port => "5043"
}
}
# optional.
filter {
kv { }
date {
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
remove_field => [ "timestamp" ]
}
}
output {
elasticsearch {
hosts => [ "127.0.0.1:9200" ]
}
}
我正在尝试在 Logstash 中输入时间戳字段,但收到 dateparsefailure 消息。
我的留言 -
2014-08-01;11:00:22.123
管道文件
input {
stdin{}
#beats {
# port => "5043"
# }
}
# optional.
filter {
date {
locale => "en"
match => ["message", "YYYY-MM-dd;HH:mm:ss.SSS"]
target => "@timestamp"
add_field => { "debug" => "timestampMatched"}
}
}
output {
elasticsearch {
hosts => [ "127.0.0.1:9200" ]
}
stdout { codec => rubydebug }
}
谁能告诉我我错过了什么?
更新 1
我参考了 link - How to remove trailing newline from message field,现在可以使用了。
但是,在我的日志消息中,我有除时间戳之外的多个值
<B 2014-08-01;11:00:22.123 Field1=Value1 Field2=Value2
当我将其作为输入时,它不起作用。如何读取日志的一部分并将其作为时间戳?
更新 2
现在可以使用了。
更改配置文件如下
filter {
kv
{
}
mutate {
strip => "message"
}
date {
locale => "en"
match => ["timestamp1", "YYYY-MM-dd;HH:mm:ss.SSS"]
target => "@timestamp"
add_field => { "debug" => "timestampMatched"}
}
}
我在下面发布了答案和我用来解决问题的步骤,以便我可以帮助像我这样的人。
第 1 步 - 我以键值对的形式读取消息
第 2 步 - 我删除了导致解析异常的额外 space
第 3 步 - 我读取了各个字段中的时间戳值和其他字段。
input {
beats {
port => "5043"
}
}
# optional.
filter {
kv { }
date {
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
remove_field => [ "timestamp" ]
}
}
output {
elasticsearch {
hosts => [ "127.0.0.1:9200" ]
}
}