Splunk Search

count the field using occurrences of string in the field value

goalkeeper
Explorer

I am very new to Splunk.

I have an access.log file, which contains the Url and  querystring:

url                                                   queryString

http://host/getOrder             id=1&id=2&id=3

http://host/getUser               id=1&id=2 

http://host/getUser              id=2&id=3 

How could I  count the url using the occurrence of "id" in the queryString?

So the result I want would be

Url                                             IdCount

http://host/getOrder        3

http://host/getUser           4

 

Thanks in advance

Labels (4)
1 Solution

bowesmana
SplunkTrust
SplunkTrust

@goalkeeper 

See this demo example using your data 

| makeresults
| eval _raw="url,queryString
http://host/getOrder,id=1&id=2&id=3
http://host/getUser,id=1&id=2
http://host/getUser,id=2&id=3"
| multikv forceheader=1
| table url queryString
| rex field=queryString max_match=0 "id=(?<id>\d+)"
| eval ids=mvcount(id)
| stats sum(ids) as ids by url

What you want is from the rex statement down. This will

  • Extract the ids into a new field called id based on the regex
  • Count the number of ids found
  • Calculate the sum of ids by url

Hope this helps

 

View solution in original post

bowesmana
SplunkTrust
SplunkTrust

@goalkeeper 

See this demo example using your data 

| makeresults
| eval _raw="url,queryString
http://host/getOrder,id=1&id=2&id=3
http://host/getUser,id=1&id=2
http://host/getUser,id=2&id=3"
| multikv forceheader=1
| table url queryString
| rex field=queryString max_match=0 "id=(?<id>\d+)"
| eval ids=mvcount(id)
| stats sum(ids) as ids by url

What you want is from the rex statement down. This will

  • Extract the ids into a new field called id based on the regex
  • Count the number of ids found
  • Calculate the sum of ids by url

Hope this helps

 

goalkeeper
Explorer

It works. Thanks again.

0 Karma
Get Updates on the Splunk Community!

Shape the Future of Splunk: Join the Product Research Lab!

Join the Splunk Product Research Lab and connect with us in the Slack channel #product-research-lab to get ...

Auto-Injector for Everything Else: Making OpenTelemetry Truly Universal

You might have seen Splunk’s recent announcement about donating the OpenTelemetry Injector to the ...

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...