【发布时间】:2020-10-07 10:32:46
【问题描述】:
我正在编写Elastalart 心跳规则,即如果服务或机器停机,我应该得到通知。现在我可以为每个文件创建一个服务规则,如下所示。
name: My Alert
type: frequency
index: heartbeat-*
num_events: 5
timeframe:
minutes: 2
filter:
- query:
query_string:
query: "url.domain: MY_LOCALHOST01.local AND monitor.status: down"
alert:
- "email"
email:
- "user@example.in"
有什么办法,我可以指定多个规则吗??...我可以指定多个过滤器,如下所示
...
filter:
- query: # Filter 1
query_string:
query: "url.domain: MY_LOCALHOST01.local AND monitor.status: down"
- query: # Filter 2
query_string:
query: "url.domain: MY_LOCALHOST02.local AND monitor.status: down"
...
但 Elatalert 在所有过滤器上都考虑num_events。例如,我不想提醒Filter 1 获得 3 次点击和 Filter 2 获得 2 次点击,即 3+2=5 等于 num_events。
那么,num_events 有什么方法可以检查每个过滤器吗?就像如果Filter 1 获得 5 次点击,Filter 2 获得 3 次点击,那么我可以确认 MY_LOCALHOST01 真的 DOWN 并发送警报。
我不想要多个文件。很难管理/修改。
【问题讨论】:
-
您可以在单独索引的帮助下处理这个问题吗?如果没问题,我怀疑有一种方法。
-
我没听懂。独立索引是什么意思?
-
处理规则逻辑并检查是否发生足够的事件以触发警报的索引。
-
是的,当然。请建议:-)
-
您的
filters是否基于同一组字段?domain and status?
标签: elasticsearch elastalert elastic-beats