Having small servers at office requires try to avoid a small number of problems one of then are electrical supply falitures, a quick way to solve this is connecting a UPS to the server and forget about cross your fingers when a power outtage makes act of presence.
In my case i have to configure a couple of small servers one with an old Yukai UPS and other with a Salicru ups.
If you want to get an ups linux communication working follow this steps:
Enable epel
yum install https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Install packages
yum install nut.x86_64 vim
Configure NUT
First search if your ups is supported in nut database and ensure that you select the desired driver Linux UPS Hardware Compatibility list
if your ups doesn’t appears in this list youl use your favourite web searcher for someone who try to fix these problems in case of Salicru appears to work with blazer_usb driver
vim /etc/ups/ups.conf
at the end of the file append these lines for mustek Yukai series
[yukai] driver = blazer_usb port = auto desc = "Yukai PowerMust 600 usb"
next step is verify if your selected configuration is valid just type in your terminal
upsdrvctl start
and shoud get some output like these
Network UPS Tools - UPS driver controller 2.7.2 Network UPS Tools - Megatec/Q1 protocol USB driver 0.11 (2.7.2) Supported UPS detected with megatec protocol Vendor information unavailable No values provided for battery high/low voltages in ups.conf Using 'guestimation' (low: 10.400000, high: 13.000000)! Battery runtime will not be calculated (runtimecal not set)
after this you should configure your permissions ACL, in my case I only want query SAI status from the server only
so edit file /etc/ups/upsd.conf using this command
vim /etc/ups/upsd.conf
and append these text
ACL all 0.0.0.0/0 ACL localhost 127.0.0.1/32 ACCEPT localhost REJECT all
after this you should add a user to check UPS status edditing /etc/ups/upsd.users file
vim vim /etc/ups/upsd.users
and append this text
[local_mon] password = secretpass allowfrom = localhost upsmon master
Next step is link your ups with created user
add a line in file
vim /etc/ups/upsmon.conf
with these content
MONITOR </etc/ups/ups.conf UPS name>@localhost 1 </etc/ups/upsd.users selected username> </etc/ups/upsd.users selected password> master
in this case
MONITOR yukai@localhost 1 local_mon secretpass master
Enable services
systemctl enable nut-monitor.service
systemctl enable nut-server.service
and start these services
systemctl start nut-server.service
systemctl start nut-monitor.service
sometimes at execute after execute “upsdrvctl start” command it hijacks usb communication, this can be solved restarting system.
to check if ups is working just launch
upsc “ups name” and you should get an output like these
upsc yukai
battery.charge: 100 battery.voltage: 13.20 battery.voltage.high: 13.00 battery.voltage.low: 10.40 battery.voltage.nominal: 12.0 device.type: ups driver.name: blazer_usb driver.parameter.pollinterval: 2 driver.parameter.port: auto driver.version: 2.7.2 driver.version.internal: 0.11 input.current.nominal: 1.0 input.frequency: 49.9 input.frequency.nominal: 50 input.voltage: 231.5 input.voltage.fault: 231.5 input.voltage.nominal: 230 output.voltage: 231.5 ups.beeper.status: enabled ups.delay.shutdown: 30 ups.delay.start: 180 ups.load: 27 ups.productid: 5161 ups.status: OL ups.type: offline / line interactive
references:
http://blog.shadypixel.com/monitoring-a-ups-with-nut-on-debian-or-ubuntu-linux/