Выключил Elastalert на пару дней, теперь он запрашивает все данные, так как я выключил его - PullRequest
0 голосов
/ 27 ноября 2018

Я тестирую elastalert, и в среду перед праздничными выходными возникла странная проблема, поэтому я просто удалил все конфигурации предупреждений и перезагрузил elastalert, чтобы в выходные не было предупреждений.Теперь в понедельник я снова включил его, и он запрашивает все журналы начиная со среды, и мне понадобилось немало времени, чтобы наверстать упущенное.Я только хочу запросить последние данные.Это настройка?Как отключить его, если я хочу?

Вот пример конфигурации предупреждений:

name: alert-name

type: frequency
num_events: 500
timeframe:
  minutes: 60
realert:
  minutes: 60

index: index.name-*
filter:
- query:
    query_string:
      query: "message:\"Message\" AND context.debug.type.something"

alert_subject: "This alert happened"
alert:
- pagerduty:
    pagerduty_service_key: "nice_try_fbi"
    pagerduty_client_name: "company"

Вот что я вижу в журналах (сегодня 11/26)

INFO:elastalert:Queried rule alert-name from 2018-11-22 12:49 UTC to 2018-11-22 13:04 UTC: 83 / 83 hits
INFO:elastalert:Queried rule alert-name from 2018-11-22 13:04 UTC to 2018-11-22 13:19 UTC: 83 / 83 hits
INFO:elastalert:Queried rule alert-name from 2018-11-22 13:19 UTC to 2018-11-22 13:34 UTC: 89 / 89 hits
INFO:elastalert:Queried rule alert-name from 2018-11-22 13:34 UTC to 2018-11-22 13:49 UTC: 91 / 91 hits
INFO:elastalert:Queried rule alert-name from 2018-11-22 13:49 UTC to 2018-11-22 14:04 UTC: 87 / 87 hits

Посмотрите, как это запрашивает материал с 4 дня назад с 15-минутными приращениями?Таймфрейм установлен на 60 минут.Я только хочу запросить последние 60 минут.Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 27 ноября 2018

Я разобрался с ответом - похоже, что запоминание «состояния» того, когда последний запрос был выполнен, является функцией elastalert, как указано здесь в разделе Надежность: https://github.com/Yelp/elastalert/blob/master/docs/source/elastalert.rst#Reliability

Я также обнаружил, что он хранит«состояние» оповещений в индексах кластераasticsearch, на котором он работает: https://elastalert.readthedocs.io/en/latest/elastalert_status.html

Поэтому я просто удалил все индексы elastalert * вasticsearch, и кажется, что elastalert обработал оповещения как «новые» оповещения ине пытался обрабатывать данные с момента последнего успешного запуска.Возможно, есть лучший способ (например, через настройку оповещения?), Но у меня это сработало.

...