Collect RRD data just for specific host/test combinations?
Hi list. Is there a way of just telling Xymon to collect RRD data just for specific host/test combinations? (Rather than all hosts for a given test, which is how the http://www.xymon.com/xymon/help/howtograph.html page says is the way to do it.)
Kind regards,
SebA
On 08-05-2012 17:03, SebA wrote:
Hi list. Is there a way of just telling Xymon to collect RRD data just for specific host/test combinations? (Rather than all hosts for a given test, which is how the http://www.xymon.com/xymon/help/howtograph.html page says is the way to do it.)
Not out of the box. Wouldn't be terribly difficult, though. The xymond_rrd module is fed with data by xymond_channel via it's standard input filestream. So you could whip up a simple script that you stuck in between xymond_channel and xymond_rrd - it would just look at the "@@status..." line which indicates the beginning of a new message, and if it matches the host+test spec then copy the data to standard output; if it doesn't match, just throw it away. In pseudo code: while (true) grab_next_message(); if (header_matches(firstLineOfMessage)) print(message); You can look at the "rootlogin.pl" script to see how you can grab a message from xymond_channel. Then write a two-line script "rrdfilter.sh" #!/bin/sh myfilter | xymond_rrd $* so you filter input through your filter program, and change tasks.cfg from CMD xymond_channel --channel=status xymond_rrd ... to CMD xymond_channel --channel=status rrdfilter.sh ... Regards, Henrik
participants (2)
-
henrik@hswn.dk
-
spah@syntec.co.uk