~~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}}