The riemann module has only one driver, which is the riemann() destination driver. The riemann() driver sends your data (for example, metrics or events) to a Riemann monitoring system.
Status
x86
Works
ARM
Works
Testing
Riemann Setup
To test this driver, we need to set up Riemann first. You can use Homebrew to brew install all the necessary dependencies.
To be able to successfully test this driver, we need to install riemann and riemann-client. To install all these, we need to do the following:
However, you might run into the issue of not having a config file present depending on your mode of installation. We can make our own config file for the same.
; -*- mode: clojure; -*-
; vim: filetype=clojure
(logging/init {:file "riemann.log"})
; Listen on the local interface over TCP (5555), UDP (5555), and websockets
; (5556)
(let [host "127.0.0.1"]
(tcp-server {:host host})
(udp-server {:host host})
(ws-server {:host host}))
; Expire old events from the index every 5 seconds.
(periodically-expire 5)
(let [index (index)]
; Inbound events will be passed to these streams:
(streams
(default :ttl 60
; Index all events immediately.
index
; Log expired events.
(expired
(fn [event] (info "expired" event))))))
; Default Config File Till Now
(streams
(where (description "syslog-ng riemann test")
#(info %)))
Where, the last added statement allows us to print incoming messages that have the matching description.