Upsilon is a distributed, flexible and extensible system monitoring application.
Distributed: Architectually, you run Upsilon nodes in your network where it makes sense. Either on every server, on a management network, inside or outside the firewall. You can run checks on secure, hard to reach networks and push those results to a central server.
Flexible: If you can script it, you can monitor it. It is as simple as that. Unlike most monitoring systems, the monitoring scripts are EXTERNAL to the main server - this means you can use Upsilon to execute your monitoring scripts in an extremely robust way. Upsilon ships with 20 monitoring scripts and is totally API compatible with all nagios monitoring scripts. The API is extremely simple - any novice programmer can intigrate their monitoring with Upsilon in minutes.
Extensible: You can add monitoring checks to Upsilon at runtime - without needing to restart the server. A list of services that Upsilon has been used to monitor are below:
Upsilon has been used to...
- check ping times (check_ping)
- check for new IP devices on a local network (check_local_network))
- check for valid dns records (check_dns)
- check hard drives for SMART status (check_ide_smart)
- check cpu load (nagios:check_load)
- check if http server is running (check_http)
- check unread messages in imap email accounts
- check RSS reader for unread items (check_ttrss and check_greader)
- check json output of varios web services (check_json_empty)
- check for domains that are about to expire (check_domain_expiry)
See the checks category on this wiki for a more comprehensive list.
It can monitor absolutely anything and send those results to a central server. Like this:
You probably have some faqs.
Upsilon is made up of 3 separate software projects - upsilon-node, upsilon-web and upsilon-mobileWeb. You can download the projects on the releases page.
Upsilon Node: is responsible for executing service checks, sending results to other nodes and writing results to a database.
- Inteligent scheduler - balance checks out to reduce system load, check less frequently for services that are repeatedly successful.
- Online configuration reload - add services without having to restart the daemon.
- Peering - send results of service checks to other nodes.
- Database - optionally write results to a (MySQL) database.
When Upsilon Node starts up, it will determine it's type from 1 of 3 configurations;
- Service Node
- Executes service checks and sends them to a peer
- Super Node
- Writes service checks to a database. Optionally can execute service checks itself.
- Useless testing node
- A node configured with
Upsilon Web: displays results from several nodes, in a web interface. Can group services and display dashboards.
Upsilon Mobile Web: allows android devices to access the Upsilon Web interface as a standalone HTML5 app.