Monitoring UPS on SLE 10 SP1


By: variia

January 25, 2008 10:54 pm





This tip explains how to set up APC Back-UPS CS 500 on SLED 10 SP1. I am running critical services/applications on my desktop hence I wanted to be informed about every event related to power such as failure, recovery, battery status, etc.

I have to admit that I haven’t tested this solution on SLES however it’s supposed to work considering that they are more less the same (except package support).

The device doesn’t need any special treatment apart the USB cable being connected to one my USB ports.

I couldn’t get (default SuSE) “powerd” talking to my APC UPS so I first searched then I installed a specific product designed for APC systems. Note this package is in the SDK iso only:

geeko:~ # rpm -q apcupsd || yast -i apcupsd

We need to make some changes to the configuration located under /etc/apcupsd due to USB connection:

geeko:~ # grep . /etc/apcupsd/apcupsd.conf | grep -v ^#

The rest should be fine. The installer didn’t activate the service for auto start at boot which is good, the daemon has to be stopped for configuration testing. Now we can run “apctest” to check it out:

geeko:~ # apctest

2008-01-18 08:43:13 apctest 3.12.1 (06 January 2006) suse
Checking configuration ...
Attached to driver: usb
sharenet.type = DISABLE
cable.type = USB_CABLE

You are using a USB cable type, so I'm entering USB test mode
mode.type = USB_UPS
Setting up the port ...
Hello, this is the apcupsd Cable Test program.
This part of apctest is for testing USB UPSes.

Getting UPS capabilities...SUCCESS

Please select the function you want to perform.

1) Test kill UPS power
2) Perform self-test
3) Read last self-test result
4) Change battery date
5) View battery date
6) View manufacturing date
7) Set alarm behavior
8) Quit

Select function number: 8

2008-01-18 08:46:16 End apctest.

You can make minor changes, run various tests here. If you are happy with the results quit.

Set up the service for auto start at boot:

geeko:~ # insserv apcupsd && chkconfig -l apcupsd
apcupsd                   0:off  1:on   2:on   3:on   4:on   5:on   6:off

At last but not least start the service:

geeko:~ # rcapcupsd start
Starting apcupsd power management                                     done

What happens in case of a power failure?

  • You get a console message on every console you logged in
  • You get the event logged by syslog
  • And you get an email as well for the event although it requires you to forward the “root” messages to your email.

Syslog entry looks like this after all:

Jan 18 07:21:32 geeko apcupsd[3322]: Power failure.
Jan 18 07:21:38 geeko apcupsd[3322]: Running on UPS batteries.
Jan 18 07:21:40 geeko apcupsd[3322]: Mains returned. No longer on UPS batteries.
Jan 18 07:21:40 geeko apcupsd[3322]: Power is back. UPS running on mains.

Email forwarding: It can be your full email address, local account, etc:

geeko:~ # grep ^root /etc/aliases

Build the alias table:

geeko:~ # newaliases
/etc/aliases: 42 aliases, longest 17 bytes, 496 bytes total

Now you should be set. Sample email message:

Subject: geeko Power Failure !!!

geeko Power Failure !!!

APC      : 001,041,1017
DATE     : Fri Jan 18 07:21:37 NZDT 2008
HOSTNAME : geeko
RELEASE  : 3.12.1
VERSION  : 3.12.1 (06 January 2006) suse
UPSNAME  : geeko
CABLE    : USB Cable
MODEL    : Back-UPS CS 500
UPSMODE  : Stand Alone
STARTTIME: Mon Jan 14 10:14:30 NZDT 2008
LINEV    : 000.0 Volts
LOADPCT  :  12.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  38.9 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
OUTPUTV  : 230.0 Volts
DWAKE    : 000 Seconds
DSHUTD   : 000 Seconds
LOTRANS  : 180.0 Volts
HITRANS  : 266.0 Volts
RETPCT   : 000.0 Percent
ITEMP    : 29.2 C Internal
BATTV    : 12.2 Volts
LINEFREQ : 49.0 Hz
LASTXFER : Low line voltage
XONBATT  : Fri Jan 18 07:21:32 NZDT 2008
TONBATT  : 7 seconds
CUMONBATT: 7 seconds
STATFLAG : 0x07060010 Status Flag
SERIALNO : 4B0723P20525  
BATTDATE : 2007-09-06
NOMBATTV :  12.0
FIRMWARE : 08.q8.I USB FW:q8
END APC  : Fri Jan 18 07:21:39 NZDT 2008

Certainly you will receive message when the power is returned.

0 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 5 (0 votes, average: 0.00 out of 5)
You need to be a registered member to rate this post.

Tags: ,
Categories: SUSE Linux Enterprise Desktop, Technical Solutions

Disclaimer: As with everything else in the SUSE Blog, this content is definitely not supported by SUSE (so don't even think of calling Support if you try something and it blows up).  It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.