Xymon Mailing List Archive search

Additional tests from xymon server

list Ioan Damian
Wed, 18 Apr 2012 09:42:36 +0300
Message-Id: <user-1234c024ffdc@xymon.invalid>

Hi

Thank you all for your replies. xymongrep is what I was looking for. 
Also, Buchan's script was very helpful.

I've managed to add the desired checks by adding a new task in 
$XYMONHOME/servers/etc/tasks.d/domain-checks.cfg like this:
[Domain]
         ENVFILE $XYMONSERVERROOT/server/etc/xymonserver.cfg
         NEEDS xymond
         CMD $XYMONSERVERROOT/server/ext/domain_check.pl
         LOGFILE $XYMONSERVERLOGS/ext-domain_check.log
         INTERVAL 5m

In $XYMONSERVERROOT/server/ext/domain_check.pl I used xymongrep to 
filter out only the hosts with the domain tag in hosts.cfg and sent the 
status for each of the hostnames I've found back to xymon.

I'm a bit suprised I couldn't find documentation for such endevours more 
easily.


On 4/16/2012 12:25 PM, Buchan Milne wrote:
On Friday, 13 April 2012 19:10:34 Ioan Damian wrote:
Hi,

I'm trying to add a test to the xymon server. This one has to reside
server-side because not it does domain checks and not all domains have an
assigned IP. Also, connectivity is not a concern here. What I'm trying to
do is add some domain in a subpage and check for changes in their
nameserver IPs. I've written a perl script that does the job and it takes
the domain name as a parameter. In practice I'm trying to replicate what
xymonnet does with the various checks like dns, http, smtp, etc.

I would have something like this hosts.cfg:

page domainchecks<H3>Domain Checks<H3>
<some IP>   <the domain name>   # noconn<my_test_name>

I did scrip this to check all domains at once but, that's not a desired
behavior because I need to xymon to treat them separately and tell me for
each if something changed or not according to my script.

I setup a test task in tasks.cfg like this:

[Environment]
         ENVFILE /var/lib/xymon/server/etc/xymonserver.cfg
         NEEDS xymond
         CMD $XYMONSERVERROOT/server/ext/env.pl
         LOGFILE $XYMONSERVERLOGS/ext-env.log
         INTERVAL 5m

I've set it up for some hosts to no avail:

<some ip>  <hostname>   # env

It only shows up for the xymon server, which leads me to think this is more
cumbersome than I first thought. Has anyone managed to do something like
this before?
Please find an example attached. If I were to write this script today, I might
rather use a perl module I have that handles the communication with hobbitd.
This one uses 'ol' as the service name, or tag that should be in the hosts.cfg
file. I haven't modified it to run in Xymon 4.3.x, the bbhostgrep, and
possibly $ENV{BB} and $ENV{BBDISP} may need to be changed ...

I would recommend against using 'env' as a test name though, as some tests
(e.g. Devmon templates) use 'env' for 'environmental monitoring', such as
temperature, humidity etc.

Regards,
Buchan