如果与特定模式匹配的消息重复次数超过限制,如何跳过该消息?

如果与特定模式匹配的消息重复次数超过限制,如何跳过该消息?

如果消息出现的频率超过给定的限制,是否有可能stop匹配该消息?我想实现这样的目标:

if $programname == "foo" and
   $msg contains "bar" then {
  action(type="continue" action.execonlyonceeveryinterval="7200")
  & stop
}
# Further processing of messages.

但显然没有这样的continue行动或无操作行动。

答案1

不可以,这是不可能的。您只能根据日志内容进行过滤。

但是你可以使用omprog 模块. 然后脚本可以检查消息被接收的次数。

module(load="omprog")

if $msg contains "bar" then {
    action(type="omprog" binary="/path/to/script.py --param1=\"some param value\"")
}

相关内容