For example, If we want to send the mean data of last 10 minutes alert freezhan if the mean of metric is more than 1000, I express the idea in riemann like this:
(streams
(moving-time-window
600 ; 600 sec = 10 min
(folds/mean
(where (> metric 1000)
(email "freezhan@mycompany.com")))))
But get some error like this:
INFO [2016-06-01 18:26:49,002] SIGHUP handler - riemann.pubsub - Sweeping transient subscriptions. ERROR [2016-06-01 18:26:49,069] SIGHUP handler - riemann.bin - Couldn't reload: java.lang.IllegalArgumentException: Don't know how to create ISeq from: riemann.config$eval2171$stream__2172, compiling:(/etc/riemann/riemann.config:51:38) at clojure.lang.Compiler.load(Compiler.java:7142) at clojure.lang.Compiler.loadFile(Compiler.java:7086) at clojure.lang.RT$3.invoke(RT.java:318) at riemann.config$include.invoke(config.clj:408) at riemann.bin$reload_BANG_.invoke(bin.clj:27) at riemann.bin$handle_signals$fn__11886.invoke(bin.clj:43) at riemann.bin.proxy$java.lang.Object$SignalHandler$d8c00ec7.handle(Unknown Source) at sun.misc.Signal$1.run(Signal.java:212) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException: Don't know how to create ISeq from: riemann.config$eval2171$stream__2172 at clojure.lang.RT.seqFrom(RT.java:505) at clojure.lang.RT.seq(RT.java:486) at clojure.core$seq.invoke(core.clj:133) at clojure.core$filter$fn__4264.invoke(core.clj:2595) at clojure.lang.LazySeq.sval(LazySeq.java:40) at clojure.lang.LazySeq.seq(LazySeq.java:49) at clojure.lang.RT.seq(RT.java:484) at clojure.core$seq.invoke(core.clj:133) at clojure.core$sort.invoke(core.clj:2827) at clojure.core$sort_by.invoke(core.clj:2844) at clojure.core$sort_by.invoke(core.clj:2842) at riemann.folds$sorted_sample_extract.invoke(folds.clj:22) at riemann.folds$median.invoke(folds.clj:169) at riemann.config$eval2171.invoke(riemann.config:58) at clojure.lang.Compiler.eval(Compiler.java:6703) at clojure.lang.Compiler.load(Compiler.java:7130) ... 8 more