I have an alert which I am trying to throttle based on few fields from the alert on condition if it triggers once then it shouldn't trigger for next 3 days unless it has different results.
But the alert is running every 15 mins and I can see same results of the alert every 15 mins.
My alert is outputting the results to another index
Example:
blah blah
, , , , ,
, , ,
| collect index=testindex sourcetype=testsourcetype
Based on my research, I came across a post where it says
Since a pipe command is still part of the search, throttling would have no effect o because the search hasn't completed yet and can't be throttled. I think this because the front end says After an alert is triggered, subsequent alerts will not be triggered until after the throttle period, but that doesn't say "they aren't run"
Is it the case? If so how can I stop updating the duplicate values in my index
Yes. I would understand it this way. The search will be run but the alert will not be triggered for the throttle period. So side efects of the search (outputlookup, sendemail, whatever) will be run on each search run
Just about every Splunk query contains a pipe so I question the accuracy of the post you quoted.
My theory (and I can't find any documentation to support it) is the collect command does not return the field being throttled so the alert cannot be throttled. The collect command is used to write results to an index and is used to populate summaries more than it is to trigger alerts. I suggest having two searches - one to populate testindex and other other to read testindex and trigger the alert.