[Xymon] Collect RRD data just for specific host/test combinations?
Henrik Størner
henrik at hswn.dk
Tue May 8 18:23:16 CEST 2012
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
More information about the Xymon
mailing list