Sha256: f2e3c40f70611cc743753cdeaed63e24734203457368c8b2a1a9968241dabfba
Contents?: true
Size: 1.82 KB
Versions: 1
Compression:
Stored size: 1.82 KB
Contents
SimpleMonitor ============= Send alerts based on simple monitored conditions in your app. It provides a basic skeleton for writing unique but consistent monitoring checks for your application. Examples of such checks are a Delayed::Job queue that is too full, too many failed logins in the last 5 minutes, or a remote service being unreachable. Installation ------------ install it via rubygems: ``` gem install simple_monitor ``` or put it in your Gemfile: ```ruby # Gemfile gem 'simple_monitor' ``` Usage ----- SimpleMonitor should be mixed in to a SomeConditionMonitor class ```ruby require "simple_monitor" class HighJobMonitor include SimpleMonitor # This is the most important method you should override # It returns true/false to determine if there's an alert def needs_alert? Queue.jobs.count > options[:job_count_threshold] end # Alert sending implementation of your choice. SimpleMonitor # leaves this up to you def send_alert Mailer.deliver_high_job_alert(Queue.jobs.count) end end monitor = HighJobMonitor.new(:job_count_threshold => 99) monitor.check ``` For a typical application, it could be desirable to define an AppMonitor class with a default send_alert method, and have your individual monitor classes inherit from that. A monitor class can take options on initialization; this is recommended for passing in thresholds, email addresses, or other dependencies. Logging ------- SimpleMonitor defaults its logger to a new Logger instance, or Rails.logger if that is defined. If you want to override this, do so in your class or via the `logger=` instance method. When running a `check`, the logger will be warned or provided with info whether an alert was needed. Note this is in addition to sending out an alert. #### Copyright Copyright (c) (2012) Brendon Murphy. See license.txt for details.
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple_monitor-0.0.3 | README.md |