Сайт: www.apcupsd.org
Итак имеем «APC Back-UPS RS 800VA 230V» и систему
cat /etc/*release
Подключаем APC к серверу через USB-кабель и проверяем появилась ли APC в системе
lsusb
Bus 002 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Если присутствуем эта строчка, можно переходить к дальнейшей установке и настройке
Устанавливаем apcupsd
sudo apt-get install apcupsd apcupsd-cgi
Копируем на всяк случай конфиг по умолчанию
sudo cp /etc/apcupsd/apcupsd.conf /etc/apcupsd/apcupsd.conf.default
Настраиваем конфиг под себя
sudo vi /etc/apcupsd.conf
Вот содержимое моего конфига
## apcupsd.conf v1.1 ## # date 2012.08.28 #UPSNAME UPSCABLE usb UPSTYPE usb #DEVICE /dev/ttyS0 #POLLTIME 60 LOCKFILE /var/lock SCRIPTDIR /etc/apcupsd PWRFAILDIR /etc/apcupsd NOLOGINDIR /etc ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 127.0.0.1 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0 #FACILITY DAEMON #UPSNAME UPS_IDEN #BATTDATE mm/dd/yy #SENSITIVITY H #WAKEUP 60 #SLEEP 180 #LOTRANSFER 208 #HITRANSFER 253 #RETURNCHARGE 15 #BEEPSTATE T #LOWBATT 2 #OUTPUTVOLTS 230 #SELFTEST 336
Немного распишу интересные нам параметры
ONBATTERYDELAY — время (в секундах), определяющее задержку между обнаружением сбоя электропитания и отсылкой события onbattery. По умолчанию — 6
BATTERYLEVEL — уровень заряда батареи (в процентах), при котором инициируется выключение компьютера. По умолчанию — 5
MINUTES — расчётное время остаточной работы (в минутах), при достижении которого инициируется выключение компьютера. По умолчанию — 3
TIMEOUT — параметр актуален для старых ИБП, неспособных определять свой уровень заряда. Задаёт время (в секундах) между сбоем электропитания и отключением компьютера. Для современного ИБП параметр стоит оставить на 0, но выставление иного значения может быть удобно для тестирования работы ИБП. Например, если выставить 30 и выдернуть шнур из розетки, уже через полминуты apcupsd продемонстрирует своё умение выключать компьютер
Выполнения одного из условий (BATTERYLEVEL, MINUTES или TIMEOUT) достаточно для выключения компьютера. Более тонкую настройку опишу немного позже, когда будем подключать apc к centos.
Перед запуском демона apcupsd надо изменить параметр который дает apcupsd понять, что мы не забыли его настроить.
В файле «/etc/default/apcupsd» заменяем ISCONFIGURED=no на ISCONFIGURED=yes
sudo vi /etc/default/apcupsd
Запускаем демона apcupsd
sudo service apcupsd start
Проверяем работает ли демон
sudo apcaccess status
Или командой
sudo service apcupsd status
Ubuntu при установке добавляет демона в автозагрузку, но лучше всё проверить. Устанавливаем sysv-rc-conf
sudo apt-get install sysv-rc-conf
и проверяем
sudo sysv-rc-conf
Настраиваем web мониторинг apcupsd
Для вывода мониторинга на веб страничку устанавливаем веб сервер
sudo apt-get install apache2
Открываем браузер и вводим адресс
http://АДРЕС_ВАШЕГО_СЕРВЕРА/cgi-bin/apcupsd/multimon.cgi
Настройка уведомлений от apcupsd
Для себя определился с тем, что при перебоях с питанием должен писаться лог и приходить смс уведомление на телефон. Пожалуй это единственное устройство, которое всегда рядом.
подробная документация: www.apcupsd.org
Отправка SMS
Для телефона должна быть подключена услуга «mail2sms». В моем случае будет использоваться «билайн»
Я не использую других серверов для отправки писем, и шлю напрямую с сервера при помощи sendmail
sudo apt-get install sendmail
Делаем бекапы скриптов
sudo cp /etc/apcupsd/onbattery /etc/apcupsd/onbattery.default sudo cp /etc/apcupsd/offbattery /etc/apcupsd/offbattery.default
Создаем файл куда будет писаться лог
sudo touch /var/log/apcupsd_status.log sudo chmod 777 /var/log/apcupsd_status.log
Правим скрипт для включении питания (offbattery)
sudo vi /etc/apcupsd/offbattery
добавляем строчки ( вместо 7********** ваш номер телефона, например: 79601234567)
echo $(hostname) $(date) APC_ON | mail 7**********@sms.beemail.ru echo $(date) $HOSTNAME Power ON >> /var/log/apcupsd_status.log
должно получиться
Правим скрипт для отключении питания (onbattery)
sudo vi /etc/apcupsd/onbattery
добавляем строчки
echo $(hostname) $(date) APC_OFF | mail 7**********@sms.beemail.ru echo $(date) $HOSTNAME Power OFF >> /var/log/apcupsd_status.log
должно получиться
Хотя конечно apcupsd ведёт лог в /var/log/apcupsd.events но для меня он не удобен
Возможные ошибки apcupsd
1. Не запускается демон apcupsd
Please check your configuration ISCONFIGURED in /etc/default/apcupsd
решение:
Заменяем ISCONFIGURED=no на ISCONFIGURED=yes , сохраняем, закрываем. Отныне apcupsd будет знать, что мы не забыли его настроить.
система точно убунда?
у меня такое в centos было