The snapmon plugin makes it easy to make sure your application is being monitored. When you install the plugin, it will ask you a series of questions on who should be notified when your app goes down. It will then setup a snapmon.yml file in /config. You can further customize your monitoring from there.
As a plugin
Run the following in the command line in your projects root directory:
script/plugin install git://github.com/ryanstout/snapmon.git
The script will then walk you through setting up a snapmon.conf file, which will contain settings on who to notify when your application goes down.
If you use capistrano, it will automatically update the settings in snapmon.yml whenever you deploy. If not you can run:
As a gem:
Place the following in your environment.rb file:
rake gems:install script/generate snapmon_config
For gem users to automatically push your config settings add the following to your deploy.rb
Each time you deploy (using Capistrano), your configuration will be updated on snapmon.com
See config/snapmon.yml for details on configuring monitors.
If you are scheduling maintenance, you can disable the monitors for a time. Simply run:
cap snapmon:disable cap snapmon:enable
You can also use rake if you are not using capistrano
Why A Plugin/Gem?
Basically all this plugin does is setup your monitors on Snapmon.com from within a config file. You may ask why not just go to the site and enter the config there. The main benefit is that you can keep all of your data in your code base. This lets anyone working on the project manage what should trigger an alert and who the alerts should go to.
Having everything in the repository is nice, I would compare it to using a gem like whenever to manage cron jobs. If its not in the repository, when something changes you will forget to update it.
Also, the plugin/gem makes it really easy to get new projects monitored.
Copyright © 2010 Ryan Stout, released under the MIT license