We are looking customize our searches by using subsearches.
index=db source="Queue.Depth"|head 1 | stats values(Current_Depth) -- This gives current queue depth in our MQ
index=db source="Queue.OldestMessageAge" |head 1|stats values(Oldest_Message_Age) as "Oldest_Message_Age_in_mins" -- This query gives us Oldest message Age in our MQ
At the moment, we have some issues with db and sometimes data is not updating. Due to this, we are getting inaccurate results.
So, we are looking for a search using the above 2 searches. Whenever current queue depth (Search 1) in our MQ is "zero", then "Oldest Message Age" (Search 2) should be "Zero".
Can some one please help us?
Glad to see you found two working solutions through @woodcock and @somesoni2. Please be sure to resolve the post by clicking "Accept" directly below the answer that you decided to go with, and upvote them both for helping you out.
| noop | stats count AS Oldest_Message_Age_in_mins | eval Oldest_Message_Age_in_mins=if(([index=db source="Queue.Depth" | head 1 | return $Current_Depth] = 0), 0, [index=db source="Queue.OldestMessageAge" | head 1 | return $Oldest_Message_Age])
Try like this
index=db source="Queue.OldestMessageAge" |head 1|table Oldest_Message_Age | appendcols [search index=db source="Queue.Depth"|head 1 | table Current_Depth ] | eval Oldest_Message_Age=if(Current_Depth=0,0,Oldest_Message_Age)| rename Oldest_Message_Age as "Oldest_Message_Age_in_mins"