Об этом проекте

Edgemetry предлагает самостоятельное решение для веб-аналитики, которое полностью работает на ребрах Cloudflare. Один Cloudflare Worker вместе с базой данных D1 хранит необработанные события и агрегированные данные, исключая необходимость дополнительной инфраструктуры серверов или контейнеров. Скрипт отслеживания имеет размер около 2,1 КБ, загружается с того же домена, что и анализируемый сайт, и не устанавливает куки, не использует localStorage и не выполняет фингерпринтинг. Идентификация посетителей основана на ежедневно изменяемом хеше IP-адреса и user-agent. Необработанные записи событий удаляются через 24–48 часов, оставляя только агрегированные данные. Поскольку личные данные не сохраняются, система соответствует требованиям GDPR без необходимости отображения баннера согласия. В панели управления отображаются метрики, такие как количество посетителей, просмотров страниц, просмотров на посещение, коэффициент отказов и среднее время на сайте. Каждая метрика показывается с помощью sparkline и сравнения с предыдущим периодом. Интерфейс поддерживает стекируемые фильтры: клик по любой строке одновременно уточняет все панели, позволяя разбивать данные по страницам, входящим страницам, выходящим страницам, реферерам, странам, браузерам, операционным системам, устройствам, размеру экрана и меткам UTM. Реальная хороплетическая карта рендерится непосредственно из Worker, а живой счетчик отображает текущих онлайн-пользователей, трафик за последние 30 минут и список страниц, которые читаются прямо сейчас. Можно управлять несколькими сайтами из одного развертывания, каждый со своим сниппетом и изолированными данными о трафике. Роли пользователей включают Владельца (полный доступ) и Просмотрщика (только чтение явно предоставленных сайтов). Разрешения применяются на стороне сервера, и владельцы не могут понизить уровень своего аккаунта или удалить его, предотвращая случайную блокировку. Архитектура оптимизирована под бесплатный тариф Cloudflare. Необработанные события записываются в таблицы по часам без индексов, стоимость одной записи на просмотр. Ежедневные агрегации и куб статистики обеспечивают агрегированные данные для фильтрованных запросов, сохраняя затраты на запись примерно в 1,2 строки на просмотр. Чтения оптимизированы путем сканирования один раз при загрузке панели управления и группировки результатов для всех панелей, значительно снижая количество операций чтения из D1. Бесплатный тариф позволяет комфортно обрабатывать около 20 000 посещений в день; при превышении этого порога повышение плана Worker устраняет все ограничения. Развертывание упрощено с помощью кнопки «один клик», которая создает базу данных D1, настраивает Worker и устанавливает пользовательский домен. После развертывания пользователь активирует экземпляр через форму настройки, добавляет предоставленный сниппет в head сайта и панель управления автоматически заполняется. Продвинутые пользователи также могут развернуть систему через командную строку с помощью Wrangler. Переменные конфигурации в wrangler.jsonc позволяют регулировать срок хранения данных по часам, включать или отключать куб фильтрации, задавать количество итераций PBKDF2 для хеширования паролей и переключать автоматическую проверку обновлений. Система включает cron-задачи для ежечасных и ежедневных агрегаций, которые восстанавливаются самостоятельно при пропуске выполнения. Доступна демонстрационная версия, которая запускает панель управления с синтетическим бэкендом, показывая все функции без необходимости реального развертывания. Автоматизированные тесты проверяют согласованность API между реальным Worker и макетной реализацией. В целом, Edgemetry предоставляет платформу аналитики с уважением к конфиденциальности и минимальной нагрузкой, которую можно запустить на личном аккаунте Cloudflare с минимальными затратами и инфраструктурой.