2017-05-29 74 views
-1

我有了這樣的表格格式數據日誌文件表格數據:解析使用神交濾波器(Logstash)

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

在['[] {2,}'](https://regex101.com/r/2ozt9t/1/)上分割,看看你有多遠。 – Jan

回答

0

如果您的最終目標是完全可能的,我不確定,因爲Logstash在單個日誌事件上運行,而不是在整個文件上運行(對於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" 
    } 
} 

作爲替代方案,你也可以使用json_lines編解碼器的輸出。