Современные реалии таковы, что не каждый бизнес может себе позволить сайт, особенно стартующий бизнес. Поэтому выгодно воспользоваться конструктором сайтов, например filandor.com . Запуск сайта через несколько минут.

Этот пост также доступен на немецком, французском, испанском, 简体中文, 繁體中文, 日本語 и 한국어.

Представляем уведомления об аномалиях HTTP-трафика

Когда дело доходит до управления Интернет-ресурсами, разница между небольшим техническим сбоем и серьезным инцидентом часто заключается в скорости. Проактивное оповещение играет решающую роль, поэтому мы были очень рады, когда выпустили уведомления о частоте ошибок HTTP, которые позволяют администраторам видеть, когда конечные пользователи сталкиваются с ошибками.

Но что, если есть проблемы, которые не проявляются в виде ошибок, например внезапное падение трафика или резкий скачок?

Сегодня мы рады объявить об уведомлениях об аномалиях трафика, доступных корпоративным клиентам. Эти уведомления срабатывают, когда Cloudflare обнаруживает неожиданные изменения в трафике, предоставляя еще одну ценную информацию о состоянии ваших систем.

Неожиданные изменения в дорожном движении могут свидетельствовать о многом. Если вы управляете сайтом электронной коммерции и видите всплеск трафика, это может быть хорошей новостью — возможно, клиенты стекаются на вашу распродажу, или вы только что показали рекламу в популярном телешоу. Однако это также может означать, что что-то идет не так: возможно, кто-то случайно отключил правило брандмауэра, и теперь вы видите больше вредоносного трафика. В любом случае, возможно, вам захочется узнать, что что-то изменилось.

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

Как мы можем определить, когда следует предупредить?

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

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

Однако анализ общего HTTP-трафика больше похож на анализ событий безопасности Cloudflare: существует некий общий базовый уровень событий, рассчитываемый на основе исторических тенденций. Любое отклонение от этого базового уровня заслуживает предупреждения. Из-за этого сходства мы решили использовать для уведомлений об аномалиях трафика те же расчеты, которые мы ранее использовали для уведомлений о событиях безопасности: z-показатели. Это предполагает сравнение текущего значения со средним за определенный период времени. Тем не менее, Z-показатель находится на многих стандартных отклонениях от среднего значения текущего значения.

График HTTP-трафика в зависимости от z-показателей. Синий — это HTTP-трафик, фиолетовый — положительная граница z-показателя трафика, а зеленый — отрицательная граница z-показателя трафика.

Для уведомлений об аномалиях трафика мы сравниваем трафик за последние 5 минут (короткое окно) со средним значением трафика за последние 4 часа (длинное окно). Положительные z-показатели указывают на всплеск, а отрицательные z-показатели указывают на падение. Если текущее значение отличается от среднего более чем на 3,5 стандартных отклонения, мы предупреждаем. Мы проводим измерения каждые 5 минут, поэтому можем своевременно оповещать о любом скачке или падении трафика.

Зеленое ведро — длинное окно, а красное — короткое.

Хотя наши уведомления о событиях безопасности срабатывают только при всплеске событий безопасности (снижение почти всегда хорошо), в случае аномалий трафика мы отправляем уведомления для обоих всплесков. и капли. Это связано с тем, что падение HTTP-трафика, скорее всего, указывает на проблему, а его всплеск может быть как хорошим, так и плохим.

Как и в случае с событиями безопасности, уведомления об аномалиях трафика поддерживают минимальные пороговые значения. Это означает, что даже если мы определим, что событие находится за пределами 3,5 стандартных отклонений, если количество событий незначительно, мы не выдадим предупреждение. Пик должен составлять не менее 200 запросов, а падение должно падать как минимум на 200 запросов. Это делает уведомления менее шумными, поскольку мы не оповещаем о небольших скачках и падениях.

Копаем немного глубже

Cloudflare хранит выборочную статистику по запросам, проходящим через его сеть, в Clickhouse. Каждую минуту мы берем HTTP-трафик от Clickhouse и сохраняем его в экземпляре VictoriaMetrics, решении для хранения данных временных рядов. VictoriaMetrics бесплатно предоставляет нам готовые алгоритмические функции, и они хорошо подходят для нашего варианта использования. Мы выбрали VictoriaMetrics по нескольким причинам.

Во-первых, он прост в настройке и эксплуатации. Как команда, мы хотим оптимизировать операционную нагрузку, и VictoriaMetrics на данный момент работает отлично. Во-вторых, VictoriaMetrics имеет возможность горизонтального масштабирования, что означает, что мы можем запускать его в режиме высокой доступности. Для такой системы, где нам нужно что-то надежное для вычисления чувствительной ко времени информации для наших клиентов, требование высокой доступности имеет важное значение. Наконец, в ходе наших тестов мы обнаружили, что VictoriaMetrics использует около ⅓ памяти, которую Prometheus, аналогичный альтернативный продукт, использовал для того же варианта использования.

Получив данные в VictoriaMetrics, мы можем выполнить к ним запросы и определить, нужно ли нам предупреждать наших клиентов или нет, на основе заранее созданных ими конфигураций уведомлений. Для этого мы используем нашу существующую систему уведомлений о предупреждениях, о которой мы впервые писали в блоге в 2019 году. Мы знаем, что можем рассчитывать на нашу текущую систему уведомлений на последней миле, чтобы доставить эти важные уведомления нашим клиентам.

Поток данных от HTTP-запроса к уведомлению
Настройка уведомления

Чтобы настроить это уведомление, перейдите на вкладку «Уведомления» панели управления. Выберите «Аномалии трафика» в качестве типа уведомления. Как и в случае со всеми уведомлениями Cloudflare, вы можете назвать и описать свое уведомление, а также выбрать, как вы хотите получать уведомления.

Уведомление об аномалиях дорожного движения на панели управления

Вы можете выбрать, какие домены вы хотите отслеживать на предмет аномалий трафика, хотите ли вы включить трафик, который уже смягчен продуктами Cloudflare DoS или WAF, а также есть ли определенные коды состояния, которые вы хотите включить или исключить. Вы также можете выбрать, хотите ли вы получать оповещения о всплесках, падениях трафика или о том и другом.

Мы рады использовать эту систему, чтобы предоставлять нашим корпоративным клиентам ценные уведомления об общем состоянии их систем. Перейдите на вкладку «Уведомления» на панели инструментов, чтобы проверить это новое уведомление прямо сейчас!