Splunk Search

How to count field with string and empty string and draw a chart ?

annalwins
Engager

I have below format of data. I would like to count email with empty string as anonymous and email with any string as customer and would like to draw a chart for the same.
email= ,status='yes'
email=abced@gmail.com ,status='yes'
email=ced@gmail.com ,status='yes'

Tags (1)
0 Karma
1 Solution

adityapavan18
Contributor

You can try something like this:

| rex "email=(?[^\,]*)" | eval emailtype = if(email==" ","Anonymous","Customer") | stats count by emailtype

View solution in original post

annalwins
Engager

It works as I expected.
[1] Can you explain me about this rex. How does email="" string goes to Anonymous and email=äbcd.gmail.com goes to customer?
[2] How can I get avg customer from this ?

0 Karma

adityapavan18
Contributor

Its simple, the rex i mentioned extracts everything between the string "email=" and the comma(,).
In case of proper email id's it extract email id's, but when there is no email Id there is only a blank space and that is extracted.
Now in my eval statement i am checking if email value is a blank space if yes i am setting a variable emailtype as Anonymous else as Customer. Hope that helps.

0 Karma

adityapavan18
Contributor

You can try something like this:

| rex "email=(?[^\,]*)" | eval emailtype = if(email==" ","Anonymous","Customer") | stats count by emailtype

Get Updates on the Splunk Community!

Easily Improve Agent Saturation with the Splunk Add-on for OpenTelemetry Collector

Agent Saturation What and Whys In application performance monitoring, saturation is defined as the total load ...

Explore the Latest Educational Offerings from Splunk [January 2025 Updates]

At Splunk Education, we are committed to providing a robust learning experience for all users, regardless of ...

Developer Spotlight with Paul Stout

Welcome to our very first developer spotlight release series where we'll feature some awesome Splunk ...