Splunk Search

Need to convert only MB values to GB leaving GB values as it is.

Mrig342
Contributor

Hi All,

 

I have logs like below in splunk:

Log1: Tue Feb 25 04:00:20 2024 EST 10G 59M 1% /apps
Log2: Tue Feb 25 04:00:20 2024 EST 10G 6.4G 64% /logs
Log3: Tue Feb 25 04:00:20 2024 EST 10G 2G 20% /opt
Log4: Tue Feb 25 04:00:20 2024 EST 30G 282M 1% /var

 I have used the below query to extract the required fields:

... | rex field=_raw "EST\s(?P<Total_Space>[^\s]+)\s(?P<Used_Space>[^\s]+)\s(?P<Disk_Usage>[^%]+)\%\s(?P<File_System>[^\s]+)"

Here, the output values of "Used_Space" field has both GB and MB values and I need to convert only MB values to GB. 

Please help to create a query to get the MB values only converted to GB.

 

Your kind inputs are highly appreciated..!!

Thank You..!!

Labels (1)
0 Karma
1 Solution

Mrig342
Contributor

Hi @scelikok ,

I modified the query as below and now its working fine for me.

| eval Used_Space=case(match(Used_Space,"M"),round(tonumber(replace(Used_Space,"M",""))/1024,2), match(Used_Space,"G"),Used_Space)

 

Thank you for your inputs though..!!

View solution in original post

0 Karma

scelikok
SplunkTrust
SplunkTrust

Hi @Mrig342,

You can use below eval function;

| eval Used_Space=case(match(Used_Space,"M"),round(tonumber(replace(Used_Space,"M",""))/1024,2)."G",1=1,Used_Space)
If this reply helps you an upvote and "Accept as Solution" is appreciated.

Mrig342
Contributor

Hi @scelikok 

Thank you for the query.. But its not working for me.. Its giving error:

Error in 'EvalCommand': The expression is malformed. Expected).

 

Can you please help to modify the query..

Thank you..!!

0 Karma

scelikok
SplunkTrust
SplunkTrust

Hi @Mrig342 ,

It is a tested solution in my lab environment. Can you please check if the double quotes are the correct characters in your search? Sometimes they got replaced while copying from the browser.

 

If this reply helps you an upvote and "Accept as Solution" is appreciated.

Mrig342
Contributor

Hi @scelikok ,

I modified the query as below and now its working fine for me.

| eval Used_Space=case(match(Used_Space,"M"),round(tonumber(replace(Used_Space,"M",""))/1024,2), match(Used_Space,"G"),Used_Space)

 

Thank you for your inputs though..!!

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...