Splunk Search

how to get stats count from 3 multile-value fields

cheriemilk
Path Finder

Hi team,

I have below kind of data in splunk, it contains 3 fields ISRF, DSRF and DSFF.  they are all multi-value fields.

 

2021-10-13 19:26:46,813 ISRF="[fullName,managerFullName,title,userName,division,department,location]" DSRF="[fullName,managerFullName,title,userName,division,department,location]" DSFF="[managerFullName,division,department,location,jobCodereasonForLeaving]"
2021-10-12 19:32:31,504  ISRF="[fullName,managerFullName,userName,division,department,location]" C_DSRF="[fullName,managerFullName,title,userName,division,department,location]" DSFF="[managerFullName,division,department,location,custom05,jobCode,riskOfLoss,impactOfLoss,reasonForLeaving]"   
......
......

 

 

I expect the report like below format:

fieldscount Of ISRFcount Of DSRFcount of DSFF
fullName220
managerFullName222
title120
......   
......   
resonForLeaving001

 

I am trying below queries, and I am blocked how to continue for getting expected format table.

 

<baseQuery>
|eval includeSearchResultField=replace(replace(C_ISRF,"\[",""),"\]",""), 
      defaultSearchResultField=replace(replace(C_DSRF,"\[",""),"\]",""), 
      filterFields=replace(replace(C_DSFF,"\[",""),"\]","") 
|makemv delim="," includeSearchResultField
|makemv delim="," defaultSearchResultField
|makemv delim="," filterFields

 

 

Labels (1)
0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust

Here is one way to do it - the part before the blank lines just sets up the dummy data

| makeresults
| eval _raw="2021-10-13 19:26:46,813 ISRF=\"[fullName,managerFullName,title,userName,division,department,location]\" DSRF=\"[fullName,managerFullName,title,userName,division,department,location]\" DSFF=\"[managerFullName,division,department,location,jobCodereasonForLeaving]\"
2021-10-12 19:32:31,504  ISRF=\"[fullName,managerFullName,userName,division,department,location]\" DSRF=\"[fullName,managerFullName,title,userName,division,department,location]\" DSFF=\"[managerFullName,division,department,location,custom05,jobCode,riskOfLoss,impactOfLoss,reasonForLeaving]\""
| multikv noheader=t
| table _raw



| extract pairdelim=" ", kvdelim="="
| foreach *
    [| eval <<FIELD>>=split(trim(<<FIELD>>,"[]"),",")]
| fields - _raw
| eval row=1
| untable row field values
| rex max_match=0 field=values "(?<values>\S+)\s*"
| mvexpand values
| stats count by field values
| xyseries values field count
| fillnull value=0

View solution in original post

cheriemilk
Path Finder

@ITWhisperer  Thank you for the solution.

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

Here is one way to do it - the part before the blank lines just sets up the dummy data

| makeresults
| eval _raw="2021-10-13 19:26:46,813 ISRF=\"[fullName,managerFullName,title,userName,division,department,location]\" DSRF=\"[fullName,managerFullName,title,userName,division,department,location]\" DSFF=\"[managerFullName,division,department,location,jobCodereasonForLeaving]\"
2021-10-12 19:32:31,504  ISRF=\"[fullName,managerFullName,userName,division,department,location]\" DSRF=\"[fullName,managerFullName,title,userName,division,department,location]\" DSFF=\"[managerFullName,division,department,location,custom05,jobCode,riskOfLoss,impactOfLoss,reasonForLeaving]\""
| multikv noheader=t
| table _raw



| extract pairdelim=" ", kvdelim="="
| foreach *
    [| eval <<FIELD>>=split(trim(<<FIELD>>,"[]"),",")]
| fields - _raw
| eval row=1
| untable row field values
| rex max_match=0 field=values "(?<values>\S+)\s*"
| mvexpand values
| stats count by field values
| xyseries values field count
| fillnull value=0
Get Updates on the Splunk Community!

Splunk + ThousandEyes: Correlate frontend, app, and network data to troubleshoot ...

 Are you tired of troubleshooting delays caused by siloed frontend, application, and network data? We've got a ...

Splunk Observability for AI

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

🔐 Trust at Every Hop: How mTLS in Splunk Enterprise 10.0 Makes Security Simpler

From Idea to Implementation: Why Splunk Built mTLS into Splunk Enterprise 10.0  mTLS wasn’t just a checkbox ...