<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Dynamic multiple field and value extraction in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Dynamic-multiple-field-and-value-extraction/m-p/488327#M136427</link>
    <description>&lt;P&gt;Hello together,&lt;/P&gt;

&lt;P&gt;i use splunk the version 7.2.4.2 and had the following issue by creating a dynamic field exctration.&lt;BR /&gt;
This is a Event Example:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;##### BEGIN EVENT #####
Mode
UPDATE
----- END OF FIELD -----
Identifier
probe_connection_event:A1:servername123:65:PROBE::
----- END OF FIELD -----
Serial
1234567891
----- END OF FIELD -----
Node
servername123
----- END OF FIELD -----
NodeAlias
----- END OF FIELD -----
Manager
Bus
Self Monitoring @A1
----- END OF FIELD -----
Agent
SelfMonitoring
----- END OF FIELD -----
AlertGroup
ConnectionStatus
##### END EVENT #####
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;So the field construction is the following one:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;field name&amp;gt; [single line] 
&amp;lt;field value&amp;gt; [multi line or empty] 
----- END OF FIELD ----- [OR] ##### END EVENT #####
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;For that i created with regex101 the following regex:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;When i test the regex against a small set it extracts me the first correct:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;/opt/splunk/bin/splunk cmd pcregextest mregex='(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)'  test_str="##### BEGIN EVENT #####
&amp;gt; Mode
&amp;gt; DELETE
&amp;gt; ----- END OF FIELD -----
&amp;gt; ServerSerial
&amp;gt; 86919394
&amp;gt; ----- END OF FIELD -----
&amp;gt; ServerName
&amp;gt; AA1
&amp;gt; ##### END EVENT #####"
Original Pattern: '(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)'
Expanded Pattern: '(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)'
Regex compiled successfully. Capture group count = 7. Named capturing groups = 0.
SUCCESS - match against: '##### BEGIN EVENT #####
Mode
DELETE
----- END OF FIELD -----
ServerSerial
86919394
----- END OF FIELD -----
ServerName
AA1
##### END EVENT #####'

#### Capturing group data #####
Group |            Name | Value
--------------------------------------
    1 |                 | #####
    2 |                 |

    3 |                 | Mode
    4 |                 |

    5 |                 | DELETE
    6 |                 |

    7 |                 | ----- END OF FIELD
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;My Props.conf is the following one:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[custom_sourcetype]
SHOULD_LINEMERGE=true
NO_BINARY_CHECK=true
CHARSET=AUTO
TRUNCATE=512
category=CUSTOM
disabled=false
pulldown_type=true
MAX_EVENTS=4096
BREAK_ONLY_BEFORE=\#\#\#\#\ BEGIN\ EVENT\ \#\#\#\#
REPORT-omnifields=omnifieldsExtract
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;And my Transforms.conf:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[omnifieldsExtract]
REGEX = (?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)
REPEAT_MATCH = true
FORMAT = $3::$5
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;The transforms and props configuration are stored on the search head cluster.&lt;/P&gt;

&lt;P&gt;So my opinion is now for the event example that i get the following fields:&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Mode&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: UPDATE&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Identifier&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: probe_connection_event:A1:servername123:65:PROBE::&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Serial&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: 1234567891&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Node&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: servername123&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: NodeAlias&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;:&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Manager&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: "Bus&lt;BR /&gt;
Self Monitoring @A1"&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Agent&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: SelfMonitoring&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: AlertGroup&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: ConnectionStatus&lt;/P&gt;

&lt;P&gt;But actually i get no single field. &lt;BR /&gt;
I didnt know what i am missing or maked false. Had anyone a idea?&lt;BR /&gt;
Thanks for your help &lt;span class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;😄&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 30 Sep 2020 03:03:06 GMT</pubDate>
    <dc:creator>ronpestler1</dc:creator>
    <dc:date>2020-09-30T03:03:06Z</dc:date>
    <item>
      <title>Dynamic multiple field and value extraction</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Dynamic-multiple-field-and-value-extraction/m-p/488327#M136427</link>
      <description>&lt;P&gt;Hello together,&lt;/P&gt;

&lt;P&gt;i use splunk the version 7.2.4.2 and had the following issue by creating a dynamic field exctration.&lt;BR /&gt;
This is a Event Example:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;##### BEGIN EVENT #####
Mode
UPDATE
----- END OF FIELD -----
Identifier
probe_connection_event:A1:servername123:65:PROBE::
----- END OF FIELD -----
Serial
1234567891
----- END OF FIELD -----
Node
servername123
----- END OF FIELD -----
NodeAlias
----- END OF FIELD -----
Manager
Bus
Self Monitoring @A1
----- END OF FIELD -----
Agent
SelfMonitoring
----- END OF FIELD -----
AlertGroup
ConnectionStatus
##### END EVENT #####
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;So the field construction is the following one:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;field name&amp;gt; [single line] 
&amp;lt;field value&amp;gt; [multi line or empty] 
----- END OF FIELD ----- [OR] ##### END EVENT #####
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;For that i created with regex101 the following regex:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;When i test the regex against a small set it extracts me the first correct:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;/opt/splunk/bin/splunk cmd pcregextest mregex='(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)'  test_str="##### BEGIN EVENT #####
&amp;gt; Mode
&amp;gt; DELETE
&amp;gt; ----- END OF FIELD -----
&amp;gt; ServerSerial
&amp;gt; 86919394
&amp;gt; ----- END OF FIELD -----
&amp;gt; ServerName
&amp;gt; AA1
&amp;gt; ##### END EVENT #####"
Original Pattern: '(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)'
Expanded Pattern: '(?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)'
Regex compiled successfully. Capture group count = 7. Named capturing groups = 0.
SUCCESS - match against: '##### BEGIN EVENT #####
Mode
DELETE
----- END OF FIELD -----
ServerSerial
86919394
----- END OF FIELD -----
ServerName
AA1
##### END EVENT #####'

#### Capturing group data #####
Group |            Name | Value
--------------------------------------
    1 |                 | #####
    2 |                 |

    3 |                 | Mode
    4 |                 |

    5 |                 | DELETE
    6 |                 |

    7 |                 | ----- END OF FIELD
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;My Props.conf is the following one:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[custom_sourcetype]
SHOULD_LINEMERGE=true
NO_BINARY_CHECK=true
CHARSET=AUTO
TRUNCATE=512
category=CUSTOM
disabled=false
pulldown_type=true
MAX_EVENTS=4096
BREAK_ONLY_BEFORE=\#\#\#\#\ BEGIN\ EVENT\ \#\#\#\#
REPORT-omnifields=omnifieldsExtract
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;And my Transforms.conf:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[omnifieldsExtract]
REGEX = (?m)(\#\#\#\#\#|\-\-\-\-\-)$(\r\n|\r|\n)^(.*)$(\r\n|\r|\n)?^([\s\S]*?)(\r\n|\r|\n)?(\#\#\#\#\#|\-\-\-\-\-\ END\ OF\ FIELD)
REPEAT_MATCH = true
FORMAT = $3::$5
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;The transforms and props configuration are stored on the search head cluster.&lt;/P&gt;

&lt;P&gt;So my opinion is now for the event example that i get the following fields:&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Mode&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: UPDATE&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Identifier&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: probe_connection_event:A1:servername123:65:PROBE::&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Serial&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: 1234567891&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Node&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: servername123&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: NodeAlias&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;:&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Manager&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: "Bus&lt;BR /&gt;
Self Monitoring @A1"&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: Agent&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: SelfMonitoring&lt;BR /&gt;
&lt;STRONG&gt;Field Name&lt;/STRONG&gt;: AlertGroup&lt;BR /&gt;
&lt;STRONG&gt;Value&lt;/STRONG&gt;: ConnectionStatus&lt;/P&gt;

&lt;P&gt;But actually i get no single field. &lt;BR /&gt;
I didnt know what i am missing or maked false. Had anyone a idea?&lt;BR /&gt;
Thanks for your help &lt;span class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;😄&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 30 Sep 2020 03:03:06 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Dynamic-multiple-field-and-value-extraction/m-p/488327#M136427</guid>
      <dc:creator>ronpestler1</dc:creator>
      <dc:date>2020-09-30T03:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic multiple field and value extraction</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Dynamic-multiple-field-and-value-extraction/m-p/488328#M136428</link>
      <description>&lt;P&gt;Put the props.conf and transforms.conf files on your indexers and restart them.&lt;/P&gt;</description>
      <pubDate>Thu, 21 Nov 2019 12:59:36 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Dynamic-multiple-field-and-value-extraction/m-p/488328#M136428</guid>
      <dc:creator>richgalloway</dc:creator>
      <dc:date>2019-11-21T12:59:36Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic multiple field and value extraction</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Dynamic-multiple-field-and-value-extraction/m-p/488329#M136429</link>
      <description>&lt;P&gt;okay, i putted both files now on indexers, before i had only the props.conf without the REPORT line.&lt;BR /&gt;
But its still the same, no field exctration happen.&lt;/P&gt;</description>
      <pubDate>Thu, 21 Nov 2019 16:21:19 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Dynamic-multiple-field-and-value-extraction/m-p/488329#M136429</guid>
      <dc:creator>ronpestler1</dc:creator>
      <dc:date>2019-11-21T16:21:19Z</dc:date>
    </item>
  </channel>
</rss>

