Getting Data In

How to extract all log events excluding JSON messages?

nareshinsvu
Builder

Hi,

I want to extract all the log events (normal lines) except JSON messages. There should be an easy way for this. Any hints, please?

 

My log file is a mix something like below

----------

normal line

normal line

json events {

{json messages}

}

normal line

etc

etc

 

Thanks,

Naresh

Labels (1)
0 Karma

richgalloway
SplunkTrust
SplunkTrust

If you can produce a regular expression that defines a JSON event then you can use a transform to filter them out.

Put this in a tranforms.conf file

[indexdata]
REGEX = .
DEST_KEY = queue
FORMAT = indexQueue

[filterjson]
REGEX = <your regex that detects JSON messages>
DEST_KEY = queue
FORMAT = nullQueue

Then add this to the corresponding props.conf file:

[mysourcetype]
TRANSFORMS-nojson = indexdata, filterjson
---
If this reply helps you, Karma would be appreciated.
0 Karma

nareshinsvu
Builder

Hi @ 

 

I am struggling with regex actually.  My regex is only capturing partial json message (until the first "}")

I am trying to search all lines between "line starting with {" and "line starting with }". But ^ is not picking my search

So, I am stuck with this regex currently   --    \{[\s\S]*?\}

{

  {

    {},

  },

}.

0 Karma

to4kawa
Ultra Champion

@nareshinsvu 

Regular expressions require a fairly strict definition. You haven't presented anything here.

0 Karma
Get Updates on the Splunk Community!

Index This | I’m short for "configuration file.” What am I?

May 2024 Edition Hayyy Splunk Education Enthusiasts and the Eternally Curious!  We’re back with a Special ...

New Articles from Academic Learning Partners, Help Expand Lantern’s Use Case Library, ...

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

Your Guide to SPL2 at .conf24!

So, you’re headed to .conf24? You’re in for a good time. Las Vegas weather is just *chef’s kiss* beautiful in ...