[Xymon] Additional tests from xymon server

Ioan Damian damian.ioan at gmail.com
Wed Apr 18 08:42:36 CEST 2012


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




More information about the Xymon mailing list