I think you'd be best served using a lookup table to define the limits, then filtering those where the count is greater than the limit with where . Example configuration below.
agent_limits.csv:
agent,limit
nfc*,700
mm_write,5000
breeze,1500
megafon_bitmap,1000
bankm_cashback,5000
*,7000
transforms.conf:
[agent_limits]
filename = agent_limits.csv
match_type = WILDCARD(agent)
max_matches = 1
Run anywhere search demonstrating functionality:
| makeresults | eval agent="nfc1", count=650
| append [| makeresults | eval agent="nfc2", count=750]
| append [| makeresults | eval agent="breeze", count=5001]
| lookup agent_limits agent OUTPUT limit
| where count>=limit
The key components are match_type = WILDCARD(agent) in transforms.conf and *,7000 . The former tells Splunk that it should treat * in a lookup file as a wildcard and thus allow partial matches. The latter is a default limit, applied when no other agent matched. That default lookup needs to be last in the lookup file.
... View more