From Upsilon Project
Jump to: navigation, search

The upsilon service API is very simple, but simple is good. It is fully compatible with nagios scripts. This page tells service check developers how to write their own new service checks. If you are looking to use an existing service, see the Service syntax


Upsilon has been used to monitor scripts that are written in perl, php, python and SH. If your language supports standard OS exit codes and printing to stdout (and lets face it, even QBasic supports that), then you can use upsilon to execute it.

Service Karma

Karma based on execution:

  • GOOD - Exit code 0 - Indicates success.
  • WARNING - Exit code 1 - Indicates warning.
  • BAD - Exit code 2 - Indicates failure.
  • UNKNOWN - Any other exit code: this will result upsilon reporting "UNKNOWN" for the service. Often is used for services that have a critical error, like a missing Perl/Python library.

Karma based on abnormal service execution:

  • TIMEOUT - When a service has not executed within it's allotted timeframe. The timeout can be customised for each service, see Service syntax
  • SKIPPED - When a service is skipped by the scheduler, because it's dependant service failed. Useful to skip network-related checks if a check for network connectivity fails. See Service syntax

Graphical interfaces can of course change any of these "karma" levels when showing the result to the users. upsilon-web will "rewrite" the karma levels of some services;

  • SKIPPED - Can also be used by the web interface if a service is WARNING or BAD, but is within a period of acceptable downtime. See Service metadata
  • OLD - Can be used by the web interface if a service has not been updated in some time. This time can be configued in the upsilon-web user preferences