<?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 Re: Extracting fields from logs where a particular field sometimes does not exist in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Extracting-fields-from-logs-where-a-particular-field-sometimes/m-p/669555#M229622</link>
    <description>&lt;P&gt;A "?" operator in regex can be applied to a whole group. So this regex:&lt;/P&gt;&lt;PRE&gt;(?&amp;lt;prefix&amp;gt;\w+)(\s(?&amp;lt;middle&amp;gt;\w+))?\s(?&amp;lt;postfix&amp;gt;\w+)&lt;/PRE&gt;&lt;P&gt;Should match and parse two worded strings to prefix-postfix pair but if you happen to have the optional middle word, it will be parsed out as a "middle" field.&lt;/P&gt;&lt;P&gt;As always - use &lt;A href="https://regex101.com/" target="_blank"&gt;https://regex101.com/&lt;/A&gt; and test your regexes. (it also provides a good explanation of what each regex component does).&lt;/P&gt;</description>
    <pubDate>Thu, 23 Nov 2023 10:33:44 GMT</pubDate>
    <dc:creator>PickleRick</dc:creator>
    <dc:date>2023-11-23T10:33:44Z</dc:date>
    <item>
      <title>Extracting fields from logs where a particular field sometimes does not exist</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extracting-fields-from-logs-where-a-particular-field-sometimes/m-p/669554#M229621</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;looking for help with how I can extract all available fields in a set of logs where a particular field sometimes does not exist.&lt;BR /&gt;In Log A, the 'inline result' field exists, but in Log B it does not and hence my current regex then fails for that log entry. I know I could probably use an Splunk app to auto manage this but I want to understand how I could do this myself.&lt;BR /&gt;Any suggestions please?&lt;BR /&gt;&lt;BR /&gt;&lt;U&gt;Log A&lt;/U&gt;&lt;BR /&gt;&lt;SPAN class=""&gt;%FTD-1-4xxxxx:&lt;/SPAN&gt; &lt;SPAN class=""&gt;DeviceUUID:&lt;/SPAN&gt;&amp;nbsp;X&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;InstanceID:&lt;/SPAN&gt; &lt;SPAN class=""&gt;13&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;FirstPacketSecond:&lt;/SPAN&gt; &lt;SPAN class=""&gt;2023-11-23&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;ConnectionID:&lt;/SPAN&gt; &lt;SPAN class=""&gt;y&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;SrcIP:&lt;/SPAN&gt; &lt;SPAN class=""&gt;10.10.10.10&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;DstIP:&lt;/SPAN&gt;&amp;nbsp;11.11.11.11&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;SrcPort:&lt;/SPAN&gt; &lt;SPAN class=""&gt;666&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;DstPort:&lt;/SPAN&gt; &lt;SPAN class=""&gt;999&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;Protocol:&lt;/SPAN&gt; &lt;SPAN class=""&gt;tcp&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;IngressInterface:&lt;/SPAN&gt;&amp;nbsp;z&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;EgressInterface:&lt;/SPAN&gt;&amp;nbsp;inta&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;IngressZone:&lt;/SPAN&gt;&amp;nbsp;intb&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;EgressZone:&lt;/SPAN&gt;&amp;nbsp;intc&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;Priority:&lt;/SPAN&gt; &lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;GID:&lt;/SPAN&gt; &lt;SPAN class=""&gt;1&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;SID:&lt;/SPAN&gt; &lt;SPAN class=""&gt;58724&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;Revision:&lt;/SPAN&gt; &lt;SPAN class=""&gt;6&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;Message:&lt;/SPAN&gt; &lt;SPAN class=""&gt;SERVER-OTHER&lt;/SPAN&gt; &lt;SPAN class=""&gt;Apache&lt;/SPAN&gt; &lt;SPAN class=""&gt;Log4j&lt;/SPAN&gt; &lt;SPAN class=""&gt;logging&lt;/SPAN&gt; &lt;SPAN class=""&gt;remote&lt;/SPAN&gt; &lt;SPAN class=""&gt;code&lt;/SPAN&gt; &lt;SPAN class=""&gt;execution&lt;/SPAN&gt; &lt;SPAN class=""&gt;attempt&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;Classification:&lt;/SPAN&gt; &lt;SPAN class=""&gt;Attempted&lt;/SPAN&gt; &lt;SPAN class=""&gt;User&lt;/SPAN&gt; &lt;SPAN class=""&gt;Privilege&lt;/SPAN&gt; &lt;SPAN class=""&gt;Gain&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;Client:&lt;/SPAN&gt; &lt;SPAN class=""&gt;Web&lt;/SPAN&gt; &lt;SPAN class=""&gt;browser&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;ApplicationProtocol:&lt;/SPAN&gt; &lt;SPAN class=""&gt;HTTP&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;IntrusionPolicy:&lt;/SPAN&gt; &lt;SPAN class=""&gt;IntPolicy-000001&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;ACPolicy:&lt;/SPAN&gt;&amp;nbsp;AC&lt;SPAN class=""&gt;policy_00001&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;AccessControlRuleName:&lt;/SPAN&gt;&amp;nbsp;ACrule&lt;SPAN class=""&gt;-000001&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;NAPPolicy:&lt;/SPAN&gt; &lt;SPAN class=""&gt;Balanced&lt;/SPAN&gt; &lt;SPAN class=""&gt;Security&lt;/SPAN&gt; &lt;SPAN class=""&gt;and&lt;/SPAN&gt; &lt;SPAN class=""&gt;Connectivity&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN class=""&gt;InlineResult:&lt;/SPAN&gt; &lt;SPAN class=""&gt;Would&lt;/SPAN&gt; &lt;SPAN class=""&gt;have&lt;/SPAN&gt; &lt;SPAN class=""&gt;blocked&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;IngressVRF:&lt;/SPAN&gt; &lt;SPAN class=""&gt;Global&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class=""&gt;EgressVRF:&lt;/SPAN&gt; &lt;SPAN class=""&gt;Global&lt;BR /&gt;&lt;BR /&gt;&lt;U&gt;Log B&lt;/U&gt;&lt;BR /&gt;%FTD-1-yyyyyy: DeviceUUID:&amp;nbsp;Y&lt;SPAN&gt;, &lt;/SPAN&gt;InstanceID: 15&lt;SPAN&gt;, &lt;/SPAN&gt;FirstPacketSecond: 2023-11-23&lt;SPAN&gt;, &lt;/SPAN&gt;ConnectionID: Z&lt;SPAN&gt;, &lt;/SPAN&gt;SrcIP:&amp;nbsp;12.12.12.12&lt;SPAN&gt;, &lt;/SPAN&gt;DstIP:&amp;nbsp;13.13.13.13&lt;SPAN&gt;, &lt;/SPAN&gt;SrcPort: 111&lt;SPAN&gt;, &lt;/SPAN&gt;DstPort: 222&lt;SPAN&gt;, &lt;/SPAN&gt;Protocol: tcp&lt;SPAN&gt;, &lt;/SPAN&gt;IngressInterface: Port-channel6&lt;SPAN&gt;, &lt;/SPAN&gt;EgressInterface: INT1&lt;SPAN&gt;, &lt;/SPAN&gt;IngressZone: INT2&lt;SPAN&gt;, &lt;/SPAN&gt;EgressZone:INT3&lt;SPAN&gt;, &lt;/SPAN&gt;Priority: 2&lt;SPAN&gt;, &lt;/SPAN&gt;GID: 133&lt;SPAN&gt;, &lt;/SPAN&gt;SID: 59&lt;SPAN&gt;, &lt;/SPAN&gt;Revision: 1&lt;SPAN&gt;, &lt;/SPAN&gt;Message: DCE2_EVENT__SMB_BAD_NEXT_COMMAND_OFFSET&lt;SPAN&gt;, &lt;/SPAN&gt;Classification: Potentially Bad Traffic&lt;SPAN&gt;, &lt;/SPAN&gt;WebApplication: SMBv3-unencrypted&lt;SPAN&gt;, &lt;/SPAN&gt;Client: NetBIOS-ssn&lt;SPAN&gt; (&lt;/SPAN&gt;SMB&lt;SPAN&gt;) &lt;/SPAN&gt;client&lt;SPAN&gt;, &lt;/SPAN&gt;ApplicationProtocol: NetBIOS-ssn&lt;SPAN&gt; (&lt;/SPAN&gt;SMB&lt;SPAN&gt;), &lt;/SPAN&gt;IntrusionPolicy:&amp;nbsp;INTIDS&lt;SPAN&gt;, &lt;/SPAN&gt;ACPolicy:&amp;nbsp;ACBpolicy&lt;SPAN&gt;, &lt;/SPAN&gt;AccessControlRuleName:&amp;nbsp;ACBrule&lt;SPAN&gt;, &lt;/SPAN&gt;NAPPolicy: Balanced Security and Connectivity&lt;SPAN&gt;, &lt;/SPAN&gt;IngressVRF: Global&lt;SPAN&gt;, &lt;/SPAN&gt;EgressVRF: Global&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2023 10:16:40 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extracting-fields-from-logs-where-a-particular-field-sometimes/m-p/669554#M229621</guid>
      <dc:creator>neilsmith2</dc:creator>
      <dc:date>2023-11-23T10:16:40Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting fields from logs where a particular field sometimes does not exist</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extracting-fields-from-logs-where-a-particular-field-sometimes/m-p/669555#M229622</link>
      <description>&lt;P&gt;A "?" operator in regex can be applied to a whole group. So this regex:&lt;/P&gt;&lt;PRE&gt;(?&amp;lt;prefix&amp;gt;\w+)(\s(?&amp;lt;middle&amp;gt;\w+))?\s(?&amp;lt;postfix&amp;gt;\w+)&lt;/PRE&gt;&lt;P&gt;Should match and parse two worded strings to prefix-postfix pair but if you happen to have the optional middle word, it will be parsed out as a "middle" field.&lt;/P&gt;&lt;P&gt;As always - use &lt;A href="https://regex101.com/" target="_blank"&gt;https://regex101.com/&lt;/A&gt; and test your regexes. (it also provides a good explanation of what each regex component does).&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2023 10:33:44 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extracting-fields-from-logs-where-a-particular-field-sometimes/m-p/669555#M229622</guid>
      <dc:creator>PickleRick</dc:creator>
      <dc:date>2023-11-23T10:33:44Z</dc:date>
    </item>
    <item>
      <title>Re: Extracting fields from logs where a particular field sometimes does not exist</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Extracting-fields-from-logs-where-a-particular-field-sometimes/m-p/669557#M229623</link>
      <description>&lt;P&gt;Ah , yep that works perfectly! thank you!&lt;/P&gt;</description>
      <pubDate>Thu, 23 Nov 2023 10:57:06 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Extracting-fields-from-logs-where-a-particular-field-sometimes/m-p/669557#M229623</guid>
      <dc:creator>neilsmith2</dc:creator>
      <dc:date>2023-11-23T10:57:06Z</dc:date>
    </item>
  </channel>
</rss>

