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!

Earn a $35 Gift Card for Answering our Splunk Admins & App Developer Survey

Survey for Splunk Admins and App Developers is open now! | Earn a $35 gift card!      Hello there,  Splunk ...

Continuing Innovation & New Integrations Unlock Full Stack Observability For Your ...

You’ve probably heard the latest about AppDynamics joining the Splunk Observability portfolio, deepening our ...

Monitoring Amazon Elastic Kubernetes Service (EKS)

As we’ve seen, integrating Kubernetes environments with Splunk Observability Cloud is a quick and easy way to ...