[Xymon] monitoring UPS

Andy Smith abs at shadymint.com
Wed Aug 14 08:22:44 CEST 2013



John D. Alexander wrote:
> Hi Bill,
> 
> Thanks for the reply.  Your scripts are clever.  I may combine them into one script for ease of use.
> 
> I have individual pages for each ups (they are network connected SmartUPS 3000) and just ping tests right now.  It would be best if the UPS data were to go in each UPS page.  That seems to be a challenge - at least with my level of Xymon knowledge.
> 
> It would be useful to be able to initiate a custom test from hosts.cfg
> 
> Has anyone done something like this?
> 
> John Alexander
> 
> 
> -----Original Message-----
> From: Xymon [mailto:xymon-bounces at xymon.com] On Behalf Of Bill Arlofski
> Sent: Tuesday, August 13, 2013 5:05 AM
> To: xymon at xymon.com
> Subject: Re: [Xymon] monitoring UPS
> 
> On 08/12/13 19:59, John D. Alexander wrote:
>> I installed NUT and the set of scripts from revpol.com.  They work as 
>> advertised, but I'm looking to have the data displayed on the page for 
>> the respective UPS - rather than the Xymon server.
>>
>> Any thoughts or hints?
> 
> 
> Hi John The Xymon NUT scripts page on our website sees a lot of activity. Glad to know that they are actively in use in the wild.  :)
> 
> 
> The tests are reported back to the Xymon server as the machine that is running the test.
> 
> You can simply override the $MACHINE variable at the end of the script like so:
> 
> 
> $BB $BBDISP "status $MACHINE.$COLUMN $COLOR `"$DATE"`
> 
> change to:
> 
> $BB $BBDISP "status ups-a.$COLUMN $COLOR `"$DATE"`
> 
> Or set MACHINE="ups-a" at the top of the script where the other variables are assigned.
> 
> I am also wondering if you can set an environment variable explicitly in the tasks.cfg file by doing something like so:
> 
> CMD MACHINE="ups-a"; export ups-a; $XYMONHOME/ext/xymon_nut_ups-status.sh
> 
> If this syntax works, then you could leave the scripts unmodified and have just one set for any number of UPSes being tested. Never tried that though.
> 
> 
> Then, in the UPS sub page section of the hosts file:
> 
> subpage example-com_upses UPSes
> title Example Dot Com UPSes
> group-only ups-status|in-voltage|out-voltage|ups-load|bat-charge|bat-voltage
> 0.0.0.0 ups-a.example.com # CLIENT:ups-a noconn
> 
> 
> Funny thing is, I always wanted to do exactly that same thing but never spent the time to look into it. Your questions prompted me to spend the 20 minutes to test this and verify that it does indeed also "work as advertised." :)
> 
> Maybe I will even find the time to update the website with this new information. :)
> 
> Hope this helps!
> 
> --
> Bill Arlofski
> Reverse Polarity, LLC
> http://www.revpol.com/

I have a script which I wrote last year, it might be very specific to my 
  environment, but if you think it meets your needs and you wanted to 
give I can send you a copy.

################################################################################ 
    This code scans hosts.cfg for entries marked with a 'ups' test and 
for each
# of these it will attempt to connect to the APC UPS using apcaccess
# to fetch the Attributes which it stores temporarily in
#
#    $XYMONTMP/${COLUMN}.${UPS}.run.${MyAPCDHost}.txt
#
# It will scan the output and create 'xymon' commands to populate a 
column (ups by default) for each entry.
#

The config file that it reads will look like so :-

[default]
     apcaccess=/sbin/apcaccess
     nisport=1234
     temperaturewarn=40
     batterychargewarn=90
     datacollection=LINEV,LOADPCT,BCHARGE,TIMELEFT,ITEMP,BATTV

[UPS-1]
     hostname=xxxxx

[UPS-2]
     hostname=yyyyy

[UPS-3]
     hostname=zzzzz
-- 
Andy



More information about the Xymon mailing list