diff --git a/riemann.config b/riemann.config index fbc4961..42baf74 100644 --- a/riemann.config +++ b/riemann.config @@ -10,6 +10,32 @@ (udp-server {:host host}) (ws-server {:host host})) +; ;Start a Graphite server on the usual TCP port for Carbon, port 2004: +(def graphite-server-tcp (graphite-server :host "0.0.0.0" :port 2004 + :protocol :tcp + :parser-fn + (fn [{:keys [service] :as event}] + (let [[source hostname metricname] (clojure.string/split service #"\." 3)] + {:host (clojure.string/replace hostname #"_" ".") + :service metricname + :metric (:metric event) + :tags source + :time (:time event) + :ttl 30})))) + +; Like the graphite-server-tcp function above, but listening for UDP packets instead of TCP: +(def graphite-server-udp (graphite-server :host "0.0.0.0" :port 2004 + :protocol :udp + :parser-fn + (fn [{:keys [service] :as event}] + (let [[source hostname metricname] (clojure.string/split service #"\." 3)] + { :host (clojure.string/replace hostname #"_" ".") + :service metricname + :metric (:metric event) + :tags source + :time (:time event) + :ttl 30})))) + ; Expire old events from the index every 5 seconds. (periodically-expire 5)