- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
How to group by multiple fields?
Hi everyone,
I'm kinda new to splunk.
I have two indizes:
-
Stores events (relevant fields: hostname, destPort)
2. Stores information about infrastructure (relevant fields: host, os)
I need to show which Ports are used by which os.
From the first index I need to know which host is using which ports.
From the second index I want to know which host is using which os. I then want to see, which OS uses which ports. To make it even more difficult, the host is called hostname in index 1 and host in index 2.
I basically have to group by hostname and then by OS.
How can i achieve this? What concepts can I use?
I have two working searches for step 1 and step2, I just dont know how to "join" them together.
Any help is greatly appreciated, thanks.
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Avoid join in Splunk where possible - it has limitations and is not really the Splunk way to do things, as joining can easily be done with stats
search <dataset_1> OR <dataset_2>
| eval host=if(index=dataset_1, hostname, host)
| stats values(destPort) as ports values(os) as os by host
| stats values(ports) as ports by os
Assuming that there is only 1 os per host, then the first stats will give all the ports for the host along with its os and then the second stats will give all the ports by os.
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @erikschubert ,
You can try below search:
index=events
| fields hostname,destPort
| rename hostname as host
| join type=outer host
[| search index=infrastructure
| fields os]
| table host destPort os
- Mark as New
- Bookmark Message
- Subscribe to Message
- Mute Message
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@tej57 wrote:Hello @erikschubert ,
You can try below search:
index=events
| fields hostname,destPort
| rename hostname as host
| join type=outer host
[| search index=infrastructure
| fields os]
| table host destPort os
Hi,
this displays which host is using which Port, but the column OS stays empty 😞
