Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

суть механизма автокорреляции 

exception

внешняя система мониторинга - от нее прилетает alert, например, что сервер недоступен. сейчас реализованы три типа ивентов: exception, warning, information. 

регулярно, например, раз в 5 секунд, у нас происходит обмен данными по апи с системой мониторинга и системой симпл.

  1. в какой-то момент (такт синхронихзации) от внешней системы мониторинга приходит alert "сервер такой-то недоступен (красное событие)". 
  2. на стороне симпл, в соответствии с заданными настройками, создался ивент с типом exception, идентичный алерту, сервер такой-то недоступен. он имеет статус active.
  3. У нас задано: если возник один exception event - значит, надо создать инцидент. Мы готовимся это сделать. Сработал механизм автокорреляции. Его суть в том, что когда мы создаем инцидент из ивента, т.е. из ивента категории иксепшен мы создаем инцидент безусловно, из ивента категории варнинг нам нужно накопить такой же ивент, чтобы было не менее 2. Ивентов категории информейшен должно быть аномальное количество за промежуток времени, например, (такие ивенты самые незначительные, это, например, пользователь залогинился или разлогинился), это нормально иметь такие ивенты и ненормально, если у нас за 1 минуту поступит 50 таких ивентов, нужно в таком случае создавать инцидент.
  4. Вот когда у нас за период времени аномальный всплеск количества таких ивентов свыше заданного, у нас создаётся инцидент.

Вот зависимость от типа ивента и дальнейшие действия по регистрации инцидента это и называется механизм корреляции ивентов. Механизм дебаунс накладывается поверх него.

  1. Пришел ивент категории иксепшен.
  2. Мы готовы создать инцидент, но по истечении периода антидребезга.
  3. Ждем три минуты, заданный период антидребезга.
  4. Прошел этот период, мы смотрим на состояние ивента, а он уже "позеленел", т.е. состояние inactive. Потому что система мониторинга пролила новый статус на него за очередной такт синхронизации. И алерт позеленел, и ивент позеленел, они синхронизируются, соответственно, мы не создаем инцидент. Антидребезг помог нам избежать создания инцидента, который сразу же будет неактуален.

Ситуация другая

  1. Пришел ивент категории иксепшен.
  2. Мы так же готовы создать инцидент., но надо подождать на антидребезг.
  3. Антидребезг прошел, мы вернулись, система мониторинга подтверждает активный статус ивента, он действительно актуален, т.е. активен этот ивент, и мы незамедлительно создали инцидент.

В случае варнингов. Тут логика сложнее.

Если тут сервер был недоступен, то у нас здесь просто, например, превышение порогового значения жесткого диска, осталось 50 мб. Мы создаем ивент на основе этого события. Поскольку у нас тип ворнинг, мы не кидаемся сразу запускать антидребезг и создавать инцидент. У нас по правилам, если ивент варнинг, то надо подождпть такого же второго активного ивента, что и происходит. Через заданный промежуток времени синхронизация происходит, доставляется ивент, уже с другим порогом, осталось 40 мегабайт. Правило удовлетворилось, мы приступаем к антидребезгу. Мы ожидаем антидребезг 3 минуты, как настроено, возвращаемся и видим, что немного место освободилось и стало место 45 свободно. Т.е. остался один ивент. Мы инцидент не создаем. Возвращаемся в исходное состояние. Опять приходит ивент о том, что 50 мегабайт осталось, ждём следующий, ничего не делаем, приходит ещё один, что осталось 40, мы опять запускаем антидребезг, ждём, тут ещё насыпалось, что осталось 30 и 20 мегабайт. Мы незамедлительно создаем инцидент о том, что заканчивается место на диске. 

А в случае информейшен задается период времени. Нам нужно, чтобы поступили однотипные события, одинаковые за период времени , т.е. надо, чтобы было, скажем, больше 10 за 1 минуту таких. Этим и отличается тип информейшен от остальныхт типов.

Антидребезг - это только задержка в регистрации, а автокорреляция - это как раз тип ивента, один из трёх, иксепшен, варнинг, информейшен, и правило, то есть, задача этих правил, настройка этих правил. Эксепшены тоже гибки, может, какой-нибудь клиент тоже захочет, если эксепшен, надо, чтобы было 2 экспешена, и тогда только создавался инцидент.