Об этом проекте
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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.