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!

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...

Splunk Enterprise Security 8.x: The Essential Upgrade for Threat Detection, ...

Watch On Demand the Tech Talk on November 6 at 11AM PT, and empower your SOC to reach new heights! Duration: ...

Splunk Observability as Code: From Zero to Dashboard

For the details on what Self-Service Observability and Observability as Code is, we have some awesome content ...