Splunk Search

How to edit my search to get new errors from today, and that not occurred in last 7 days?

manjulanam
New Member

Can you please help with the following search? It returns 0 events. I want all the errors that occurred today, and not in last 7days

sourcetype="xx" source="err.log" error earliest=-1d@d  
| stats count AS thisweek by _Error  
| appendcols [ search  source="err.log" error earliest=-7d@d latest=-1d@d
| stats count AS lastweek by _Error]
| where  !isnum(lastweek)
| table thisweek lastweek _Error

Thank you!

0 Karma
1 Solution

lguinn2
Legend

I wouldn't use appendcols for a start. Use append instead, and a final stats to combine the two

sourcetype="xx" source="err.log" error earliest=-1d@d  
| stats count AS thisweek by _Error  
| append [ search  source="err.log" error earliest=-7d@d latest=-1d@d
      | stats count AS lastweek by _Error]
| stats first(*) as * by _Error
| where thisweek > 0 and lastweek = 0

You could also do this with no sub-searches at all, which may be necessary if you are working with very large data sets:

sourcetype="xx" source="err.log" error earliest=-7d@d  
| eval category = if(_time < relative_time(now(),"-1d@d"),"last week","this week")
| stats count(eval(category=="this week")) AS thisweek count(eval(category=="last week")) AS lastweek by _Error  
| where thisweek > 0 and lastweek = 0

View solution in original post

0 Karma

lguinn2
Legend

I wouldn't use appendcols for a start. Use append instead, and a final stats to combine the two

sourcetype="xx" source="err.log" error earliest=-1d@d  
| stats count AS thisweek by _Error  
| append [ search  source="err.log" error earliest=-7d@d latest=-1d@d
      | stats count AS lastweek by _Error]
| stats first(*) as * by _Error
| where thisweek > 0 and lastweek = 0

You could also do this with no sub-searches at all, which may be necessary if you are working with very large data sets:

sourcetype="xx" source="err.log" error earliest=-7d@d  
| eval category = if(_time < relative_time(now(),"-1d@d"),"last week","this week")
| stats count(eval(category=="this week")) AS thisweek count(eval(category=="last week")) AS lastweek by _Error  
| where thisweek > 0 and lastweek = 0
0 Karma

manjulanam
New Member

Thank you Iguinn!, I tried both of the search queries you recommended, but still get No results found.
The original search I posted, returns results if the lastweek query is within last 2 days, but for 7days it almost seems like finalizing results and returns no results

0 Karma

manjulanam
New Member

I used your query with no subsearches replaced or with following and it worked!!
Thank you very much, really appreciate your help!!

| table thisweek lastweek _Error
|where lastweek = 0

0 Karma
Get Updates on the Splunk Community!

Extending Observability Content to Splunk Cloud

Watch Now!   In this Extending Observability Content to Splunk Cloud Tech Talk, you'll see how to leverage ...

More Control Over Your Monitoring Costs with Archived Metrics!

What if there was a way you could keep all the metrics data you need while saving on storage costs?This is now ...

New in Observability Cloud - Explicit Bucket Histograms

Splunk introduces native support for histograms as a metric data type within Observability Cloud with Explicit ...