Системы мониторинга ежесекундно собирают тысячи параметров с сотен систем, визуализируя данные в виде графиков и предупреждая админа о превышении установленного значения. Но преодоление порога не всегда означает проблему, оно может быть вызвано рядом факторов. Причем нагрузочное тестирование отличается от действий реальных пользователей весьма серьезно. Увидеть зависимости в большом числе таблиц и графиков практически нереально, как и установить правильное значение порогов для метрик.

 

Проблемы мониторинга сложных сетей

Для мониторинга IT-инфраструктуры разработано множество инструментов, в том числе и под open source лицензиями: Nagios, клоны Shinken и Icinga, StatsD, Zabbix, Cacti и другие. Очевидные проблемные ситуации, такие как загрузка CPU или RAM, свободное место на харде, дисковые операции, просты в понимании, легко отслеживаются при помощи установленных порогов, корректируемых для каждого конкретного случая, в том числе и по результатам нагрузочного тестирования. Получаемые графики наглядны, и такой способ покрывает большинство потребностей и рекомендуется как единственный. Но сегодня системы очень сложны, и, главное, их количество растет. На сервере могут работать сотни виртуальных машин, обменивающихся информацией с другими, и поэтому проблема, снижающая производительность, часто неочевидна, а алерты молчат. Количество метрик уже исчисляется сотнями, настройка и подстройка их всех требует времени. И главное — чтобы уследить за ними всеми, требуется уже серьезная команда.

Но это еще не все. Реальная модель поведения пользователя отличается от идеальной, заложенной разработчиками приложения, которую можно проверить под нагрузкой и прописать в шаблоны мониторинга. Построенные на правилах оповещения являются пороговыми, то есть мы получаем предупреждение, когда уже что-то произошло и нужно срочно принимать меры. Их статичный характер приводит к тому, что нередко выдаются ложные срабатывания (false positives) во время пика нагрузки и пропускаются знаковые события (false negatives) в обычной работе.

В итоге для того, чтобы найти проблему, нужно отследить не только множество данных, но и зависимости, полученные из нескольких источников в течение продолжительного времени, показывающих значение в пределах допустимого порога (то есть обычно выпадающих из зоны внимания). Вручную сделать это просто нереально, придется обработать большое количество данных, не зная, что искать и как должен выглядеть результат. Здесь уже придется задействовать автоматизацию, использующую разные математические модели, которые помогают обнаружить опасные ситуации до того, как они стали критическими.

 

Из чего выбираем

Средства обнаружения аномалий в поведении приложений развивались двумя способами: одни анализировали события в журнале (есть ли подозрительные записи) или считывали цифры, другие использовали метрики, полученные от различных инструментов мониторинга. Но общий принцип их работы прост. Чтобы понять закономерности поведения, предсказывается вероятный диапазон будущих значений; если оно не совпадает с текущим, регистрируется аномалия. Также используются различные формы прогнозирования, обеспечивающие точность результатов и предсказание состояния системы. Сегодня уже доступно несколько рабочих решений, легко подхватывающих любую сеть, адаптирующихся к изменениям среды и не требующих длительного обучения.

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


Комментарии

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

Скрытая сила пробела. Эксплуатируем критическую уязвимость в Apache Tomcat

В этой статье мы поговорим о баге в Apache Tomcat, популярнейшем веб-сервере для сайтов на…