我正在使用Logstash来解析包含单行JSON数据的文件,并将其输出为CSV格式的文件。它不是将数据输出为漂亮的分离值,而是使用时间戳,主机和消息字段为我提供单行数据。我在Logstash官方论坛上找到了this question,但它没有回复。有没有其他人遇到过这个问题,知道如何解决它或有任何建议?提前谢谢。
当前输出
2017-02-08T16:48:45.907Z %{host} %{message}
2017-02-08T16:48:45.907Z %{host} %{message}
2017-02-08T16:48:45.907Z %{host} %{message}
2017-02-08T16:48:45.907Z %{host} %{message}
2017-02-08T16:48:45.907Z %{host} %{message}
2017-02-08T16:48:45.907Z %{host} %{message}
期望的输出
timestamp, id, name
timestamp, id, name
timestamp, id, name
input {
file {
path => "input path"
sincedb_path => "C:\Logstash\.sincedb*"
start_position => "beginning"
codec => "json"
type => "type"
}
}
filter {
mutate {
add_field => {"eventName" => "%{[event][eventName]}"}
add_field => {"uniqueDeviceID" => "%{[event][deviceSegment][uniqueDeviceID]}"}
}
prune {
whitelist_names => ["eventName", "uniqueDeviceID", "@timestamp"]
}
}
output {
stdout {codec => rubydebug}
csv {
fields => ["uniqueDeviceID", "eventName", "@timestamp"]
path => "output path"
}
}
答案 0 :(得分:1)