2017-03-20 5 views
0

내 로그 형식은 다음과 같습니다ABC, AD_EF, 123을 얻기 위해 logstash 출력 구성을 작성하는 방법은 무엇입니까?

XXX: 03-20 17:52:28: XXX. * 0 XXX [XXX] [X XX: X]:XXX\tABC:AD_EF:123\t0\tXXXXXXXXXXXXXXXX\tXXXXXXXXXXXXXXXXXXX 

방법 (123) ABC, AD_EF을 얻을 수있는 logstash 출력 설정을 작성?

출력 예 : 좋은, ABC, DEF 123

output { 
    file { 
     path => "/xxx/xxx/xxx/output.txt" 
     codec => plain { 
      format => "good,ABC,DEF,123" # how to write this regular expression???? 
     } 
     flush_interval => 0 
    } 
} 

답변

0

모든 도움을 주셔서 감사합니다.하지만 실수를했을 수도 있습니다. 마지막으로 내 퀘스트에 대한 답변을 얻습니다.

filter { 
grok { 
    match => { 
     "message" => "XXX\t(?<field1>\w+?):(?<field2>\w+?):(?<field3>\d+?)\t" 
    } 
}} 
0

로그 출력은 그 안에 탭이 포함 된 것으로 보인다, 그 탭은 데이터를 브래킷. 이것은 좋은 의미입니다. 즉, the csv filter은 그걸 풀 수 있습니다.

filter { 
    csv { 
    separator => "  " 
    columns => [ 'garbage1', 'good', 'garbage2', 'garbage3', 'garbage4' ] 
    source => "message" 
    } 
} 

참고로 여기에 표현하기가 어렵습니다. that is the actual tab character in there.

그러면 파일에 good 필드의 내용을 출력합니다.