Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A tiny, nimble & hackable system monitoring framework
JavaScript Ruby CSS HTML
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
initializers correction for start - since its not really a restart operation, log …
lib
log
spec
tmp/pids
.travis.yml
Changelog.rdoc
Dockerfile
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
TODO.rdoc
VERSION
config.rb
config.ru
ragios
server.rb

README.md

Ragios (Saint Ruby)

Build Status

Ragios can be used to monitor any type of system including websites, servers, system services and web applications.

Sample usage to monitor a website for uptime in Ruby code:

monitor = {
  monitor: "My Website",
  url: "http://mysite.com",
  every: "5m",
  contact: "admin@mail.com",
  via: "email_notifier",
  plugin: "uptime_monitor"
}

ragios.add(monitor)

The above example adds a monitor to Ragios, the monitor uses an "uptime_monitor" plugin to monitor the website "http://mysite.com" for uptime. This monitor runs tests on the website every 5 minutes, if it detects the website is down, it sends an alert email to "admin@mail.com" via an email notifier.

Features:

A small and minimal extensible design:

  • Users can add, update, start, stop, restart and delete monitors in simple Ruby code. See details

  • Plugins

    • Ragios relies on plugins to perform tests on different types of systems. The plugins are plain old ruby objects, any test that could be performed in ruby code could be performed by Ragios. Developers can create plugins to meet their specific needs.
  • Notifications & Notifiers

    • Notifications are sent out when a test fails and when the test passes again.
    • Notification messages are generated from ERB templates which developers can easily customize.
    • Multiple email addresses could be added to a monitor, so that when a test fails it notifies all the email addresses simultaneously.
    • Ragios relies on Notifiers to send out notifications. The notifiers are pluggable plain old ruby objects. Any type of notification that could be implemented in Ruby code can be sent by Ragios, notifications by email, SMS, twitter etc. Developers can create notifiers to meet their specific needs.
    • Ragios ships with a Gmail Notifier that sends notifications via gmail, Amazon SES notifier that sends notifications via Amazon Simple Email Service, and a twitter notifier that tweets notifications on twitter.
    • Multiple notifiers could be added to one monitor, so when a test fails it could send out notifications via all the notifiers simultaneously. Example a monitor could be setup to send notifications via email, SMS and twitter simultaneously.
  • REST API is available for interacting with Ragios.

  • Ragios includes a Ruby client library that makes it easy to interact with Ragios directly with ruby code.

  • A Ragios instance running on a remote server can be controlled from anywhere using the Ruby client library or the REST API.

I'm doing this just for fun and educational purposes.

Documentation:

License:

MIT License.

Copyright (c) 2014 Obi Akubue, obi-akubue.org

Something went wrong with that request. Please try again.