2017-03-07 8 views
1

私は、要求と応答のXML本体を印刷するログファイルを持っています。このログファイルには、XMLではない追加行もあります。以下の例 -Filebeatプロセスmultilne XML

logstashに送信されるように、単一のイベントとして、このようなデータを解析し、それぞれのXMLを持っている multiline機能filebeat使用を使用する方法
=========================================== 
<request> 
    <data> 
    abc 
</data> 
</request> 
some random lines concerning the processing of request.. 
fha;js;fkgak;gj;kj;a 
jgahkg;gaj; 
Now response follows 
<response> 
<output> 
    def 
</output> 
</response> 
=================================================== 

答えて

0

multiline.pattern: ^<request> multiline.negate : true multiline.match : after

あなたはfilebeat.ymlファイルこれは、すべてのデータは、次の<request><request>で始まる単一のイベントとしての間にあるキャプチャします に上記の行を挿入する必要がありfound.youが可能ですあなたの必要条件に応じてmultipline.pattern(正規表現)を変更してください。詳細については、

リンク以下のチェックアウト:前述のように https://www.elastic.co/guide/en/beats/filebeat/1.2/configuration-filebeat-options.html

+0

を、ログファイルには、2つのXMLオブジェクトの間でいくつかのランダムなテキストを含んでいます。私はこのような種類のテキストを無視するようにファイルビートをしたいです –

+0

あなたが使ってみることができます:** multiline.pattern:^ <再** ** multiline.negate:true ** ** multiline.match:** ** include_lines :['(\ n |。)*'、 '(\ n |。)*'] **または他の同様の組み合わせを試すことができます。 –

+0

見てのとおり、このパターンは、2つの異なるXMLオブジェクトの間にいくつかのランダムなラインをマッチングさ、偽\t 真\t 真\t ABC 真\t 真\t 真\t要求の処理に関するいくつかのランダムなライン.. true \t fha; js; fkgak; gj; kj; a true \t jgahkg; gaj;自分のドキュメントに記載さ 真\tは今応答multline.patternが使用されている場合、それは後で場合は、単一の行に式を変換し 偽\t 真\t 真\tデフ 真\t 真\t

関連する問題