2017-01-31 6 views
0

Logstash/Kibana(ELKスタック)の初心者です。ログから特定のjsonを解析し、「メッセージ」と「アプリケーション」の属性を木場のフィールドとして追加する方法はわかりません。あなたはJSON形式のコンテンツを読むためにcodecプラグインを使用する必要がありますログから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

。入力は次のようになります。

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

これは実際にはすべきことです。

またはjsonのようなフィルタを使用できます。

filter { 
    json { 
    source => "message" 
    } 
} 

をフィールドがlogstashを使用して、すべてのESレコードに追加されたら、あなたはKibanaでそれらにアクセスすることができるはずです:あなたは、以下の使用している場合でも、コーデックを削除してください。

+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

関連する問題