Я пишу 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
действительно ВНИЗ и отправить предупреждение.
Мне не нужно несколько файлов. Было бы сложно управлять / модифицировать.