Splunk Search

Is there any way to set the semi-permanent variables exists to 0 until a specific event comes up?

hermitfeather
Loves-to-Learn

Hello!

I currently have this eval in a search of mine:

 

| eval exists=if(like(_raw, "%xa recovery%"), 0, 1)

 



Is there any way to set the variable exists to 0 until a specific event comes up? What I'm trying to accomplish is like this...

If event contains(xa recovery) exists=0 until event contains(System READY) then exists=1.

Thank you!

Labels (2)
0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

Do you mean something like this

| eval exists=if(like(_raw, "%xa recovery%"), 0, 1)
| streamstats max(exists) as exists

Note that streamstats works through the pipeline of events as they come, which is often (depending on the rest of the search) in reverse chronological order i.e. most recent first, so, depending on what you mean by "until", you may need to sort your events into chronological order prior to the streamstats.

0 Karma

hermitfeather
Loves-to-Learn

Most recent first is what I want, I think. What I mean by until is for that variable to be set to 0 once an event with xa recovery is received then that variable stays the same regardless of the other events that are received until an event is received that has System READY in the event then it'll go back to the original value 1. I'll try what you have there with streamstats.

0 Karma
Get Updates on the Splunk Community!

Accelerating Observability as Code with the Splunk AI Assistant

We’ve seen in previous posts what Observability as Code (OaC) is and how it’s now essential for managing ...

Integrating Splunk Search API and Quarto to Create Reproducible Investigation ...

 Splunk is More Than Just the Web Console For Digital Forensics and Incident Response (DFIR) practitioners, ...

Congratulations to the 2025-2026 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...