7.18. riemann: Monitoring your data with Riemann

The riemann() driver sends your data (for example, metrics or events) to a Riemann monitoring system.

For the list of available parameters, see Section 7.18.1, riemann() destination options.

Declaration: 

riemann(
	server("<riemann-server-address>")
	port("<riemann-server-port>")
	metric("<the-metric-or-data-to-send-to-riemann>")
);
Example 7.35. Using the riemann() driver

The following destination sends the value of the SEQNUM macro (the number of messages sent to this destination) as a metric to the Riemann server.

@version: 3.12

source s_network {
	network(port(12345));
};

destination d_riemann {
	riemann(
		server("localhost")
		port(5555)
		ttl("300.5")
		metric(int("$SEQNUM"))
		description("syslog-ng riemann test")
		state("ok")
		attributes(x-ultimate-answer("$(+ $PID 42)")
				   key("MESSAGE", rekey(add-prefix("x-")) )
				   )
	);
};

log {
	source(s_network);
	destination(d_riemann);
	flags(flow-control);
};

For a detailed use-case on using syslog-ng OSE with the Riemann monitoring system, see the article A How to Guide on Modern Monitoring and Alerting by Fabien Wernli.