Graphite server for JmxTrans

This commit is contained in:
root 2015-03-26 10:18:50 +01:00
parent 8ac94aabd5
commit 5a5c9334b6

View file

@ -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)