~~TOC:1-3 ~~
====== APCUPSd ======
APCUPSd (APC UPS Daemon) — пакет программ для управления [[ups:apc|ИБП фирмы APC]].
Работ под управлением Linux и [[ms_windows:ms_windows|MS Windows]] (в том числе 64-битные версии((С версии 3.14.9, подробнее: [[http://www.apcupsd.org/wordpress/apcupsd-3-14-9-released/]])) ), MacOS X.
http://www.apcupsd.org/
В пакет входят следующие программы:
* [[apctest|apctest: Настройка, калибровка ИБП]]
* [[#apcaccess|apcaccess]]
[[status|Поля о состоянии устройства (Status Report Fields)]]
[[zabbix:zabbix#APCUPSd|Мониторинг в Zabbix]]
====== Установка ======
apt-get install apcupsd
Дополнительно можно установить документацию и APC UPS Power Management (web interface):
apt-get install apcupsd-doc apcupsd-cgi
====== Настройка ======
FIXME
[[http://www.apcupsd.org/manual/manual.html|User Manual]]
Файл: ''/etc/apcupsd/apcupsd.conf''
Здесь приведены переменные для настройки управления ИБП при аварии питания, ни одна из этих переменных не является обязательной. Но если вы используете ИБП с упрощенной системой команд (dumb) он не определяет низкий заряд батареи и поэтому нужно задать значение для переменной [[#TIMEOUT|TIMEOUT]] которая используется для выключения системы.
* [[#BATTERYLEVEL|BATTERYLEVEL]]
* [[#MINUTES|MINUTES]]
* [[#TIMEOUT|TIMEOUT]]
* [[#ANNOY|ANNOY]]
* [[#ANNOYDELAY|ANNOYDELAY]]
* [[#DEVICE|DEVICE]]
* [[#UPSCABLE|UPSCABLE]]
=== BATTERYLEVEL ===
Уровень заряда батарей в процентах (%).
Если указано значение ''BATTERYLEVEL'', то во время отключения электроэнергии, ''apcupsd'' выдаст команду на завершение выключение системы, когда уровень заряда батареи упадет ниже заданного значения.
Значение по умолчанию: 5
Значение для отключения этого параметра: ''-1''
Этот параметр игнорируется для простых ИБП (не имеющих расширенной сигнализации).
=== MINUTES ===
Время работы от батарей, в минутах.
Если указано значение MINUTES, то во время отключения электроэнергии, apcupsd выдаст команду на завершение выключение системы, когда оставшиеся время работы от батарей (рассчитанное ИБП) будет меньше заданного времени.
Значение по умолчанию: 3
Расчетное время работы от батарей [[apcupsd:status#TIMELEFT|TIMELEFT]] может быть получено в результате выполнения команды apcaccess
Если значение равно нулю или неправдоподобное, то ИБП, вероятно, сломан.
Значение для отключения этого параметра: -1
Этот параметр игнорируется для простых ИБП (не имеющих расширенной сигнализации).
Следует отметить, что некоторые могут выдавать неверное значение, когда аккумулятор полностью заряжен.
=== TIMEOUT ===
Время в секундах.
После отключения электропитания, apcupsd будет остановить систему, когда заданное в этом параметре время в секундах, уже истекло.
Чтобы отключить этот параметр установите его значение -1
Обычно для всех моделей Smart UPS и простых ИБП с кабелями, которые поддерживают индикация разряда батарей, это должно быть нулю, так что время завершения работы будет зависеть от уровня заряда аккумулятора ([[#BATTERYLEVEL|BATTERYLEVEL]]) и/или времени работы от батарей ([[#MINUTES|MINUTES]]), либо в случае напряжения сигнализации ИБП, когда батарея исчерпан.
Эта команда необходима для простых (не имеющих расширенной сигнализации ИБП), которые не обеспечивают выдачу сигнала полного разряда аккумулятора (для них только тестирование может определить этот момент).
Для получения дополнительной информации см. [[apcupsd:apctest|apctest]].
Этот таймер может быть также полезно, если вы хотите, чтобы некоторые рабом машины остановки до другой машины для экономии энергии батареи. Это также полезно для тестирования apcupsd потому что вы можете заставить быстрого выключения, установив небольшой стоимости (например 60) и потянув за вилку к ИБП.
TIMEOUT, BATTERYLEVEL, and MINUTES can be set together without problems. apcupsd will react to the first case or test that is valid. Normally SmartUPS users will set TIMEOUT to zero so that the system is shutdown depending on the percentage battery charge remaining (BATTERYLEVEL) or the remaining battery runtime (MINUTES).
=== ANNOY ===
Время в секундах.
Время в секундах между сообщениями запрашивающей зарегистрированным пользователям выйти системы при отключении питания.
Этот счётчик запускается только тогда, когда ИБП работает от батареи.
Значение по умолчанию это 300 секунд (5 минут).
По умолчанию, отправить сообщение на системную консоль в системах Unix и всплывающее сообщение в MS Windows.
Значение ''[[#ANNOYDELAY|ANNOYDELAY]]'' должно быть больше ''ANNOY'', с тем чтобы получить слишком частые сообщения.
=== ANNOYDELAY ===
Время в секундах.
Время задержки в секундах перед тем, как apcupsd начнёт рассылать подключённым пользователям предложение выйти из системы. Этот таймер запускается только после того, ИБП работает от батареи. Этот таймер сбрасывается, когда внешнее питание возобновляется. Значение по умолчанию составляет 60 секунд. Таким образом, первое предупреждение, чтобы выйти из системы происходит после 60 секунд работы от батарей, при условии, что NOLOGON не установлен, чтобы отключить.
=== DEVICE ===
Имя устройства.
Например для ''Com 1'' значение: ''/dev/ttyS0''
=== UPSCABLE ===
Тип интерфейса.
^Тип^Назначение^
|apcsmart|стандартный RS-232 кабель APC|
|usb|специализированный??? кабель USB от APC|
|net| (виртуальная заглушка. Означает, что на самом деле информацию об ИБП можно считать по сети. Очень удобно, когда к одному ИБП подключено несколько серверов)|
==== sharemaster ====
#
# Master
#
UPSNAME UPS_Name
UPSCABLE 940-0024C
UPSTYPE apcsmart
DEVICE /dev/ttyS0
POLLTIME 60
LOCKFILE /var/lock
SCRIPTDIR /etc/apcupsd
PWRFAILDIR /etc/apcupsd
NOLOGINDIR /etc
ONBATTERYDELAY 6
BATTERYLEVEL 15
MINUTES 10
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS sharemaster
UPSMODE disable
STATTIME 600
STATFILE /tmp/apcupsd.status
LOGSTATS off
DATATIME 0
==== shareslave ====
#
# Slave
#
UPSTYPE apcsmart
UPSTYPE net
DEVICE IP-Address:Port
POLLTIME 60
LOCKFILE /var/lock
SCRIPTDIR /etc/apcupsd
PWRFAILDIR /etc/apcupsd
NOLOGINDIR /etc
ONBATTERYDELAY 6
BATTERYLEVEL 5
MINUTES 15
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS shareslave
UPSMODE disable
STATTIME 3600
STATFILE /var/log/apcupsd.status
LOGSTATS off
DATATIME 0
После настройки:
1. Вносим изменения в файл
ISCONFIGURED=yes
2. Запускаем
service apcupsd start
===== Подключение по USB =====
Проверено на [[ups:apc_back_350_650#apcupsd|Back-UPS CS 350]]
====== Использование ======
===== apcaccess =====
====== Zabbix ======
Отслеживание состояния ИБП через ''apcupsd'' [[zabbix:server|Zabbix сервером]].
{{:apcupsd:template_apcupsd.xml|Template APCUPSd}}
[[https://share.zabbix.com/power-ups/apc/apcupsd|Ссылка на Share.Zabbix.com]]
Переменные:
* Имя
* Текущий статус
* Уровень заряда батареи
* Внутренняя температура
* Напряжение на входе
* Уровень нагрузки
* Уровень чувствительности
* Количество переходов на питание от батареи с момента запуска ''apcupsd''
Работает через [[zabbix:agent|Zabbix агент]], ниже приведены настройки для различных ОС:
**Linux**
UserParameter=UPSNAME,cat /var/log/apcupsd.status|awk '/^(UPSNAME).*:/ {print $3}'
UserParameter=STATUS,cat /var/log/apcupsd.status|awk '/^(STATUS).*:/ {print $3,$4,$5}'
UserParameter=ITEMP,cat /var/log/apcupsd.status|awk '/^(ITEMP).*:/ {print $3}'
UserParameter=LOADPCT,cat /var/log/apcupsd.status|awk '/^(LOADPCT).*:/ {print $3}'
UserParameter=NUMXFERS,cat /var/log/apcupsd.status|awk '/^(NUMXFERS).*:/ {print $3}'
UserParameter=BCHARGE,cat /var/log/apcupsd.status|awk '/^(BCHARGE).*:/ {print $3}'
UserParameter=SENSE,cat /var/log/apcupsd.status|awk '/^(SENSE).*:/ {print $3}'
UserParameter=LINEV,cat /var/log/apcupsd.status|awk '/^(LINEV).*:/ {print $3}'
**MS Windows**
В этом примере использован [[awk:awk#Gawk]] 3.1.6.
UserParameter=UPSNAME,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(UPSNAME).*:/ {print $3}"
UserParameter=STATUS,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(STATUS).*:/ {print $3,$4,$5}"
UserParameter=ITEMP,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(ITEMP).*:/ {print $3}"
UserParameter=LOADPCT,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(LOADPCT).*:/ {print $3}"
UserParameter=NUMXFERS,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(NUMXFERS).*:/ {print $3}"
UserParameter=BCHARGE,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(BCHARGE).*:/ {print $3}"
UserParameter=SENSE,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(SENSE).*:/ {print $3}"
UserParameter=LINEV,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(LINEV).*:/ {print $3}"
====== Ссылки ======
https://en.wikipedia.org/wiki/Apcupsd
[[http://www.bog.pp.ru/hard/UPS.html]]
[[http://vladimir-stupin.blogspot.ru/2015/09/apcupsd-apc-smart-ups-1500va.html|apcupsd и APC Smart-UPS 1500VA]]
**[[https://gist.github.com/Voronenko/aefebc363180f8f817b6|configuring apcupsd to suspend all running VM and then shutdown the esxi 5.5 u1 host]]**
{{tag>Hardware UPS APC Linux MS_Windows}}