私はこの形式のログパターンを持っています。ログパターン用grokフィルタ
field1|field2|field3|field4|field5| key1=value1 key2=value2 key3=value3
任意の順序でいくつかの値を設定できます。 key2は、そのkey1より早いかもしれません。
私はfield1-field5を解析することができます。しかし、キーと値のペアのために
%{GREEDYDATA:fieldValue1}\|%{GREEDYDATA:fieldValue2}\|%{GREEDYDATA:fieldValue3}\|%{GREEDYDATA:fieldValue4}\|%{GREEDYDATA:fieldValue5}\|
をそれを行う方法がわからない私はgrok
にキーと値のマップを作成し、特定のキーを送ることができます? アドバイスはありますか?
3のキーと値のペアが常に存在している場合は、わずか3 '\ sの*を追加することができます=':同様( + W \?)(W + \ ?):{:fieldValue1 GREEDYDATA} '%を試してみてください\ |%{GREEDYDATA:fieldValue2} \ |%{GREEDYDATA:fieldValue3} \ |%{GREEDYDATA:fieldValue4} \ |%{GREEDYDATA:fieldValue5} \ | \ s *(? \ w +)=(? \ w +) \ s *(? \ w +)=(? \ w +)\ s *(? \ w +)=(? \ w +) ' –