Подключаем источник бесперебойного питания к Ubuntu (linux)

Сайт: 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 будет знать, что мы не забыли его настроить.

Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




2 комментария

  1. Fenix Ukraine Google Chrome Linux :

    не могу понять в чем причина. все устанавливаю и редактирую файлы, но при запуске сервиса выдает service: no such service apcupsd. пакеты установил. что делать?

    Thumb up 0 Thumb down 0

Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем