Splunk Search

Parse field from JSON logs and build a stats table with data

gabarrygowin
Path Finder

Hi all,

Very close with the offerings in other JSON/SPATH posts but just not getting it done.

We have a JSON formatted log coming into Splunk that gives a ton of data on our servers. One of them being a 'metal' field that we classify our systems by. We'd like to parse that values.metal field and build a stats table (?) that shows how many systems are in each metal.

The current search (which isn't working well) is 'index=unix source="/var/log/facts/*" metal | stats distinct_count(host) by values.metal

Here's some of the JSON file:

{
"name": "toritsgitvlp01.xx.com",
"values": {
"aio_agent_build": "1.7.2",
"aio_agent_version": "1.7.2",
"architecture": "x86_64",
"augeas": {
"version": "1.4.0"
},
......
},
"memoryfree": "6.76 GiB",
"memoryfree_mb": 6918.28125,
"memorysize": "7.63 GiB",
"memorysize_mb": 7815.03125,
"metal": [
"dirt"
],
.......

Any help MUCH appreciated.

0 Karma

DalJeanis
Legend

The key verb you are looking for is spath.
http://docs.splunk.com/Documentation/Splunk/6.3.3/SearchReference/Spath

Here are a couple of threads that show pretty clearly how to use spath to get data out of a JSON, with run-anywhere samples and step by step explanations.

https://answers.splunk.com/answers/525678/parse-json-series-data-into-a-chart.html
https://answers.splunk.com/answers/492158/extracting-data-from-complicated-json-match-a-valu.html

0 Karma

gabarrygowin
Path Finder

Hey DalJeanis,

Thanks for the reply. Still not getting anywhere with the examples and was using the Doc prior. Something just not functioning here.

Here's latest syntax based on the example you provided:

index=unix source="/var/log/facts/*" | spath input=values.metal path="[]" | rename "[]" as METAL | mvexpand METAL | spath input=METAL | stats distinct_count(host) by METAL

Results = no metals grabbed.

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Announcing Modern Navigation: A New Era of Splunk User Experience

We are excited to introduce the Modern Navigation feature in the Splunk Platform, available to both cloud and ...

Modernize your Splunk Apps – Introducing Python 3.13 in Splunk

We are excited to announce that the upcoming releases of Splunk Enterprise 10.2.x and Splunk Cloud Platform ...

Step into “Hunt the Insider: An Splunk ES Premier Mystery” to catch a cybercriminal ...

After a whole week of being on call, you fell asleep on your keyboard, and you hit a sequence of buttons that ...