web-dev-qa-db-ja.com

1つのキャプチャグループ値が次のキャプチャグループのフィールド名になります

SplunkでPCRE2(PHP> = 7.3)を使用しています。キャリッジリターン/新規回線で区切られたデータは、キー/値のペアとしてカンマによって区切られたデータを持っています。

key1="value1",key2="value2",key3="value3",key4="...など。キー値のペアの数はイベントごとに異なり、任意の数のキー値をキャプチャすることができますが、そのためには値を動的に名前を付ける必要があります。たとえば、key1の値はvalue1のフィールド名になるでしょう、key2は多くのキー/値のペアのためのvalue2のフィールド名になるでしょう。 (.*?)\=\"(.*?)\"は私が獲得した限りですが、Splunkはフィールド抽出を指定する必要があります。

これを行う方法はありますか?

事前にありがとう、~Tensore

1
Tensore

あなたは小道具と変換を使ってインデックス時間でそれをすることができます。それの例があります https://docs.splunk.com/documentation/splunk/8.2.2/knowledge/exampleconfigurationsusingfieldtransforms#handling_events_with_multivalue_fields

これをtransforms.confファイルに入れます。

[mytransform]
REGEX = ([^=]+)=([^,]+)
FORMAT = $1::$2
REPEAT_MATCH = true
MV_ADD = true
 _

それからこれをprops.confに入れてください:

[mysourcetype]
TRANSFORMS-parse = mytransform
 _
1
RichG