<?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: TIME_FORMAT after overrided source type on a per-event basis in Getting Data In</title>
    <link>https://community.splunk.com/t5/Getting-Data-In/TIME-FORMAT-after-overrided-source-type-on-a-per-event-basis/m-p/155858#M31620</link>
    <description>&lt;P&gt;To avoid that order issue altogether you can do this in props.conf:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[both_formats]
DATETIME_CONFIG=/etc/system/local/mydatetime.xml
NO_BINARY_CHECK=1
SHOULD_LINEMERGE=false
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Apply that sourcetype to the entire file, no transforms.conf shenanigans. The content of mydatetime.xml is as follows:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;datetime&amp;gt;
  &amp;lt;define name="_year" extract="year"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(20\d\d|19\d\d|[901]\d(?!\d))]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_month" extract="month"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(0?[1-9]|1[012])(?!:)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_litmonth"  extract="litmonth"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(?&amp;lt;![\d\w])(jan|\x{3127}\x{6708}|feb|\x{4E8C}\x{6708}|mar|\x{4E09}\x{6708}|apr|\x{56DB}\x{6708}|may|\x{4E94}\x{6708}|jun|\x{516D}\x{6708}|jul|\x{4E03}\x{6708}|aug|\x{516B}\x{6708}|sep|\x{4E5D}\x{6708}|oct|\x{5341}\x{6708}|nov|\x{5341}\x{3127}\x{6708}|dec|\x{5341}\x{4E8C}\x{6708})[a-z,\.;]*]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_day"  extract="day"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(0?[1-9]|[12]\d|3[01])]]&amp;gt;&amp;lt;/text&amp;gt; 
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_hour" extract="hour"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[([01]?[1-9]|[012][0-3])(?!\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_minute" extract="minute"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[([0-6]\d)(?!\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_second" extract="second"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[([0-6]\d)(?!\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="format_1" extract="litmonth, day, hour, minute, second"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(\w\w\w) (\d\d?) (\d\d):(\d\d):(\d\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="format_2" extract="month, day, hour, minute, second"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(\d\d?) (\d\d?) (\d\d):(\d\d):(\d\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;timePatterns&amp;gt;
    &amp;lt;use name="format_1"/&amp;gt;
    &amp;lt;use name="format_2"/&amp;gt;
  &amp;lt;/timePatterns&amp;gt;
  &amp;lt;datePatterns&amp;gt;
  &amp;lt;/datePatterns&amp;gt;
&amp;lt;/datetime&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Take a look at &lt;CODE&gt;$SPLUNK_HOME/etc/datetime.xml&lt;/CODE&gt; for the default version.&lt;/P&gt;</description>
    <pubDate>Thu, 24 Jul 2014 11:54:12 GMT</pubDate>
    <dc:creator>martin_mueller</dc:creator>
    <dc:date>2014-07-24T11:54:12Z</dc:date>
    <item>
      <title>TIME_FORMAT after overrided source type on a per-event basis</title>
      <link>https://community.splunk.com/t5/Getting-Data-In/TIME-FORMAT-after-overrided-source-type-on-a-per-event-basis/m-p/155856#M31618</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I have a file &lt;EM&gt;exampleFile&lt;/EM&gt; that has two different timestamp/event formats:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;~02 07 10:19:24 OIT-FO-OFR2 NSSTRAP 
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;and&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;Feb 05 18:58:43 ANSU-OPS-2 checkpn: OK:ABM3CANDAF34018
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;As both timestamps do not contain the year, splunk does not manage to correctly index the events.&lt;/P&gt;

&lt;P&gt;I therefore override both sourcetypes on a per-event basis.&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;In props.conf:&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[source::.../exampleFile]
TRANSFORMS-event_1 = event_1
TRANSFORMS-event_2 = event_2

[FORMAT_1]
NO_BINARY_CHECK = 1
TIME_FORMAT =%b %d %H:%M:%S

[FORMAT_2]
NO_BINARY_CHECK = 1
TIME_PREFIX =^\~
TIME_FORMAT =%m %d %H:%M:%S
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;&lt;STRONG&gt;In transforms.conf:&lt;/STRONG&gt;&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[event_1]
REGEX = \w{3}\s\d{2}\s\d{2}\:\d{2}\:\d{2}\s.+
FORMAT = sourcetype::FORMAT_1
DEST_KEY = MetaData:Sourcetype

[event_2]
REGEX = \~\d{2}\s\d{2}\s\d{2}\:\d{2}\:\d{2}\s.+
FORMAT = sourcetype::FORMAT_2
DEST_KEY = MetaData:Sourcetype
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;This works, the sourcetype is correctly assigned to each type, but the indexed timestamps stay wrong.&lt;/P&gt;

&lt;P&gt;Any ideas on how I can correctly assign the TIME_FORMAT to the per-event overrided sourcetype?&lt;/P&gt;

&lt;P&gt;PS: When I upload a file only containing one event format, and when I assign this file directly to a sourcetype FORMAT_1 or FORMAT_2, the TIME_FORMAT definition works correctly&lt;/P&gt;</description>
      <pubDate>Mon, 28 Sep 2020 17:09:55 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Getting-Data-In/TIME-FORMAT-after-overrided-source-type-on-a-per-event-basis/m-p/155856#M31618</guid>
      <dc:creator>bever</dc:creator>
      <dc:date>2020-09-28T17:09:55Z</dc:date>
    </item>
    <item>
      <title>Re: TIME_FORMAT after overrided source type on a per-event basis</title>
      <link>https://community.splunk.com/t5/Getting-Data-In/TIME-FORMAT-after-overrided-source-type-on-a-per-event-basis/m-p/155857#M31619</link>
      <description>&lt;P&gt;Timestamping happens before the transforms rules, so the sourcetype gets set too late.&lt;/P&gt;

&lt;P&gt;Some quite informative diagrams are here: &lt;A href="http://wiki.splunk.com/Community:HowIndexingWorks"&gt;http://wiki.splunk.com/Community:HowIndexingWorks&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jul 2014 11:37:53 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Getting-Data-In/TIME-FORMAT-after-overrided-source-type-on-a-per-event-basis/m-p/155857#M31619</guid>
      <dc:creator>martin_mueller</dc:creator>
      <dc:date>2014-07-24T11:37:53Z</dc:date>
    </item>
    <item>
      <title>Re: TIME_FORMAT after overrided source type on a per-event basis</title>
      <link>https://community.splunk.com/t5/Getting-Data-In/TIME-FORMAT-after-overrided-source-type-on-a-per-event-basis/m-p/155858#M31620</link>
      <description>&lt;P&gt;To avoid that order issue altogether you can do this in props.conf:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;[both_formats]
DATETIME_CONFIG=/etc/system/local/mydatetime.xml
NO_BINARY_CHECK=1
SHOULD_LINEMERGE=false
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Apply that sourcetype to the entire file, no transforms.conf shenanigans. The content of mydatetime.xml is as follows:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;&amp;lt;datetime&amp;gt;
  &amp;lt;define name="_year" extract="year"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(20\d\d|19\d\d|[901]\d(?!\d))]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_month" extract="month"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(0?[1-9]|1[012])(?!:)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_litmonth"  extract="litmonth"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(?&amp;lt;![\d\w])(jan|\x{3127}\x{6708}|feb|\x{4E8C}\x{6708}|mar|\x{4E09}\x{6708}|apr|\x{56DB}\x{6708}|may|\x{4E94}\x{6708}|jun|\x{516D}\x{6708}|jul|\x{4E03}\x{6708}|aug|\x{516B}\x{6708}|sep|\x{4E5D}\x{6708}|oct|\x{5341}\x{6708}|nov|\x{5341}\x{3127}\x{6708}|dec|\x{5341}\x{4E8C}\x{6708})[a-z,\.;]*]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_day"  extract="day"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(0?[1-9]|[12]\d|3[01])]]&amp;gt;&amp;lt;/text&amp;gt; 
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_hour" extract="hour"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[([01]?[1-9]|[012][0-3])(?!\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_minute" extract="minute"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[([0-6]\d)(?!\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="_second" extract="second"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[([0-6]\d)(?!\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="format_1" extract="litmonth, day, hour, minute, second"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(\w\w\w) (\d\d?) (\d\d):(\d\d):(\d\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;define name="format_2" extract="month, day, hour, minute, second"&amp;gt;
    &amp;lt;text&amp;gt;&amp;lt;![CDATA[(\d\d?) (\d\d?) (\d\d):(\d\d):(\d\d)]]&amp;gt;&amp;lt;/text&amp;gt;
  &amp;lt;/define&amp;gt;
  &amp;lt;timePatterns&amp;gt;
    &amp;lt;use name="format_1"/&amp;gt;
    &amp;lt;use name="format_2"/&amp;gt;
  &amp;lt;/timePatterns&amp;gt;
  &amp;lt;datePatterns&amp;gt;
  &amp;lt;/datePatterns&amp;gt;
&amp;lt;/datetime&amp;gt;
&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;Take a look at &lt;CODE&gt;$SPLUNK_HOME/etc/datetime.xml&lt;/CODE&gt; for the default version.&lt;/P&gt;</description>
      <pubDate>Thu, 24 Jul 2014 11:54:12 GMT</pubDate>
      <guid>https://community.splunk.com/t5/Getting-Data-In/TIME-FORMAT-after-overrided-source-type-on-a-per-event-basis/m-p/155858#M31620</guid>
      <dc:creator>martin_mueller</dc:creator>
      <dc:date>2014-07-24T11:54:12Z</dc:date>
    </item>
  </channel>
</rss>

