About this project
Snowfinch is an MIT-licensed realtime web analytics application written in Ruby and using MongoDB. It lets users track and visualize analytics for multiple sites. Current features include tracking pageviews, active visits, and visitors for a site; pageviews and active visitors for a given page; and monitoring based on a URI query key-value pair or any given number of referrers, which the README describes as useful for campaigns or social media visits. The README notes that it is less full-featured than commercial alternatives.
Setup requires recent Ruby (1.9.2 recommended) and MongoDB. After cloning, users edit config/database.yml and config/snowfinch.yml. Some information is stored in a relational database, with PostgreSQL as default, and the Gemfile can be adjusted for another Rails-supported database. Users run bundle, then rake db:setup to create a database and initial user, and launch with a Ruby app server such as Passenger or Unicorn. Default credentials are user@snowfinch.net / snowfinch, which should be changed.
For scaling data collection, Snowfinch provides the snowfinch-collector gem, a Rack application that handles collection and storing. It can be deployed separately on multiple hosts using a config.ru, with the same MongoDB database as the Rails app, and configured in config/snowfinch.yml. By default it is mounted at /collector in the Rails app, but running it separately avoids Rails router and middleware overhead. The roadmap lists planned but not current features: arbitrary time periods (currently past 2 days), collect/display referrer info, custom visitor tagging, geographic location, custom page metadata filters for A/B testing, and an asynchronous collector. Bugs via GitHub issues; contributions via pull requests with tests appreciated.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.