Skip to content

mcorbin/riemann-cond-dt-plugin

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

riemann-cond-dt-plugin

A plugin for verifying that a condition on an event is true during a time period.

Clojars Project

Howto

Loading the plugin

First, you should download the .jar file, and tell Riemann how to find it in your system using the /etc/default/riemann or /etc/sysconfig/riemann file and the EXTRA_CLASSPATH option.

Then, on your riemann.config file, add:

(load-plugins)

(require '[riemann-cond-dt.core :as cd])

You are now ready to use the plugin !

Streams

above

Takes a number threshold and a time period in seconds dt.

If the condition (> (:metric event) threshold) is valid for all events received during at least the period dt, valid events received after the dt period will be passed on until an invalid event arrives.

:metric should not be nil (it will produce exceptions).

(cd/above 1000 60 #(info %))

below

Takes a number threshold and a time period in seconds dt.

If the condition (< (:metric event) threshold) is valid for all events received during at least the period dt, valid events received after the dt period will be passed on until an invalid event arrives.

:metric should not be nil (it will produce exceptions).

(cd/below 1000 60 #(info %))
between

Takes two numbers, low and high, and a time period in seconds, dt.

If the condition (and (> (:metric event) low) (< (:metric event) high)) is valid for all events received during at least the period dt, valid events received after the dt period will be passed on until an invalid event arrives.

:metric should not be nil (it will produce exceptions)."

(cd/between 1000 10000 60 #(info %))

outside

Takes two numbers, low and high, and a time period in seconds, dt.

If the condition (or (< (:metric event) low) (> (:metric event) high)) is valid for all events received during at least the period dt, valid events received after the dt period will be passed on until an invalid event arrives.

:metric should not be nil (it will produce exceptions).

(cd/outside 1000 10000 60 #(info %))

critical

Takes a time period in seconds dt.

If all events received during at least the period dt have :state critical, new critical events received after the dt period will be passed on until an invalid event arrives.

(cd/critical 60 #(info %))

cond-dt

A stream which detects if a condition (f event) is true during dt seconds. Takes a function of events f and a time period dt in seconds.

If the condition is valid for all events received during at least the period dt, valid events received after the dt period will be passed on until an invalid event arrives.

Skips events that are too old or that do not have a timestamp.

For example, you can reimplement critical using cond-dt:

(cd/cond-dt (fn [event] (= (:state event) "critical")) 60 #(info %))

About

A plugin for verifying that a condition on an event is true during a time period.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published