Elastalert2 реалерт каждые 5 минут и группирует количество попаданий
Прошу вашего совета и помощи.
В настоящее время мой Heartbeat будет отслеживать состояние системы каждые 5 минут. Затем он сохранит данные в Elasticsearch. Мой Elastalert2 получит дату из Elasticsearch.
у меня 2 системы мониторятся
- Приложение 1
- Приложение 2
Ниже мои ожидания
- отслеживайте каждые 5 минут, и если он набрал 6 ударов для группы или отдельного человека из 6 ударов за последние 30 минут, чтобы вызвать и предупредить
Ниже мой код Elastalert2 config.yml
run_every:
minutes: 1
buffer_time:
minutes: 5
правило.yml
type: "frequency"
index: "filebeat-*"
realert:
minutes: 5
num_events: 6
timeframe:
minutes: 30
filter:
- term:
monitor.status.keyword : "down"
- terms:
monitor.id.keyword : ["Application-1", "Application-2"]
Допустим, ниже указано время выполнения Elastalert2.
и, скажем, ниже указано время выполнения Heartbeat
5:00
5:05
5:10
5:15
5:20
5:25
5:30
5:35
Не то, что это происходит, это то, что
- Он подсчитывает количество попаданий отдельно как Приложение-1 как 3 попадания и Приложение-2 как 3 попадания, вызывая срабатывание предупреждения в 5:10, а не группируя вместе как Приложение-1 и Приложение-2 как 6 попаданий и вызывая предупреждение в 5:25
Кроме того, как только он запускает предупреждение, он ждет, пока не сработает еще 6. Я хочу, чтобы он считался с текущего времени до последних 30 минут, выполнял проверку и вызывал оповещение. Пример 5:25, 5:30, 5:35, так как система все еще не работает в течение последних 30 минут с текущего времени.