Apc linux что такое

Прикручиваем APC к Linux

что требуется:

мониторинг UPS при помощи дата кабеля

Что есть:

APC RS 800, Тазик с установленным линуксом

Вы скажите а зачем заморачиваться если есть SMART UPS от APC, я отвечу просто:

1. Зачем переплачивать 100-120 у.е. только за смарт, и если этого всего можно добится не столь сложными путями?

2. Ваши смарты, держат счтолько-же (имеется ввиду по одинаковым Вольт-Амперным характеристика )

Оговорюсь сразу что 98% новых УПСов идут с USB дата-кабелем, поэтому COM рассматривать не будем, но по аналогии можно сделать все тоже 😉

Смотрим какие девайсы подключены по USB:
cat /proc/bus/usb/devices

находим что-то типа:
T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=051d ProdID=0002 Rev= 1.06
S: Manufacturer=American Power Conversion
S: Product=Back-UPS BR 800 FW:9.o4 .I USB FW:o4
S: SerialNumber=3B0749X89999
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 24mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=10ms

Далее создаём файл /etc/udev/rules.d/50-udev.rules и прописываем в него:

(возможно данный файл автоматом создастя, и в нем будет это все 😉 )
051d берётся из вывода /proc/bus/usb/devices (строки Vendor )

UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/lock
UPSCLASS standalone
UPSMODE disable

Стартуем демон и проверяем командой apcaccess что у нас есть, если получаем список:

APC : 001,044,1108
DATE : Thu Jan 15 22:12:44 EET 2009
HOSTNAME : status.ks.ua
RELEASE : 3.14.2
VERSION : 3.14.2 (15 September 2007) redhat
UPSNAME : status.ks.ua
CABLE : USB Cable
MODEL : Back-UPS BR 800
UPSMODE : Stand Alone
STARTTIME: Thu Jan 15 20:57:29 EET 2009
STATUS : ONLINE
LINEV : 234.0 Volts
LOADPCT : 16.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 45.9 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 230.0 Volts
SENSE : Medium
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 194.0 Volts
HITRANS : 264.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 27.3 Volts
LINEFREQ : 51.0 Hz
LASTXFER : Low line voltage
NUMXFERS : 5
XONBATT : Thu Jan 15 22:12:10 EET 2009
TONBATT : 0 seconds
CUMONBATT: 12 seconds
XOFFBATT : Thu Jan 15 22:12:13 EET 2009
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B0749X83473
BATTDATE : 2001-09-25
NOMOUTV : 230
NOMINV : 230
NOMBATTV : 24.0
FIRMWARE : 9.o4 .I USB FW:o4
APCMODEL : Back-UPS BR 800
END APC : Thu Jan 15 22:12:53 EET 2009

Поздравляю Ваш УПС заехал красиво 🙂

это все хорошо, при потери питания на рута (или его алиас будет слаться мыло и т.п. при 5% остатка мощности на батареи тазик будет тушиться, если нам это не надо можно поменять в конфиге) но нам надо чтоб приходили СМСки в случае любых изминений происходящих в сети, для этого есть скрипты в /etc/apcupsd

changeme commfailure commok offbattery onbattery

можно подредактировать их содержание и указать нечто:

cat offbattery
#!/bin/sh
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol when the
# UPS goes back on to the mains after a power failure.
# We send an email message to root to notify him.
#
SYSADMIN=root
SMS=хххххххххххх@sms.kyivstar.net
APCUPSD_MAIL=»/bin/mail»

HOSTNAME=`hostname`
MSG=»$HOSTNAME Power has returned»
#
(
echo «Subject: $MSG»
echo » »
echo «$MSG»
echo » »
/usr/sbin/apcaccess status
) | $APCUPSD_MAIL -s «$MSG» $SYSADMIN

Читайте также:  Blinitializelibrary failed 0xc00000bb windows 10 как исправить что делать

MSG=»$HOSTNAME Power has returned»
#
(
echo «ALERT»
echo » »
) | $APCUPSD_MAIL -s «$MSG» $SMS

так же неплохо просматривать что происходит с УПСом через браузер (ну это для таких ленивых как я (= )

вот скриптик (можно либо через крон раз в 5 минут выполнять, либо стартонуть через бесконечный цыкл)

#!/bin/sh
/usr/sbin/apcaccess > /home/apcaccess.output
OUTFILE=»/www/htdocs/ups/index.html»
INFILE=»/home/apcaccess.output»
eval `cat «$» |
grep ‘^\(DATE\|HOSTNAME\|CABLE\|MODEL\|STARTTIME\|STATUS\|LINEV\|UPSMODE\|LOTRANS\|HITRANS\|LOADPCT\|BCHARGE\|MBATTCHG\|TIMELEFT\|MINTIMEL\|BATTV\|NOMBATTV\|temperature\|BATTDATE\)’ |
sed ‘s! *: *!=»!;s!$!»!’`

case $ in
*ONLINE*)
StatusColor=»#00FF00″
;;
*OFFLINE*)
StatusColor=»#FF0000″
;;
esac

Источник

Начальная настройка ИБП APC в Linux с точки зрения чайника

Купив источник бесперебойного питания от APC (а именно — APC Back-UPS ES 550VA ), я с удивленьем обнаружил, что «из коробки» он не может похвастаться тесной дружбою с Linux. Конечно, XFCE Power Manager, входящий в состав XFCE 4.6, подхватил и разпознал UPS, но всё, на что он оказался способен — отображение в трее уровня заряда. Какие-либо настройки отсутствовали начисто, нельзя было даже задать выключение ПК при достижении определённого уровня заряда.

Обратившись за консультацией в гугл, я узнал о существовании замечательного демона apcupsd, чья роль заключается в — никогда не поверите — управлении ИБП от APC. Но, как оказалось, практически все руководства по его начальной настройке были откровенно устаревшими — включая, как ни странно, официальный мануал. Споткнуться приходилось уже в самом начале о «cat /proc/bus/usb/devices». Поговорив с гуглом серьёзным и доверительным тоном, я добился от него ссылки на действующий мануал, художественным переводом коего с дополнениями из иных источников сия статья и является.

Итак, начнём с установки самого apcupsd:

sudo apt-get install apcupsd

Разумеется, вышесказанное справедливо для Debian и его производных, включая Ubuntu. Если в вашем дистрибутиве не используется apt-get — думаю, вы всё равно знаете, как поставить необходимый пакет. Надеюсь на это.

Теперь мы отредактируем конфигурационный файл apcupsd:

sudo gedit /etc/apcupsd/apcupsd.conf

В данном случае нас интересуют всего три параметра:

UPSCABLE — указываем тип кабеля, которым наш UPS подключён к ПК. В комментариях указаны возможные типы — simple, smart, ether, usb. Нынешние домашние модели подключаются через USB — следовательно, достаточно дописать usb
UPSTYPE — тип подключённого UPS. В комментариях перечислены возможные типы и соответствующие им значения параметра DEVICE, наш же выбор — тип usb
DEVICE — закомментируем данную строку, поставив перед ней знак # — для USB-устройств она не нужна

Сохраняем изменённый конфигурационный файл, открываем следующий:

sudo gedit /etc/default/apcupsd

Заменяем ISCONFIGURED=no на ISCONFIGURED=yes, сохраняем, закрываем. Отныне apcupsd будет знать, что мы не забыли его настроить.

Теперь достаточно запустить apcupsd:
sudo /etc/init.d/apcupsd start

Если он уже был запущен — вместо start нам, разумеется, надо будет писать restart.

Всё, ваш ПК теперь связан с новеньким ИБП прочными узами дружбы.

А теперь немножко о том, что мы можем настроить в обширном /etc/apcupsd/apcupsd.conf:

ONBATTERYDELAY — время (в секундах), определяющее задержку между обнаружением сбоя электропитания и отсылкой события onbattery. По умолчанию — 6
BATTERYLEVEL — уровень заряда батареи (в процентах), при котором инициируется выключение компьютера. По умолчанию — 5
MINUTES — расчётное время остаточной работы (в минутах), при достижении которого инициируется выключение компьютера. По умолчанию — 3
TIMEOUT — параметр актуален для старых ИБП, неспособных определять свой уровень заряда. Задаёт время (в секундах) между сбоем электропитания и отключением компьютера. Для современного ИБП параметр стоит оставить на 0, но выставление иного значения может быть удобно для тестирования работы ИБП. Например, если выставить 30 и выдернуть шнур из розетки, уже через полминуты apcupsd продемонстрирует своё умение выключать компьютер

Выполнения одного из условий (BATTERYLEVEL, MINUTES или TIMEOUT) достаточно для выключения компьютера. Более тонкая настройка не описывается, ибо её необходимость для домашнего пользователя весьма сомнительна.

Долго сказка сказывается, да недолго дело делается: полагаю, описанные действия пользователь произведёт за пару минут. Надеюсь, данная статья поможет кому-нибудь подружить его ИБП APC с Linux, сэкономив время и не завязнув в устаревших мануалах.

Источник

Настройка APC Smart UPS 1000 в Ubuntu server 14.04 LTS и установка модуля Webmin

Началось все с того, что у меня сгорел служивший верой и правдой много лет Back-UPS 500VA. Не беда, подумал я и заменил его на APC Smart UPS 1000, что для моего сервера оказалось гораздо лучше. Сразу скажу, изначально сервер работал на форточках и проблем с бесперебойником не было. После замены ИБП и окончательно-бесповоротном переходе на Ubuntu я задался вопросом: собственно, как мониторить состояние сети электропитания и состояние бесперебойника? Погуглив некоторое время, я наткнулся на несколько инструкций по подключению бесперебойников к никсовым машинам, но почему-то они все были про Back UPS и USB. В частности, меня натолкнуло на написание этой статьи аналогичная статься на Хабре «Начальная настройка ИБП APC в Linux с точки зрения чайника».

Но у меня же старенький тысячник с ком-портом и про USB он и слыхом не слыхивал.

Предупреждаю! Внимательно выбирайте кабель COM-COM. Например, стандартный кабель от свича DES3526 вызывает аварийное отключение бесперебойника. У меня подошел проводок от другого UPS (на сколько помню — Sven).

Как выяснилось, демон для мониторинга/управления все-таки есть, только все инструкции к нему безнадежно устарели (включая официальные!).

Установка демона APC:

После установки начался геморрой с настройкой. Наступая на все грабли по очереди я все же добился своего:

Для снижения количества неудачных настроек для начала найдем порт ttyS:

У меня активных портов оказалось всего 2:

В разделе UPSNAME я обозвал свой бесперебойник:

В разделе UPSCABLE был выбран тип Smart:

В разделе UPSTYPE выбран apcsmart и нужный порт:

Далее осталось только сообщить демону, что мы не забыли его настроить:

Меняем в строке ISCONFIGURED=no на ISCONFIGURED=yes

И напоследок запустить сие чудо:

Когда эта скотина все-таки запустилась без ошибок, я сильно обрадовался. Осталось только вывести данные бесперебойника на веб-морду серва. Тут кроется загвоздочка: веб-морда у меня Webmin, модуль для него есть, но идет он не настроенный.

Установка модуля Apcupsd в Webmin:

Для начала скачаем модуль на рабочую станцию отсюда.

Затем зайдем в модули Webmin и добавим скачанный модуль.

Все установилось, но модуль ничего не показывает и пишет что не настроен — ничего! Допиливаем до рабочего состояния:

На рабочей станции приводим пути в настройках модуля в порядок:

Жмем сохранить и — вуаля!

*В связи с безвременной кончиной фотохостинга savepic скриншоты с уже подключенным Apc Smart UPS 3000 RM

Статью написал для того, чтобы никто больше не наступал на те же грабли и не гуглил бесполезными запросами.

Источник

Настройка с нуля сервиса управления ИБП Network UPS Tools (NUT) для управления локально подключенным ИБП

Описание

Сервис Linux NUT (Network UPS Tools) — это комплекс программ мониторинга и управления различными блоками бесперебойного питания (далее ИБП). Полный список поддерживаемых моделей можно получить, посмотрев список драйверов в файле /usr/share/nut/driver.list.

В руководстве описана настройка отключения ПК агентом NUT при потере напряжения в сети на примере ИБП Eaton 5E 650iUSB на Ubuntu-подобных дистрибутивах. Для использования под другие дистрибутивы используйте пакетный мененджер своего дистрибутива или соберите из исходных кодов. Новейшую версию Network UPS Tools можно скачать на GitHub по ссылке ссылке.

Установка NUT

Для начала следует установить NUT:

Сделаем резерную копию папки с файлами конфигурации NUT:

Теперь добавим директиву, указывающую, что ИБП подключен к данному компьютеру, а не к удаленному:

Теперь подключим ИБП к компьютеру и посмотрим вывод команды lsusb:

Ищем, поддерживается ли ИБП сервисом NUT. Можно либо просмотреть его вручную либо вывести строки с упоминанием марки ИБП, например:

Теперь, когда мы определились с драйвером, можно настраивать NUT.

Защита конфигурационных файлов

Следует выставить верные права доступа и владельцев для файлов конфигурации NUT

Настройка NUT

Настройка драйвера, способа подключения и времени выключения

Дописываем строки в конец файла /etc/nut/ups.conf или создаем новый с таким содержимым:

Настройка доступа системной группы NUT к ИБП по USB

Чтобы NUT имел право на доступ к USB интерфейсу ИБП, нужно написать правило доступа для udev.

udev — подсистема управления устройствами Linux. Благодаря udev в папке /dev находятся только подключенные в данный момент устройства.

и найдем строку, соответствующую ИБП. В нашем примере это

где после ID идет idVendor:idProduct (0463:ffff)

Теперь создадим файл с правилом для udev:

После создания правила следует перезагрузить сервис udev:

После этого следует отключить и заново подключить USB кабель от ИБП. После этого выполним команду для проверки работоспособности udev правила:

Если вывод приблизительно такой, то все настроено правильно.

Настройка адресов и портов прослушивания подключений к NUT

Дописываем строки в конец файла /etc/nut/upsd.conf или создаем новый с таким содержимым:

Имейте в ввиду что LISTEN должно быть написано именно большими буквами, или работать ничего не будет.

Настройка профиля пользователя для доступа к NUT

Создаем пользователя upsmonitor без права логина и домашней папки, с UID меньше 1000, чтобы он считался служебным и его не было на экране входа пользователей в систему, и с GID’ом группы nut.

Узнаем GID группы nut:

Теперь подберем UID для пользователя. Либо выберем такой, какой врядли используется какой либо программой, например, 339, либо выполняем:

и если ничего не выводит, то UID свободен и его можно использовать для создания пользователя upsmonitor:

Теперь добавим этого пользователя в файл профилей пользователей NUT /etc/nut/upsd.users:

Настройки мониторинга NUT

Дописываем строки в конец файла /etc/nut/upsmon.conf или создаем новый с таким содержимым:

Тест соединения

Посмотрим, что ИБП может сообщить о своем состоянии:

Все поля более менее очевидны или были определены нами в конфигурационных файлах ранее. Коды состояний ИБП отображаются в поле ups.status: и могут принимать значения:

  • OL — система работает от сети;
  • OB — система работает от батареи;
  • LB — система работает от разряженной батареи.

Внутренние команды и переменные ИБП

ИБП можно давать команды напрямую из консоли, с помощью команды upscmd. Список доступных команд можно получить, выполнив команду:

Настройки beeper.* управляют сигнализацией ИБП в случае потери напряжения в сети, load.off выключает ПК немедленно, load.off.delay задержка в секундах до выключения ПК, shutdown.stop — команда прерывания процесса отключения ПК.

В некоторых ИБП присутствуют и другие опции, например, тест батареи или shutdown.return, в случае использования которой компьютер будет выключен, но ИБП пошлет сигнал включения ПК как только восстановится питание в сети. Чтобы это сработало, в БИОСе ПК дожна быть включена соответствующая функция, которая обычно находится где то в районе настроек питания.

Для примера выключим писк ИБП, когда пропадает питание в сети:

Чтобы включить, замените beeper.disable на beeper.enable.

Настройка планировщика задач NUT upssched

Дописываем строки в конец файла /etc/nut/upssched.conf или создаем новый с таким содержимым:

Теперь теперь нужен скрипт /etc/nut/cmd.sh. Создадим его, выставим права и заполним его:

Заключение

На этом настройка завершена. Можно протестировать, банально выдернув ИБП из розетки.

Источник

Оцените статью