Getting Data In

Apply spath automatically to a sourcetype with nested JSON

Motoko89
Path Finder

Hi all, I have JSON events with complex properties, aka nested JSON objects. I know how to apply spath and create macro. But I want to apply the macro automatically to the sourcetype. Something similar to automatic lookup. How do I do this? Thanks,

EDIT:
I already have INDEXED_EXTRACTIONS. I can search first-level fields just fine. But some of these fields are of type JSON object. Example:

    {
      "field1": "stringValue",
      "field2": [
         {
             "field2_field1": 20
         }
      ]
     }

How do I search field2_field1 value without doing spath?

0 Karma

woodcock
Esteemed Legend

The other way is to props.conf on your search head(s) with:

[YourSourcetypeHere]
KV_MODE = json
0 Karma

nikita_p
Contributor

Hi,
Please find the accepted answers in below link on splunk answers, this might help you:
https://answers.splunk.com/answers/202023/is-it-possible-to-create-a-macro-to-do-this.html

0 Karma

Motoko89
Path Finder

Hi, I don't think it does. Please see my edit

0 Karma

harsmarvania57
SplunkTrust
SplunkTrust

Hi,

Question title and descriptions bit misleading, please find below comment based on Question title Apply spath automatically to a sourcetype with nested JSON

If you only want to apply spath to extract all fields from Nested JSON then I'll suggest to ingest data with JSON extractions.

If you are forwarding data from Universal Forwarder then use below configurations on UF.

props.conf

[yoursourcetype]
INDEXED_EXTRACTIONS = JSON

Motoko89
Path Finder

No, it is exactly what I want. I already have INDEXED_EXTRACTIONS. I can search first-level fields just fine. But some of these fields are of type JSON object. Example:

    {
      "field1": "stringValue",
      "field2": [
         {
             "field2_field1": 20
         }
      ]
     }

How do I search field2_field1 without doing spath?

0 Karma

harsmarvania57
SplunkTrust
SplunkTrust

I have ingested above sample data in my lab environment with INDEXED_EXTRACTIONS = JSON and it extracted nested JSON as well with field name field2{}.field2_field1

To access this field easily for further usage in stats or any other command it will be good to rename it like | rename field2{}.* as * and after that you will able to see field called field2_field1 in Interesting fields.

Motoko89
Path Finder

Thanks! This works for me

0 Karma
Get Updates on the Splunk Community!

Routing logs with Splunk OTel Collector for Kubernetes

The Splunk Distribution of the OpenTelemetry (OTel) Collector is a product that provides a way to ingest ...

Welcome to the Splunk Community!

(view in My Videos) We're so glad you're here! The Splunk Community is place to connect, learn, give back, and ...

Tech Talk | Elevating Digital Service Excellence: The Synergy of Splunk RUM & APM

Elevating Digital Service Excellence: The Synergy of Real User Monitoring and Application Performance ...