使用grok过滤器解析表格数据(Logstash)

时间:2017-05-29 10:08:47

标签: regex logstash logstash-grok

我有一个日志文件,其表格格式如下:

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过滤器解析它?或者,是否有任何其他过滤器可以帮助我实现相同的目标?任何形式的帮助都将非常感激。

1 个答案:

答案 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" } } 编解码器进行输出。