Alarm Language in Rackspace Monitoring

Rackspace Monitoring provides a powerful alarm language that enables you to set thresholds and create complex alarms. By using Rackspace Monitoring rather than a Nagios® server, for example, you can do the following:

  • Create expressive alarms that validate multiple criteria by using a JavaScript-like language rather than a JSON API. Following is an example alarm definition:

     if (metric['duration'] > 2000) {
       return CRITICAL, "HTTP request took more than 2 seconds, it took #{duration} milliseconds."
     if (metric['duration'] > 1000) {
       return WARNING, "HTTP request took more than 1 second, it took #{duration} milliseconds."
     # Check for an empty body match
     if (metric['body_match'] == "") {
       return CRITICAL, "Body match missing"
     return OK, "HTTP connection time is normal"
  • Use solution patterns to help you create your own complex alarms. Use our API to keep up-to-date on these examples.

  • Put developers in control by letting them build thresholds similar to how you create your application code.

  • Test thresholds before you configure them. Use data from the test check API operation and feed that into the test alarm operation to simulate an alerting scenario.

  • Use multiple data center alert policies to seamlessly evaluate alarm criteria from multiple data centers. The following graph shows a check running in three monitoring zones. The yellow and red areas represent when an alarm is in WARNING and CRITICAL, respectively.

    sample graph that shows a check running in three monitoring zones
  • Send an alert to different notification addresses depending on severity.

  • Reduce false alerts on network issues.

  • Start monitoring faster and spend less system administration time ensuring that the server stays online.