<?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: Possible to retrofit props.conf file in Splunk Search</title>
    <link>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138002#M37850</link>
    <description>&lt;P&gt;I was under the assumption I could enter the following:&lt;/P&gt;

&lt;P&gt;[sourcefire]&lt;BR /&gt;
DELIMS = ","&lt;BR /&gt;
FIELDS = "Connection Type", "User", "Client" - etc&lt;/P&gt;

&lt;P&gt;and the fields will automatically be extracted without the need for regex?&lt;/P&gt;

&lt;P&gt;Thx&lt;/P&gt;</description>
    <pubDate>Sun, 26 Jul 2015 02:23:38 GMT</pubDate>
    <dc:creator>jwalzerpitt</dc:creator>
    <dc:date>2015-07-26T02:23:38Z</dc:date>
    <item>
      <title>Possible to retrofit props.conf file</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138000#M37848</link>
      <description>&lt;P&gt;I have a situation in which Cisco Sourcefire files are being ingested into Splunk (v6.0.1) under different sourcetypes into one index (sourcefire), and whose fields are being extracted at search time.&lt;/P&gt;

&lt;P&gt;Here's what the props.conf file looks like for one of the sourcetypes:&lt;/P&gt;

&lt;P&gt;[sourcefire_si]&lt;BR /&gt;
EXTRACT-Access_Policy = [^]\n]&lt;EM&gt;](?P&amp;lt;Access_Policy&amp;gt;[^ ]+)&lt;BR /&gt;
EXTRACT-Access_Policy-Connection_Type = [^]\n]&lt;/EM&gt;](?P&amp;lt;Access_Policy&amp;gt;[^ ]+)[^:\n]&lt;EM&gt;:\s+(?P&amp;lt;Connection_Type&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-User = (?i) URL: (?P&amp;lt;User&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Client = (?i) URL: (?P&amp;lt;Client&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Application_Protocol = (?i) URL: (?P&amp;lt;Application_Protocol&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Web_App = (?i) URL: (?P&amp;lt;Web_App&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Access_Control_Rule_Name = (?i) Name: (?P&amp;lt;Access_Control_Rule_Name&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Access_Control_Rule_Action = (?i) Action: (?P&amp;lt;Access_Control_Rule_Action&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Access_Control_Rule_Reason = (?i) Reasons: (?P&amp;lt;Access_Control_Rule_Reason&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-URL_Category = (?i) URL: (?P&amp;lt;URL_Category&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-URL_Reputation = (?i) Reputation: (?P&amp;lt;URL_Reputation&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-URL = (?i) URL: (?P&amp;lt;URL&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Interface_Ingress = (?i) Ingress: (?P&amp;lt;Interface_Ingress&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Interface_Egress = (?i) Egress: (?P&amp;lt;Interface_Egress&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Security_Zone_Ingress = (?i) URL: (?P&amp;lt;Security_Zone_Ingress&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-Security_Zone_Egress = (?i) .&lt;/EM&gt;?: (?P&amp;lt;Security_Zone_Egress&amp;gt;\w+/\w+)(?=,)&lt;BR /&gt;
EXTRACT-SI_Matching_IP = (?i) IP: (?P&amp;lt;SI_Matching_IP&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-SI_Category = (?i) Name: (?P&amp;lt;SI_Category&amp;gt;[^,]+)&lt;BR /&gt;
EXTRACT-srcip = (?i){.&lt;EM&gt;?} (?P&amp;lt;srcip&amp;gt;\d+.\d+.\d+.\d+)(?=:)&lt;BR /&gt;
EXTRACT-src_port = (?i)^(?:[^.]&lt;/EM&gt;.){6}\d+:(?P&amp;lt;src_port&amp;gt;[^ ]+)&lt;BR /&gt;
EXTRACT-dst_ip = (?i)^[^&amp;gt;]&lt;EM&gt;&amp;gt;\s+(?P&amp;lt;dst_ip&amp;gt;[^:]+)&lt;BR /&gt;
EXTRACT-dst_port = (?i)^(?:[^.]&lt;/EM&gt;.){9}\d+:(?P&amp;lt;dst_port&amp;gt;.+)&lt;/P&gt;

&lt;P&gt;Reviewing the Sourcefire log files I see they are delimited via a comma with headers, some with key/values. Here is a sample log file:&lt;/P&gt;

&lt;P&gt;2015-07-25T15:28:41-04:00 &lt;BR /&gt;
[hostip of sourcefire] SFIMS: &lt;BR /&gt;
[Primary Detection Engine (d9fd69ee-b1c9-11e4-ade9-c9e0fcb0c479)]&lt;BR /&gt;
[PolicyName] &lt;BR /&gt;
Connection Type: Start, &lt;BR /&gt;
User: Unknown, &lt;BR /&gt;
Client: Unknown, &lt;BR /&gt;
Application Protocol: Unknown, &lt;BR /&gt;
Web App: Unknown, &lt;BR /&gt;
Access Control Rule Name: Malware, &lt;BR /&gt;
Access Control Rule Action: Block, &lt;BR /&gt;
Access Control Rule Reasons: IP Block, &lt;BR /&gt;
URL Category: Unknown, &lt;BR /&gt;
URL Reputation: Risk unknown, &lt;BR /&gt;
URL: Unknown, &lt;BR /&gt;
Interface Ingress: [NAME-NAME]/[NAME-NAME], &lt;BR /&gt;
Interface Egress: [NAME-NAME]/[NAME-NAME], &lt;BR /&gt;
Security Zone Ingress: Unknown, &lt;BR /&gt;
Security Zone Egress: N/A, &lt;BR /&gt;
Security Intelligence Matching IP: Source, &lt;BR /&gt;
Security Intelligence Category: Malware, &lt;BR /&gt;
Client Version: (null), &lt;BR /&gt;
Number of File Events: 0, &lt;BR /&gt;
Number of IPS Events: 0, &lt;BR /&gt;
TCP Flags: 0x0, &lt;BR /&gt;
NetBIOS Domain: (null), &lt;BR /&gt;
Initiator Packets: 1, &lt;BR /&gt;
Responder Packets: 0, &lt;BR /&gt;
Initiator Bytes: 66, &lt;BR /&gt;
Responder Bytes: 0, &lt;BR /&gt;
Context: [NAME-NAME], &lt;BR /&gt;
SSL Rule Name: N/A, &lt;BR /&gt;
SSL Flow Status: N/A, &lt;BR /&gt;
SSL Cipher Suite: N/A, &lt;BR /&gt;
SSL Certificate: 0000000000000000000000000000000000000000, &lt;BR /&gt;
SSL Subject CN: N/A, &lt;BR /&gt;
SSL Subject Country: N/A, &lt;BR /&gt;
SSL Subject OU: N/A, &lt;BR /&gt;
SSL Subject Org: N/A, &lt;BR /&gt;
SSL Issuer CN: N/A, &lt;BR /&gt;
SSL Issuer Country: N/A, &lt;BR /&gt;
SSL Issuer OU: N/A, &lt;BR /&gt;
SSL Issuer Org: N/A, &lt;BR /&gt;
SSL Valid Start Date: N/A, &lt;BR /&gt;
SSL Valid End Date: N/A, &lt;BR /&gt;
SSL Version: N/A, &lt;BR /&gt;
SSL Server Certificate Status: N/A, &lt;BR /&gt;
SSL Actual Action: N/A, &lt;BR /&gt;
SSL Expected Action: N/A, &lt;BR /&gt;
SSL Server Name: (null), &lt;BR /&gt;
SSL URL Category: N/A, &lt;BR /&gt;
SSL Session ID: 0000000000000000000000000000000000000000000000000000000000000000, &lt;BR /&gt;
SSL Ticket Id: 0000000000000000000000000000000000000000, &lt;BR /&gt;
{TCP} x.x.x.x:51645 -&amp;gt; x.x.x.x:443&lt;/P&gt;

&lt;P&gt;Is there a way I can retrofit the props.conf file (and I'm confused as I thought I would need to configure data transformations in transforms.conf) to extract fields based on the conf file during search time?&lt;/P&gt;

&lt;P&gt;Looking at the transforms.conf examples I see this:&lt;/P&gt;

&lt;H1&gt;Extract comma-delimited values into fields:&lt;/H1&gt;

&lt;P&gt;[extract_csv]&lt;BR /&gt;
DELIMS = ","&lt;BR /&gt;
FIELDS = "field1", "field2", "field3"&lt;/P&gt;

&lt;P&gt;I would appreciate any help for this - thx&lt;/P&gt;</description>
      <pubDate>Tue, 29 Sep 2020 06:47:18 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138000#M37848</guid>
      <dc:creator>jwalzerpitt</dc:creator>
      <dc:date>2020-09-29T06:47:18Z</dc:date>
    </item>
    <item>
      <title>Re: Possible to retrofit props.conf file</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138001#M37849</link>
      <description>&lt;P&gt;"Is there a way I can retrofit the props.conf file  to extract fields based on the conf file during search time?"&lt;/P&gt;

&lt;P&gt;That's exactly what those &lt;CODE&gt;EXTRACT-foo&lt;/CODE&gt; lines in props.conf are supposed to do, so I'm not sure what the question is...?&lt;/P&gt;</description>
      <pubDate>Sat, 25 Jul 2015 19:55:06 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138001#M37849</guid>
      <dc:creator>martin_mueller</dc:creator>
      <dc:date>2015-07-25T19:55:06Z</dc:date>
    </item>
    <item>
      <title>Re: Possible to retrofit props.conf file</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138002#M37850</link>
      <description>&lt;P&gt;I was under the assumption I could enter the following:&lt;/P&gt;

&lt;P&gt;[sourcefire]&lt;BR /&gt;
DELIMS = ","&lt;BR /&gt;
FIELDS = "Connection Type", "User", "Client" - etc&lt;/P&gt;

&lt;P&gt;and the fields will automatically be extracted without the need for regex?&lt;/P&gt;

&lt;P&gt;Thx&lt;/P&gt;</description>
      <pubDate>Sun, 26 Jul 2015 02:23:38 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138002#M37850</guid>
      <dc:creator>jwalzerpitt</dc:creator>
      <dc:date>2015-07-26T02:23:38Z</dc:date>
    </item>
    <item>
      <title>Re: Possible to retrofit props.conf file</title>
      <link>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138003#M37851</link>
      <description>&lt;P&gt;From your example result... I'm guessing that&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;... | extract kvdelim=":" pairdelim="," 
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;does what you want on a search. Now if I'm reading the &lt;A href="http://docs.splunk.com/Documentation/Splunk/6.2.4/admin/Transformsconf"&gt;transforms&lt;/A&gt; doc correctly, then what you would want on your search head is: &lt;/P&gt;

&lt;P&gt;props.conf:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[sourcefire_si]
REPORT-kv = sourcefire_kv 
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;transforms.conf:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[sourcefire_kv]
DELIMS = ",", ":"
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;This should get you most of the way there but there may be other fiddling that you'd want to do as well.&lt;/P&gt;</description>
      <pubDate>Sun, 26 Jul 2015 05:02:46 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Splunk-Search/Possible-to-retrofit-props-conf-file/m-p/138003#M37851</guid>
      <dc:creator>acharlieh</dc:creator>
      <dc:date>2015-07-26T05:02:46Z</dc:date>
    </item>
  </channel>
</rss>

