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

ActiveAnalytics — это движок Rails, который можно непосредственно смонтировать внутри приложения Ruby on Rails для предоставления простой аналитики трафика первой стороны. Его заявленная цель дизайна — конфиденциальность: он не собирает cookies, не поставляет JavaScript, не зависит от сторонних сервисов, и поэтому не является тем, что блокировщики рекламы или расширения конфиденциальности должны блокировать. Что отображает панель мониторинга - Источники: страницы и домены, которые приводят трафик к приложению. - Просмотры страниц: какие страницы просматриваются чаще всего. - Следующая/предыдущая страница: входные и выходные страницы, связанные с данной страницей. - Статистика браузеров: какие браузеры и их версии посещают сайт. В README подчеркивается, что инструмент не раскрывает никакой информации об отдельных посетителях. Установка Добавьте гем в Gemfile, выполните bundle, установите и запустите миграции движка, затем смонтируйте движок на выбранном эндпоинте в config/routes.rb: gem 'active_analytics' bundle rails active_analytics:install:migrations rails db:migrate # config/routes.rb mount ActiveAnalytics::Engine, at: "analytics" По умолчанию панель мониторинга наследуется от ActionController::Base. Пользовательский базовый контроллер можно настроить через ActiveAnalytics.base_controller_class в инициализаторе. Сбор трафика Документированы два подхода. Синхронный вариант вызывает ActiveAnalytics.record_request(request), обычно из обратного вызова after_action в ApplicationController; он самый простой в настройке, но записывает в базу данных при каждом запросе. Асинхронный вариант вызывает ActiveAnalytics.queue_request(request), помещая данные в Redis, поэтому запись в базу данных не происходит при каждом запросе; помещённые данные позже сохраняются вызовом ActiveAnalytics.flush_queue из задачи cron или фонового задания. В README рекомендуется регулярно сбрасывать очередь и делать последний сброс дня в 23:59, чтобы дневные показатели не смещались на следующий день. Redis можно настроить через ActiveAnalytics.redis_url или пользовательское соединение ActiveAnalytics.redis. В примерах рекомендуется записывать только ответы HTML, фильтровать по каноническому домену и использовать гем для обнаружения ботов, чтобы пропускать краулеры. Чувствительные URL, такие как страницы сброса пароля, можно исключить с помощью skip_after_action. Аутентификация Поскольку аутентификация различается в зависимости от приложения, движок не предполагает схему. В README показано monkey‑patch‑ирование ActiveAnalytics::ApplicationController с before_action, который генерирует ошибку маршрутизации для не‑администраторов, требуемое из config.after_initialize, чтобы не перезагружаться в режиме разработки. При использовании Devise монтирование можно вместо этого обернуть блоком authenticate в routes.rb. Лицензирование и происхождение ActiveAnalytics распространяется как открытое программное обеспечение под лицензией MIT и создан компанией Base Secrète, которая также разрабатывает инструмент мониторинга Rails RoRvsWild.