Overview
Rearview is a real-time monitoring framework that sits on top of Graphite's time series data. This allows users to create monitors that both visualize and alert on data as it streams from Graphite. The monitors themselves are simple Ruby scripts which run in a sandbox to provide additinoal security. Monitors are also configured with a crontab compatible time specification used by the scheduler. Alerts can be sent via email, pagerduty, or campfire.
This is a port of the original rearview re-written as a Ruby on Rails application. Although the bulk of the code has been running in production for almost a year, it was refactored to work as a rails engine to better suit open sourcing. Currently we consider this release candidate quality, and welcome contributions.
Go here for a more detailed overview of rearview
Requirements
- jvm 1.6+
- jruby 1.7.5+
- ruby manager (rvm or rbenv)
- graphite
- mysql (or other supported database)
Getting Started
Get it
Download the latest release.
If not running mysql
Select a supported jdbc driver and add it to the Gemfile and bundle install. See activerecord-jdbc-adapter site for more details.
The installation defaults to the jdbc/mysql adapter, which is already included, so this step is not necessary if you are using mysql.
Edit config/database.yml
Configure per your selected database driver and database connection settings. See Configuring Rails for more details.
Run the setup script
$ bin/setup
Configuration
Before running rearview you must specify a few settings. The configuration file location is:
config/initializers/rearview.rb
You must set config.graphite_url and config.sandbox_exec for rearview to run properly. Most of the other settings you should be able to leave as is.
Verify configuration
$ rake RAILS_ENV=production rearview:config:verify
Running
$ foreman start
This will start rearview on port 3000 (http://localhost:3000).
Sign-in with the default user admin@localhost and password admin
Contributing
We encourage you to contribute to Rearview. Please check out the rearview-engine repository for more details.
Team
Name | Role | GitHub | |
Steve Akers | Product Manager | @SteveAkers | https://github.com/steveakers |
Trent Albright | Architect/Lead developer | @trent_albright | https://github.com/talbright |
Ian Quattlebaum | Lead Front End developer | @ianqueue | https://github.com/ianqueue |
Jeff Simpson | Architect/Lead developer | @fooblahblah | https://github.com/fooblahblah |