0
は、私は、次の形式のファイルを持っている:LogstashのKVフィルタ
10302\t<document>.....</document>
12303\t<document>.....</document>
10054\t<document>.....</document>
10034\t<document>.....</document>
あなたはタブ文字で区切られた2つの値がある見ることができるように。私は
- インデックスID
- 抽出物(および、インデックス)は、第2のトークン(XMLドキュメント)からいくつかの情報である第1のトークン(例えば10302、12303 ...)を必要とします。言い換えれば、2番目のトークンはxmlフィルタでいくつかの情報を抽出するために使用されます。
kvフィルタを使用して2つの値を分けることは可能ですか?理想的には私はこのような文書で、各ラインのため、終了する必要があります:
id:10302
msg:<document>....</document>
私はGROKフィルタを使用することができますが、フィールドの検出は非常に簡単で、で行うことができるように私は、任意の正規表現を避けたいのですがシンプルなキー・バリュー・ロジックしかし、平易なkv検出を使用して、私は次のように終わります:
"10302": <document>.....</document>
"12303": <document>.....</document>
"10054": <document>.....</document>
"10034": <document>.....</document>
これは私が必要としないです。
あなたのKVフィルタの設定を追加してもらえますか? – baudsp
「キーを取得し、そのキーを持つIDを値として作成し、属性を設定し、その値を取得し、その値を持つ属性メッセージを作成する」という方法を知らないため、私はそれを持っていません。 – Andrea
id(10302、10303、10304 ...)の可能なキーがないので、あなたがやりたい仕事にkvを使うことはできないと思います。しかしgrokは完全に '%{INT:ID} \ t%{GREEDYDATA:msg}'で動作するでしょう。 – baudsp