Эффект домино в Cloudflare: одно обновление уничтожило более половины данных

Сбой помогает ответить на вопрос – можно ли полностью доверять системам аналитики?


x56gw4fom3fn8hxskkf6eknr06cc6di5.jpg


Cloudflare сообщила о сбое в своей услуге логирования данных Cloudflare Logs , вызванном ошибкой в обновлении ПО. Инцидент произошёл 14 ноября и длился около 3,5 часов, что привело к утрате примерно 55% собранных логов.

Cloudflare Logs используется для сбора данных, генерируемых облачными сервисами, и их последующей отправки клиентам для анализа. Логи помогают в отладке, настройке конфигураций и создании аналитики, особенно в сочетании с данными из других источников, таких как серверы приложений. Однако из-за большого объёма данных обработка может становиться сложной. Для оптимизации Cloudflare применяет инструмент Logpush , который объединяет логи в пакеты фиксированного размера и отправляет их с определённой периодичностью.

Проблема возникла после внесения изменений в Logpush, предназначенных для поддержки нового набора данных. Обновление оказалось с ошибкой, из-за которой Logfwdr – система, отвечающая за подготовку логов к отправке, – «решила», что у клиентов отсутствуют настройки для передачи данных. В результате перестали отправляться логи, а значительная их часть была утрачена.

Хотя сотрудники Cloudflare обнаружили проблему и отменили изменение менее чем за 5 минут, это вызвало вторую ошибку в Logfwdr. Вместо передачи данных только для тех клиентов, у которых была активирована услуга Logpush, система начала обрабатывать логи всех клиентов. Перегрузка данных привела к сбою и дальнейшей утрате файлов.

Cloudflare признала свою ответственность за инцидент, отметив, что предпринятые меры по предотвращению таких ситуаций были недостаточны. В качестве примера компания сравнила ситуацию с непристёгнутым ремнём безопасности в автомобиле: все системы безопасности работают, но теряют смысл, если не соблюдены основные правила.

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