Приватный мониторинг фронтенда: данные не уезжают
Обычная аналитика отправляет поведение ваших пользователей на чужой сервер. Тот же набор данных можно собирать у себя — стек для этого существует и открыт.
Стандартный способ узнать, как ведёт себя ваш сайт у пользователей, — поставить скрипт стороннего сервиса. Он соберёт метрики загрузки, ошибки скриптов, пути перемещения — и отправит всё это на сервер, который вам не принадлежит.
Данные о поведении ваших пользователей оказываются у третьей стороны. Это происходит по умолчанию, без отдельного решения, и обычно вообще не обсуждается как решение.
Что предлагается вместо
Тот же класс наблюдаемости, развёрнутый в вашей инфраструктуре: сбор данных из браузера, обработка и визуализация на вашем железе. Grafana и Faro — открытый стек, который делает именно это.
Данные остаются внутри и под вашим контролем. Не «обезличенно», не «в соответствии с политикой» — физически внутри.
Почему это не только про приватность
Приватность — самый очевидный аргумент, и он не единственный.
Сторонний скрипт — это внешний запрос на критическом пути загрузки страницы. Он влияет на те самые метрики, которые собирается измерять. Наблюдение, которое портит наблюдаемое, — известная проблема, и в вебе она вполне измерима.
Сторонний сервис — это ещё и подписка, тариф с лимитами и чужое решение о том, сколько данных вам оставить. Ретенция в бесплатных и средних тарифах обычно короче, чем срок жизни интересного бага.
И сторонний сервис — чёрный ящик. Вы видите его выводы, но не то, как они получены. Когда цифра выглядит странно, проверить её нечем.
Что теряется
Удобство старта. Сторонний сервис — это одна строка в разметке; свой стек — это развёрнутые компоненты, хранилище и место, где всё это работает.
Готовые отчёты. Коммерческие панели приходят с набором готовых представлений, придуманных за вас. В своём стеке их надо собрать.
Мы считаем, что второе — на самом деле преимущество, но обнаруживается это не сразу. Готовый отчёт отвечает на вопросы, которые кто-то счёл важными; ваши вопросы обычно другие.
Кому это нужно
Тем, у кого есть требование к размещению данных: медицина, финансы, госсектор, работа с персональными данными.
Тем, кто уже держит свою инфраструктуру и для кого добавить ещё один сервис — обычная работа, а не проект.
Тем, кому нужна долгая история. Годовой ряд метрик загрузки — это своё хранилище, потому что в тарифах его обычно нет.
Кому не нужно
Проекту, у которого нет своей инфраструктуры и нет причин её иметь. Ставить стек наблюдаемости, чтобы наблюдать за одним статическим сайтом, — это больше работы, чем стоит результат.
Мы говорим это прямо, потому что предмет продажи здесь — не сам стек, а контроль над данными. Если контроль вам не нужен, стек не нужен тоже.