Reporting

Working with dynamically named fields (extract)

jbmchuck
Engager

I have a script which runs every minute to extract information from squid logs. I'm not interested in actually indexing the data from squid (far too much data) so instead I'm indexing a single line every minute showing the response code statistics from the last minute, for example:

HTTP0:43 HTTP200:19 HTTP301:4 HTTP302:1 HTTP304:46 HTTP403:5 HTTP404:5

Note that the inclusion of codes can vary line by line.

Ultimately I'd like to generate total hits and percentage of hits for each status. I've gotten this far:

index=myindex sourcetype=squid | extract pairdelim=" ", kvdelim=":", auto=f | stats sum(HTTP*) | addtotals fieldname=TotalHits | rename sum(*) as *

which returns something like (contrived output - generally there will be several more fields, HTTP404, 5XX, etc)

HTTP0   HTTP200 HTTP206 HTTP301 TotalHits
4322    1234    777     555     6888

What I'd like to do is generate a percentage field for each of the HTTP* columns. I know that eval doesn't handle wildcards, so that doesn't appear to be an option. Is there a way to simply tell splunk to multiply/divide all columns matching a prefix by a value from another field??

Tags (1)
1 Solution

martin_mueller
SplunkTrust
SplunkTrust

Using the http://splunk-base.splunk.com/apps/76026/scale-command you can do this:

... stats ... addtotals ... | scale field=Total pattern="^sum" | scale scale=100 pattern="^sum" inverse=t | rename ...

View solution in original post

0 Karma

martin_mueller
SplunkTrust
SplunkTrust

Using the http://splunk-base.splunk.com/apps/76026/scale-command you can do this:

... stats ... addtotals ... | scale field=Total pattern="^sum" | scale scale=100 pattern="^sum" inverse=t | rename ...
0 Karma

jonuwz
Influencer

Oh my god. This is gold :

rename sum(*) as *

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!

[Puzzles] Solve, Learn, Repeat: Matching cron expressions

This puzzle (first published here) is based on matching timestamps to cron expressions.All the timestamps ...

Why Splunk Customers Should Attend Cisco Live 2026 Las Vegas

Why Splunk Customers Should Attend Cisco Live 2026 Las Vegas     Cisco Live 2026 is almost here, and this ...

Data Management Digest – May 2026

Welcome to the May 2026 edition of Data Management Digest!   As your trusted partner in data innovation, the ...