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