1

我有一个类型为频率的 elastalert。如果在 60 分钟内点击次数为 1000 或更多,则应触发警报。问题是,当它在 5-6 分钟内达到 1000 次点击时,它会触发警报,而不是等待整个 60 分钟的时间。我希望它在 60 分钟的时间结束后发出警报。我尝试添加一个 realert 60 分钟,但它仍然不起作用。只有在 60 分钟期限结束时才触发警报需要做什么?

type: frequency
index: logstash-*
num_events: 1000
timeframe:
  minutes: 60
realert:
  minutes: 60
query_key: site_name
filter:
- query:
    query_string:
       query: 'NOT site_name: "CCBDN" AND NOT namespace: master'
alert: my_alerts.AlertManager
labels:
  severity: major  
  slack: 'true'
  auto_resolve: 'false'
annotations:
  summary: Kibana is getting logs from sites other than CCBDN.
4

2 回答 2

1

我找到了解决方案。我使用了聚合,规则开始合并所有出现的警报并每小时触发一次。

aggregation:
  hours: 1
于 2019-11-18T14:33:02.073 回答
0
realert:
    minutes: 15

realert (time, default: 1 min) 这个选项对我有用。

来自文档 - 在一段时间内忽略重复警报。如果规则使用 query_key,则此选项将基于每个键应用。给定规则的所有匹配,或具有相同 query_key 的匹配,将在给定时间内被忽略。缺少 query_key 的所有匹配项将使用 _missing 值组合在一起。这适用于发送警报的时间,而不是事件的时间。它默认为一分钟,这意味着如果 ElastAlert 运行时间过长而触发了许多匹配,则默认情况下只会发送第一个警报。如果您想要每个警报,请将 realert 设置为 0 分钟。(可选,时间,默认1分钟)

于 2021-07-01T12:24:31.210 回答