我有一个日志文件,其表格格式如下:
First name Middle Name Last name
A B C
D E F
G H I
我希望以JSON格式获取此日志的解析输出,如下所示:
[{
"First name": "A",
"Middle name": "B",
"Last name": "C"
}, {
"First name": "D",
"Middle name": "E",
"Last name": "F"
}, {
"First name": "G",
"Middle name": "H",
"Last name": "I"
}]
如何使用Grok过滤器解析它?或者,是否有任何其他过滤器可以帮助我实现相同的目标?任何形式的帮助都将非常感激。
答案 0 :(得分:0)
我不确定,如果您的最终目标是可能的,因为Logstash对单个日志事件进行操作而不是对整个文件进行操作(那些不能用[
和{围绕所有日志事件的那些事件{1}}用于json数组。
但你应该与csv filter非常接近。您可以使用这样的配置(由制表符分隔的列):
]
作为替代方案,您还可以使用input {
file {
path => "/path/to/file"
}
}
filter {
csv {
separator => "\t"
columns => [ "First name", "Middle name", "Last name" ]
}
}
output {
file {
codec => json
path => "/path/to/file"
}
}
编解码器进行输出。