Depository of News

1.5 миллиона событий в день и ни одной таблицы events: как мы считали продуктовую аналитику 300K-бота по голому проду

newsdepo.com · sport

<img src="https://habrastorage.org/getpro/habr/upload_files/470/d50/c22/470d50c22087b0b09079de98452e8a61.jpg" /><p>Маркетолог прислал мне скрин дашборда и одно слово: «пусто».</p><p>На скрине — панель «Количество пришедших по реферальной ссылке за период». Ноль. Под ней — график регистраций. Тоже ноль. Ссылка, по которой он пришёл, вела на дашборд с фильтром по конкретному slug — тому самому, который он неделю крутил в закупке.</p><p>Я открыл ту же ссылку, поменял в урле <code>from=now-6h</code> на <code>from=now-30d</code> и увидел 16 регистраций.</p><p>Дефолтный интервал в Grafana — 6 часов. У бота ночью в этой гео никого нет. Аналитика работала идеально и показывала абсолютно честный ноль.</p><p>Это самая безобидная из историй, которые тут будут. Дальше — про то, как мы строили продуктовую аналитику для Telegram-бота с AI-персонажами на <strong>~300K MAU, ~75 RPS в пике и ~1.5M событий в день</strong>: без ClickHouse, без Amplitude, без единой event-таблицы. Двенадцать дашбордов в Grafana поверх боевой MySQL. Три из них какое-то время врали, и это выяснилось не сразу.</p><p>Главный парадокс всего проекта помещается в одну строку: <strong>через систему проходит полтора миллиона событий в день, и ни одно из них не записано как событие.</strong> Есть только строки в продуктовых таблицах и их <code>created_at</code>. Всё, что вы прочитаете ниже, — следствие этого факта.</p><p>Статья — не туториал «подключите MySQL к Grafana за 10 шагов». Это разбор того, что происходит, когда продуктовые метрики приходится доставать из схемы, которую проектировали под продукт, а не под аналитику, — и когда по этим метрикам прямо сейчас решают, лить трафик дальше или нет.</p><p><em>Дисклеймер: проект под NDA, поэтому названия, точные объёмы и часть деталей изменены. Порядок величин, схема и сами проблемы — настоящие.</em></p> <a href="https://habr.com/ru/articles/1078480/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=1078480#habracut">Читать далее</a>

Read full article →