Getting Data In

Define custom sourcetype XML

raymondc
Engager

I'm trying to define a custom sourcetype. I have one file with multiple XML files.

For example MyFile.xml:

<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?><DATA>
   <Time>2016-02-12T00:00:00.211Z</Time>
   <Item>
      <ID>1545454</ID>
      <VAR1>897654564dDJUHFKHJHEU</VAR1>
   </Item>
   <Check>OK</Check>
</DATA>
<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?><DATA>
   <Time>2016-02-12T00:00:00.211Z</Time>
   <Item>
      <ID>456849836848</ID>
      <VAR5>78964DFDFli_DFDFD_DFDF</VAR5>
   </Item>
   <Check>FAILD</Check>
</DATA>
<?xml version = '1.0' encoding = 'UTF-8'?><LOG>
   <Send>FKK_64646464</Send>
   <TimestampSend>2016-02-08T04:44:53.417Z</TimestampSend>
   <By>MFF_5687654</By>
   <MessageId>Title Test</MessageId>
   <Message>
      <Resp>
         <EventTime>2016-02-08T04:44:53.418Z</EventTime>
         <Info>
            <Item>
               <Id>INFO_222</Id>
            </Item>
            <Description>
               <Id>BCC_456</Id>
               <ByID>45</ByID>
            </Description>
         </Info>
         <Status>404</Status>
      </Resp>
   </Message>
</LOG>
<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?><DATA>
   <Time>2016-02-12T00:00:00.211Z</Time>
   <Item>
      <ID>45454545</ID>
      <VAR88>LJDKI_DFDFDF_DFDFDF_EJRHUHEJK</VAR88>
   </Item>
   <Check>WARNING</Check>
</DATA>
<?xml version = '1.0' encoding = 'UTF-8'?><LOG>
   <Send>FKK_64646465</Send>
   <TimestampSend>2016-02-08T04:48:53.417Z</TimestampSend>
   <By>MFF_5687655</By>
   <MessageId>Title Test</MessageId>
   <Message>
      <Resp>
         <EventTime>2016-02-08T04:48:53.418Z</EventTime>
         <Info>
            <Item>
               <Id>INFO_223</Id>
            </Item>
            <Description>
               <Id>BCC_457</Id>
               <ByID>46</ByID>
            </Description>
         </Info>
         <Status>404</Status>
      </Resp>
   </Message>
</LOG>

My props.conf

[mysourcetype]
 DATETIME_CONFIG = CURRENT
 KV_MODE = xml
 LINE_BREAKER = (<?xml)
 NO_BINARY_CHECK = 1
 SHOULD_LINEMERGE = false
 TRUNCATE = 0
 pulldown_type = 1

How can I set the LINE_BREAKER by "<?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?>"
Is there a way te set the DATETIME to or with regex?
What did I do wrong?

0 Karma

somesoni2
Revered Legend

Give this a try (props.conf on Indexer/Heavy forwarder)

[yoursourcetype]
SHOULD_LINEMERGE=true
LINE_BREAKER=(\<\?xml[^\?]+\?\>)
TIME_PREFIX=Time\s*\>
TIME_FORMAT=%Y-%m-%dT%H:%M:%S.%N
0 Karma
Get Updates on the Splunk Community!

Exporting Splunk Apps

Join us on Monday, October 21 at 11 am PT | 2 pm ET!With the app export functionality, app developers and ...

Cisco Use Cases, ITSI Best Practices, and More New Articles from Splunk Lantern

Splunk Lantern is a Splunk customer success center that provides advice from Splunk experts on valuable data ...

Build Your First SPL2 App!

Watch the recording now!.Do you want to SPL™, too? SPL2, Splunk's next-generation data search and preparation ...