Вот уже который раз убеждаюсь, что самые неожиданные проблемы могут возникнуть из самого обычного места. Случилось это на прошлой неделе, в четверг. Как обычно, день начинался с потока тикетов, и где-то к обеду начались первые звоночки: пользователи жалуются на недоступность одного из наших ключевых сервисов. Проверил логи — ничего криминального, система откликается, но с задержками, которые никак не укладываются в нормы. Замерил скорость отклика — скачет от 50 мс до 5 секунд. Это явно не штатный режим.
Начал копать глубже. Перебрал все последние деплои, изменения в конфигурации, сетевые настройки. По ттх все должно было работать как часы. Привлек коллег из смежного отдела, те тоже разводили руками. А время идет, недовольство клиентов растёт, и, соответственно, падают наши показатели. Это уже просачивается и в новости, мол, компания X испытывает технические трудности.
К вечеру, когда уже хотелось махнуть рукой, пришла интуитивная мысль: а не может ли это быть связано с каким-нибудь внешним фактором, на который мы обычно не обращаем внимания? Ну типа, мы же все время смотрим на внутреннюю кухню, а тут... Открыл мониторинг трафика. И вот он, крупный, как слон в посудной лавке: резкий скачок входящего трафика с определенного IP-адреса, который просто заваливал наш балансировщик запросами. Они не были зловредными, просто их было ОЧЕНЬ много. Как будто кто-то запустил скрипт, который решил проверить все возможные комбинации на нашем API. Нагрузка была такая, что серверы просто не успевали обрабатывать обычные, легитимные запросы
Короче, пришлось оперативно перенастроить файрвол, добавить правила для блокировки этого аномального трафика. И, о чудо, система ожила. Все вернулось в норму за считанные минуты. Оказалось, какой-то студент-энтузиаст решил протестировать наш API, запустив какой-то самописный анализатор, не подумав о последствиях. Вот тебе и аналитика.
История, конечно, с юморком, но имхо, это ещё раз показывает, что нельзя недооценивать человеческий фактор.