2017-01-31 6 views
0

Logstash/Kibana (ELK 스택)에서 초보자이며 로그에서 지정된 json을 구문 분석하고 "메시지"및 "응용 프로그램"속성을 Kibana의 필드로 추가하는 방법을 모른다. .로그에서 json을 구문 분석하는 방법

<30>Jan 30 17:52:43 bts/cit-bts-pms-middleware-dev:sprint-01/cit-bts-pms-middleware-dev[862]: {"timestamp":"2017-01-30T17:52:43.713+00:00","message":"Error processing.", "application": "fooApp"} 

TKS 모든

답변

0

당신은 JSON 형식의 컨텐츠를 읽으려면 codec 플러그인을 사용 할 수도 있습니다. 입력 내용은 다음과 같습니다.

input { 
    file { 
     type => "json" 
     path => "/pathto/your.log" 
     codec => json 
    } 
} 

실제로 트릭을 수행해야합니다.

또는json 필터를 사용할 수 있습니다. 당신은 아래 사용하는 경우 그러나 코덱을 제거해야합니다 :

필드가 logstash를 사용하여 모든 ES 레코드에 추가하면
filter { 
    json { 
    source => "message" 
    } 
} 

, 당신은 키바에에 액세스 할 수 있어야합니다.

+0

감사합니다. @Darth_Vader 하지만 내 로그는 부분적으로 JSON입니다. REGEX를 사용하여 문제를 해결했습니다. filter { grok { break_on_match => false match => [ "message", "(?(?<=timestamp\":\").*?(?=\",))" ] match => [ "message", "(?(?<=message\":\").*?(?=\",))" ] match => [ "message", "(?(?<=level\":\").*?(?=\",))" ] match => [ "message", "(?(?<=HOSTNAME\":\").*?(?=\"))" ] } } 감사합니다. –

+0

오케이. 귀하의 로그가 부분적으로 * json *인지 알지 못했습니다. 미안합니다. – Kulasangar