Добрый день всем. упсник подключен USB кабелем, «комовский» утерян, поэтому «сбросить» регистр по батареям не могу %% Такая проблема, делал калибровкку из PowerChute Business Edition в первый раз упсник все вырубил, не пройдя полную калибровку, во второй и третий раз прошел полностью, под нагрузкой 28-35% держался 20-25 минут. Но не смотря на это агент все равно показывает время работы от батарей 7-9 минут. . поставил на сервер apcupsd И настроил, так же показывает 7-9 минут. решил посмотреть apctest, и поначалу он показывал пункт 10 — perform calibration . но я не стал делать, т.к. аккумуляторы еще не зарядились!? после нескольких запусков остановов apsupsd дождался заряда батарей запустил apstest , сделал selftest потом заметил что пункт с калибровкой пропал и в упор не появляется, не понимаю почему?
по USB или через rs232?
упсник подключен USB кабелем, «комовский» утерян
ищи или паяй(там 3 пина нужно всего) в rs232 кабель и всё будет хорошо.
Да, «ком-шнурок» рулит. видимо без него вашпе никак 🙁 Нашел я свой запасной. Опишу что делал, чтобы «было».
UPSCABLE 940-0024C # или smart UPSTYPE apcsmart DEVICE /dev/ttyS0
При запуске apctest появились совсем другие пункты меню:
провел калибровку. во время калибровки постоянно писалось
Одно и тоже и потом все просто вырубилось минут через 20 Видимо apctest сам не «сбрасывает» ресгитр «Коэффициент емкости батарей» И в-общем, калибровка «впустую», НЕ ПОМОГЛО.
Cбросить регистр «Коэффициент емкости батарей», кстати его значение у меня было «3B», поэтому и показывал
9минут, новые батареи это примерно
я делал через minicom, т.к. не заметил что терминал есть и в apctest, проще делать в нем конечно же. в apctest в меню выбираем пункт
6) Enter TTY mode communicating with UPS
проверяем значение «Коэффициента емкости батарей» жмем Shift+Y, в ответ будет SM жмем 0 выведется значение регистра, у меня было 3B
увеличим его, для этого надо зайти в режим программирования: (если не делали первые пункты, то сначала жмем Shift+Y, в ответ будет SM) Жмем 1 через две секунды еще раз 1, выведется PROG (с первого раза может не оплучится, пробуем еще раз нажимать 1 .. 1), вошли в режим программирования. Жмем 0 выведется текущее значение «Коэффициента емкости батарей» далее жмем + чтобы увеличить это значение, я увеличил до 9A, соответственно чтобы уменьшить, жмем — затем Shift+R проверяем записалось ли значение Shift+Y
выведется значение выходим Esc
Возвращаемся в основное меню и запускаем калибровку (предварительно нагрузив бесперебойник на 30-45%) Чтобы бесперебойник не надоедал писком во время калибровки отключим звуковое оповещение:
возвращемся в основное меню (15) Quit), запускаем калибровку:
2) Perform a Battery Runtime Calibration
проверяем коэффициент емкости
6) Enter TTY mode communicating with UPS
Новое значение коэффициента емоксти батарей в моем случае = «89»
PS: список терминальных команд можно посмотреть здесь Система команд APC Smart UPS или здесь
PPS: ktk, спасибо, что развеяли сомнения.
В жизни никогда ничего такого не делал, просто меняю аккумуляторы на-живую (в т.ч. и в больших 10U дурах) и нажимаю кнопочку «test».
В жизни никогда ничего такого не делал, просто меняю аккумуляторы на-живую (в т.ч. и в больших 10U дурах) и нажимаю кнопочку «test».
у них бывает когда доводишь до состояния «батареи уже умерли и начали гнить», то в nvram прописывается околонулевая емкость батарей и соответственно все новые батареи он воспринимает как старые, лечится только перезаписью этого регистра.
я в свое время с sua3000rmxli3u осознал все прелести этой фигни.
у них бывает когда доводишь до состояния «батареи уже умерли и начали гнить»
А, ну никогда до такого не доводил. Как запищит — заказываю, 2-3 дня и меняю.
После нескольких лет работы умер аккумулятор в бесперебойнике Back-UPS ES 525, который обеспечивает безперебойное питание моего шлюза.
Замена физически не составила труда, просто открываем крышку вытаскиваем старый аккумулятор, и подключаем новый. Закрываем крышку. И в принципе всё начинает работать как раньше, но предварительно нужно занести данные о дате установки нового аккумулятора в eeprom безперебойника, и откалибровать новую батарею.
Для этого останавливаем службу
bash:
И переходим к тестированию и настройке
bash:
Описание пунктов тестирования:
1) Test kill UPS power — тест на отключение. Так как этот тест нельзя запускать с компьютера непосредственно подключённого к APC, то выполнение его пропускаем мимо.
2) Perform self-test — Выполнить самодиагностику нажимаем «2» и затем «Enter»
Цитата:
This test instructs the UPS to perform a self-test operation and reports the result when the test completes. Clearing previous self test result. CLEARED Initiating self test. INITIATED Waiting for test to complete. COMPLETED Result of last self test: PASSED
Значение вывода примерно следующее
Цитата:
Очистка предыдущего результата самопроверки . УДАЛЕНО Начало самопроверки . ИНИЦИАЛИЗАЦИЯ Процесс тестирования . ЗАВЕРШЕНА Результат последнего самотестирования: ПРОШЕЛ
3) Read last self-test result — Посмотреть последний результат самотестирования
4) View/Change battery date — посмотреть и установить дату батареи. Именно то что нам нужно при замене оборудования.
5) View manufacturing date — Показать дату производства У меня 2006 год. Обалдеть.
Текущее значение тревоги: ОТКЛЮЧЕНО E — Включение сигнализации D — Отключение сигнализации Q — Выйти и оставить без изменений
7) View/Change sensitivity — просмотреть или установить скорость переключения на батарею. Зависит от вашей сети питания. В большинстве случаев подходит MEDIUM
View/Change low transfer voltage — посмотреть или установить минимально допустимое напряжение в сети при котором APC переключится на батарею
9) View/Change high transfer voltage — посмотреть или установить максимально допустимое напряжение в сети при котором APC переключится на батарею
10) Perform battery calibration — калибровка батареи.То что нужно при замене аккумулятора.
У меня процесс калибровки длился примерно 30 минут и в конце проверки выдал сообщение о завершении
Цитата:
Select function number: 10
This test instructs the UPS to perform a battery calibration operation and reports the result when the process completes. The battery level must be at 100% and the load must be at least 10% to begin this test.
Battery level is 100% — OK Load level is 12% — OK Clearing previous self test result. CLEARED
The battery calibration should automatically end when the battery level drops below about 25%. This process can take minutes or hours, depending on the size of your UPS and the load attached.
Initiating battery calibration. INITIATED
Waiting for calibration to complete. To abort the calibration, press ENTER.
Сообщение Артём Мамзиков » Чт сен 22, 2022 21:15 #1
Ранее мы разобрали работу и мониторинг Мониторинг APC Smart UPS 2200 через PowerChute Business Edition она так же доступна для Linux но в .rpm — пакете для Debian нужен пакет .deb можно его сконвертировать но при установке он только копирнет файлы в папку opt далее все ручками — поэтому это оставим на потом (разбор установки).
Наиболее распространённые программы под Linux для ИБП APC это APCUPSD и NUT с дополнительными пакетами визуализации, отправки сообщений и т.д. Под них уже есть готовые шаблонных заббикс но через UserParameter, я сделал свои шаблоны для которых дополнительные данные прописывать на проверяемом узле не надо, все запрашивается (доступны разные варианты) и обрабатывается на самом заббикс сервере.
Делаем на основе APCUPSD доступна на Linux и Windows.
Установка будет производится на Debian 10 с подключённой ИБП APC Smart UPS 2200.
В ответе получаем: Bus 002 Device 004: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Устанавливаем из репозитория apcupsd и документацию
# # Обратите внимание, что демон apcupsd должен быть перезапущен, чтобы изменения в # этот файл конфигурации станет активным. #
# НАЗВАНИЕ ИБП xxx # Используйте это, чтобы дать вашему ИБП имя в файлах журналов и т.п. Это # особенно полезно, если у вас несколько ИБП. Это не # установить ЭСППЗУ EEPROM. Должно быть 8 символов или меньше. #UPSNAME
# КАБЕЛЬ ИБП # Определяет тип кабеля, соединяющего ИБП с компьютером. # # Возможные общие варианты для : # simple, smart, ether, usb # # Или можно использовать конкретный номер модели кабеля: # 940-0119A, 940-0127A, 940-0128A, 940-0020B, # 940-0020C, 940-0023A, 940-0024B, 940-0024C, # 940-1524C, 940-0024G, 940-0095A, 940-0095B, # 940-0095C, 940-0625A, M-04-02-2000 # UPSCABLE usb
# Чтобы заставить работать apcupsd, в дополнение к определению кабеля # выше, вы также должны определить ИБП ТИП UPSTYPE, который соответствует # тип вашего ИБП (подробности см. в описании). # Вы также должны указать УСТРОЙСТВО, иногда называемое портом. # Для USB-ИБП оставьте директиву DEVICE пустой. За # других типов ИБП необходимо указать соответствующий порт или адрес. # # ИБП ТИП УСТРОЙСТВ Описание # apcsmart /dev/tty** Новое последовательное символьное устройство, подходящее для # Модели SmartUPS(Умное ИБП), использующие последовательный кабель (не USB). # # usb Большинство новых ИБП имеют USB. Пустое УСТРОЙСТВО # параметр включает автоопределение, т.е. # лучший выбор для большинства инсталляций. # # net hostname:port Сетевая ссылка на главный apcupsd через apcupsd # Сетевой информационный сервер. Это используется, если # ИБП, питающий ваш компьютер, подключен к # другой компьютер для мониторинга. # # snmp hostname:port:vendor:community # Сетевой канал SNMP для ИБП с поддержкой SNMP. # Имя хоста — это IP-адрес или имя хоста ИБП. # в сети. Поставщик может быть «APC» или # «APC_NOTRAP». «APC_NOTRAP» отключит ловушку trap SNMP. # ловля; обычно вы хотите «APC». Порт обычно # 161. Сообщество обычно «приватное»»private». # # netsnmp hostname:port:vendor:community # УСТАРЕВШИЙ # То же, что и SNMP выше, но требует использования # библиотека net-snmp. Если у вас нет особой потребности # для этого старого драйвера вам следует использовать ‘snmp’. # # dumb /dev/tty** Старое серийное символьное устройство для использования с # ИБП с простой сигнализацией. # # pcnet ipaddr:username:passphrase:port # Протокол сетевого отключения PowerChute, который можно # используется как альтернатива SNMP с AP9617 # семейство смарт-слотов. ipaddr это IP # адрес платы управления ИБП. имя пользователя и # фраза-пароль — это учетные данные, для которых карта # был настроен. port — это номер порта на # что слушать сообщения от ИБП, обычно # 3052. Если этот параметр пуст или отсутствует, # будет использовано значение по умолчанию 3052. # # modbus /dev/tty** Серийное устройство для использования с новейшими моделями SmartUPS # поддержка протокола MODBUS. # modbus Оставьте параметр DEVICE пустым для MODBUS через USB. # или установите серийный номер ИБП, чтобы гарантировать # что apcupsd привязывается к этому конкретному юниту # (полезно, если у вас более одного ИБП USB). # UPSTYPE usb #DEVICE /dev/ttyS0
# ВРЕМЯ ОПРОСА # Интервал (в секундах), с которым apcupsd опрашивает состояние ИБП. Это # настройка применяется как к непосредственно подключенным ИБП (UPSTYPE apcsmart, usb, # dumb) и сетевых ИБП (UPSTYPE net, snmp). Уменьшение этого параметра # улучшит реакцию apcupsd на определенные события за счет # более высокая загрузка процессора. Значение по умолчанию 60 подходит для большинства # ситуации. POLLTIME 25
# БЛОКИРОВАТЬ ФАЙЛ # Путь к файлу блокировки устройства. Это каталог, в который файл блокировки # будет написано. Каталог должен уже существовать; apcupsd не создаст # Это. Фактическое имя файла блокировки вычисляется из DEVICE. # Не используется в Win32. LOCKFILE /var/lock
# КАТАЛОГ СЦЕНАРИЙ # Каталог, в котором расположены сценарии apccontrol и событий. SCRIPTDIR /etc/apcupsd
# СБОЙ ПИТАНИЯ НАПРАВЛ. # Каталог для записи файла флага сбоя питания. Этот файл # создается, когда apcupsd инициирует отключение системы и # проверено в сценариях остановки ОС, чтобы определить, # (отключение выходной мощности ИБП) требуется. PWRFAILDIR /etc/apcupsd
# Каталог БЕЗ ВХОДА в СИСТЕМУ # Каталог, в который нужно записать файл nologin (без входа). Существование # этого файла флага сообщает операционной системе запретить новые входы в систему. NOLOGINDIR /etc
# # ======== Параметры конфигурации, используемые во время сбоев питания ========== #
# ЗАДЕРЖКА ВКЛЮЧЕНИЯ БАТАРЕИ — это время в секундах с момента сбоя питания # обнаруживается до тех пор, пока мы не отреагируем на него событием включения батареи. # # Это означает, что управление apc будет вызвано с аргументом об отключении питания # немедленно при обнаружении сбоя питания. Однако, в # аргумент на батареи передается элементу управления ПК только после # ВРЕМЯ ЗАДЕРЖКИ ВКЛЮЧЕНИЯ время. Если вы не хотите, чтобы вас раздражали короткие # сбои в подаче питания, убедитесь, что отключение питания apc control ничего не делает # т.е. прокомментируйте строку. ONBATTERYDELAY 6
# # Примечание: УРОВЕНЬ ЗАРЯДА БАТАРЕИ(BATTERYLEVEL), МИНУТЫ(MINUTES) и ТАЙМ-АУТ(TIMEOUT) работают совместно, поэтому # первое, что произойдет, приведет к инициированию завершения работы. #
# Если во время сбоя питания оставшийся процент заряда батареи # (# (как сообщает ИБП) ниже или равно УРОВНЮ ЗАРЯДА БАТАРЕИ, # apcupsd инициирует завершение работы системы. BATTERYLEVEL 20
# Если во время сбоя питания оставшееся время выполнения в минутах # (как рассчитывается внутри ИБП) меньше или равно МИНУТАМ, # apcupsd, инициирует завершение работы системы. MINUTES 5
# Если во время сбоя питания ИБП работал от батарей в течение ТАЙМ-аута # через много секунд или дольше apcupsd инициирует завершение работы системы. # Значение 0 отключает этот таймер. # # Обратите внимание, что если у вас есть интеллектуальный ИБП, вы, скорее всего, захотите отключить # # это время, установив его равным нулю. Таким образом, ваши ИБП будут продолжать # # работать от батарей до тех пор, пока оставшийся процент заряда не упадет до УРОВНЯ заряда БАТАРЕИ или ниже него., # или оставшееся время автономной работы упадет до нескольких МИНУТ или ниже. Конечно, # если вы проводите тестирование, установка этого значения на 60 приводит к быстрому завершению работы системы # если вы выдернете вилку из розетки. # Если у вас более старый немой ИБП, вам нужно будет установить значение меньше, чем # время, когда вы знаете, что можете работать на батарейках. TIMEOUT 0
# Время в секундах между выходом раздражающих пользователей из системы до # завершение работы системы. 0 отключает. ANNOY 300
# Первоначальная задержка после сбоя питания перед предупреждением пользователей о получении # выключите систему. ANNOYDELAY 60
# Условие, определяющее, когда пользователям запрещается # вход в систему во время сбоя питания. # # НЕТ ВХОДА В СИСТЕМУ [ disable | timeout | percent | minutes | always ] NOLOGON disable
# Если ЗАДЕРЖКА ЗАВЕРШЕНИЯ не равна нулю, apcupsd продолжит работу после # было запрошено завершение работы, и по истечении указанного времени в # секундная попытка отключить питание. Это предназначено для использования в системах # где apcupsd не может восстановить управление после завершения работы. # # ЗАДЕРЖКА ОТКЛЮЧЕНИЯ 0 отключает KILLDELAY 0
# # ==== Инструкции по настройке Сервера сетевой информации ==== #
# NETSERVER [ on | off ] on. включает, off. отключает сеть # информационный сервер. Если состояние сети включено, появится информация о сети # серверный процесс будет запущен для обслуживания СТАТУСА и # Данные о событиях по сети (используются программами CGI). NETSERVER on
# NISIP # IP-адрес, по которому NIS-сервер будет прослушивать входящие соединения. # # Это полезно, если ваш сервер является многоквартирным (имеет более одного # сетевого интерфейса и IP-адреса). Значение по умолчанию равно 0.0.0.0, которое # означает, что любой входящий запрос будет обработан. В качестве альтернативы вы можете # настроить этот параметр на любой конкретный IP-адрес вашего сервера и # NIS будет прослушивать соединения только на этом интерфейсе. Используйте # адрес обратной связи (127.0.0.1) для приема подключений только от # локальной машины. NISIP 127.0.0.1
# NISPORT значение по умолчанию — 3551, зарегистрированное в IANA # порт, используемый для отправки данных о СОСТОЯНИИ и СОБЫТИЯХ по сети. # # Он не используется, если не включен СЕТЕВОЙ СЕРВЕР. Если вы измените этот порт, # вам нужно будет изменить соответствующее значение в каталоге cgi # и перестроить программы cgi. NISPORT 3551
# Если вы хотите, чтобы последние несколько СОБЫТИЙ были доступны по сети # # с помощью сервера сетевой информации вы должны определить ФАЙЛ СОБЫТИЙ. EVENTSFILE /var/log/apcupsd.events
# EVENTSFILEMAX # По умолчанию размер ФАЙЛА СОБЫТИЙ не должен превышать # 10 килобайт. Когда размер файла превысит это ограничение, более старые СОБЫТИЯ будут # должны быть удалены с начала файла (первый вход — первый выход). То # параметру EVENTSFILEMAX можно присвоить другое значение в килобайтах или установить # # к нулю, чтобы позволить ФАЙЛУ СОБЫТИЙ неограниченно расти. EVENTSFILEMAX 10
# # ========== Инструкции конфигурации, используемые при совместном использовании ============= # ИБП с несколькими машинами
# # Остальные элементы предназначены ТОЛЬКО для общих ИБП (плата расширения APC) #
# UPSCLASS [ standalone | shareslave | sharemaster ] # Обычно автономный, если только вы не используете общий ИБП с помощью карты APC Share UPS. UPSCLASS standalone
# UPSMODE [ disable | share ] # Обычно отключается, если вы не используете общий доступ к ИБП с помощью карты APC Share UPS. UPSMODE disable
# # ===== Инструкции конфигурации для управления протоколированием системы apcupsd ======== #
# Интервал времени в секундах между записью файла СОСТОЯНИЯ; 0 отключает STATTIME 0
# Расположение файла СОСТОЯНИЯ (записывается только в том случае, если ВРЕМЯ НАЧАЛА не равно нулю) STATFILE /var/log/apcupsd.status
# LOGSTATS [ on | off ] on включено, off отключено # Обратите внимание! Это генерирует много выходных данных, поэтому, если # вы включаете это устройство, убедитесь, что # файл, определенный в syslog.conf для LOG_NOTICE, является именованным каналом. # Вы, вероятно, не хотите, чтобы это было включено. LOGSTATS off
# Интервал времени в секундах между записью записей ДАННЫХ в файл журнала. 0 отключает. DATATIME 0
# СРЕДСТВО определяет средство ведения журнала (класс) для ведения журнала в системный журнал. # Если не указано, по умолчанию используется значение «демон». Это полезно # если вы хотите отделить данные, регистрируемые apcupsd, от других программ. #FACILITY DAEMON
# # ========== Инструкции по настройке, используемые при обновлении EPROM ИБП ========= #
# # Эти инструкции используются только apctest при выборе «Установить EEPROM с конфигурацией # значения файла» из меню EEPROM. ЭТИ ЗАЯВЛЕНИЯ НЕ ОКАЗЫВАЮТ НИКАКОГО ВЛИЯНИЯ НА APCUPSD. #
# Имя ИБП, не более 8 символов #UPSNAME UPS_IDEN
# Дата заряда батареи — 8 символов #BATTDATE mm/dd/yy
# Чувствительность к качеству сетевого напряжения (H вызывает более быструю передачу на батареи) # SENSITIVITY H M L (по умолчанию = H) #SENSITIVITY H
# Задержка ИБП после возврата питания (секунды) # ПРОБУЖДЕНИЕ 000 060 180 300 (по умолчанию = 0) WAKEUP 5
# Льготный период ИБП после запроса на отключение питания (секунды) # СПАТЬ 020 180 300 600 (по умолчанию = 20) #SLEEP 180
# Низкое напряжение в сети, вызывающее передачу на батареи # Допустимые значения зависят от вашей модели, как определено в последней букве # # ПРОШИВКИ или МОДЕЛИ APC. Некоторыми репрезентативными значениями являются: # D 106 103 100 097 # M 177 172 168 182 # A 092 090 088 086 # I 208 204 200 196 (значение по умолчанию = 0 => недопустимо) LOTRANSFER 208
# Высокое напряжение в сети, вызывающее передачу на батареи # Допустимые значения зависят от вашей модели, как определено в последней букве # # ПРОШИВКИ или МОДЕЛИ APC. Некоторыми репрезентативными значениями являются: # D 127 130 133 136 # M 229 234 239 224 # A 108 110 112 114 # I 253 257 261 265 (значение по умолчанию = 0 => недопустимо) HITRANSFER 253
# Зарядное устройство, необходимое для восстановления питания # Процент заряда батареи, необходимый ИБП для восстановления питания подключенного оборудования. # # ПЛАТА ЗА ВОЗВРАТ 00 15 50 90 (по умолчанию = 15) RETURNCHARGE 1
# Задержка сигнала тревоги # 0 = нулевая задержка после сбоя pwr, T = сбой питания + 30 сек, L = низкий заряд батареи, N = никогда # BEEPSTATE 0 T L N (по умолчанию = 0) #BEEPSTATE T
# Задержка предупреждения о низком заряде батареи в минутах # LOWBATT 02 05 07 10 (по умолчанию = 02) #LOWBATT 2
# Выходное напряжение ИБП при работе от батарей # Допустимые значения зависят от вашей модели, как определено в последней букве # # ПРОШИВКИ или МОДЕЛИ APC. Некоторыми репрезентативными значениями являются: # D 115 # M 208 # A 100 # I 230 240 220 225 (значение по умолчанию = 0 => недопустимо) OUTPUTVOLTS 230
# Интервал самопроверки в часах 336=2 недели, 168=1 неделя, ON=при включении питания, OFF=Никогда # SELFTEST 336 168 ON OFF (по умолчанию = 336) SELFTEST 336 ON
# Пример файла конфигурации мультименеджера # # Этот файл не требуется. Без этого multimon будет использовать макет поля по умолчанию. # # Выбор температуры # # Выберите «TEMP» для градуса Цельсия или «TEMP» для градуса Фаренгейта. Это переопределит # параметр —enable-celsius из компиляции. ТЕМПЕРАТУРА ИБП (ниже) будет. # используйте этот параметр по умолчанию.
# Формат: # ПОЛЕ » » » » # FIELD battpct «Battery Chg» «%» # # это либо слово из протокола ИБП, например battchg (см. # таблицу в src/cgi/upsfetch.c), либо специальное слово в верхнем регистре. # # Специальные слова — это: # MODEL — Показать название модели для этой системы голубым цветом # # STATUS — Проанализируйте статус для этой системы, используя соответствующий цвет # # UPSTEMP Температура ИБП и температура AMB используют шкалу по умолчанию. Это значение равно C, если вы используете # —enable-celsius во время компиляции *or* * или *, если вы используете «TEMPS» выше. # # UPSTEMP — Отображение температуры ИБП в шкале по умолчанию (суффикс игнорируется) # AMBTEMP — Отображение температуры окружающей среды в шкале по умолчанию (суффикс игнорируется) # # UPSTEMPC — Отображение температуры ИБП в градусах C (суффикс игнорируется) # UPSTEMPF — Отображение температуры ИБП в градусах по Фаренгейту (суффикс игнорируется) # AMBTEMPC — Отображение температуры окружающей среды в градусах C (суффикс игнорируется) # AMBTEMPF — Отображение температуры окружающей среды в градусах по Фаренгейту (суффикс игнорируется) # # Их называют «особенными», поскольку они действительно понимают # печатаемый контент и делают другие вещи, основываясь на том, что там есть # # — это то, как вы хотели бы, чтобы этот столбец назывался на странице. # Помните, что это HTML, поэтому вы действительно можете встроить сюда разметку. # Это означает, что вы даже можете включить сюда изображения. Вы можете включить цитаты # (и обратная косая черта!) в строке, экранируя их с помощью обратной косой черты (\). # # обычно представляет собой что-то вроде % или VAC. Это полезно, если # вы хотите передать единицы измерения, которые применяются к значению. # # Пример конфигурации
FIELD SYSTEM «System» «» FIELD MODEL «Model» «» FIELD STATUS «Status» «» FIELD battpct «Battery Chg» «%» FIELD utility «Utility» «VAC» FIELD loadpct «UPS Load» «%» FIELD UPSTEMP «UPS Temp» «» FIELD runtime «Batt. Run Time» «min.» FIELD DATA «Data» «All data»
# Они полезны только в том случае, если у вас есть модель Smart-UPS с функцией Measure-UPS II # измерительная карта. В настоящее время никакие другие модели не поддерживают эти функции. # # FIELD AMBTEMP «температура окружающей среды» «» # FIELD HUMIDITY «Влажность окружающей среды» «%»
#!/bin/sh # # Авторское право (C) 1999-2002 Риккардо Факкетти # # платформы/apccontrol. Генерируется из apccontrol.in путем настройки. # # Обратите внимание, что это универсальный файл, который может использоваться большинством # систем. Если конкретная система должна иметь что-то # специальное, начните с этого файла и поместите копию в подкаталог платформы. #
# # Эти переменные необходимы для настройки других переменных autoconf. # prefix=/usr exec_prefix=$
export SYSADMIN=root export APCUPSD_MAIL=»mail» if [ -f $SCRIPTDIR/config ]; then . $SCRIPTDIR/config ; fi
# # Объедините все выходные данные этого скрипта в файл событий # Обратите внимание, что следующее убивает сценарий в ситуации сбоя питания # где диски монтируются только для чтения. # exec >>/var/log/apcupsd.events 2>&1
# # Эта часть предназначена для замены поведения по умолчанию вашим собственным сценарием, # perl или программа на языке Си. # Вы можете настроить каждую отдельную команду, создающую исполняемый файл (может быть # скрипт или скомпилированная программа) и вызывая его так же, как параметр $1 # передается apcupsd этому скрипту. # # После выполнения вашего скрипта apc control продолжит выполнение действия по умолчанию. # Если вы не хотите, чтобы apccontrol продолжался, выйдите из своего скрипта с помощью exit. # код 99. Например, «выход 99». # # ПРЕДУПРЕЖДЕНИЕ: файл управления apc будет перезаписываться при каждом обновлении вашего # apcupsd, выполняем `make install». Ваши собственные настроенные скрипты не будут # перезаписано. Если вы хотите внести изменения в этот файл (не рекомендуется), вы # # следует изменить apc control.sh.in а затем повторно запустите процесс настройки. # if [ -f $/$ <1>-a -x $/$ <1>] then $/$ <1>$ <2>$ <3>$<4> # код выхода 99 означает, что он не хочет, чтобы мы выполняли действие по умолчанию if [ $? = 99 ] ; then exit 0 fi fi
case «$1» in killpower) echo «Управление Apc выполняется: $ —отключение питания ИБП $<2>» | ($ 2>/dev/null || cat) sleep 10 $ —killpower echo «Управление Apc выполнило: $ —отключение питания ИБП $<2>» | ($ 2>/dev/null || cat) ;; commfailure) echo «Предупреждение о потере связи с ИБП $<2>» | $ ;; commok) echo «Связь восстановлена с ИБП $<2>» | $ ;; # # отключение питания, включение батареи, выключение батареи, повторное подключение к сети происходят события # в таком порядке. # powerout) ;; onbattery) echo «Сбой питания ИБП $<2>. Работает на батарейках.» | $ ;; offbattery) echo «Питание ИБП вернулось $<2>. » | $ ;; mainsback) if [ -f /etc/apcupsd/powerfail ] ; then printf «Продолжение работы с выключением.» | $ fi ;; failing) echo «Разряженный аккумулятор ИБП $<2>. Выполнение выключения.» | $ ;; timeout) echo «Превышен лимит времени автономной работы ИБП $<2>. Выполнение выключения.» | $ ;; loadlimit) echo «Оставшийся заряд батареи ниже предельного значения для ИБП $<2>. Выполнение выключения.» | $ ;; runlimit) echo «Оставшееся время автономной работы ИБП ниже предельного значения $<2>. Выполнение выключения.» | $ ;; doreboot) echo «ИБП $ <2>инициирующая Последовательность Перезагрузки» | $ $ -r now «apcupsd ИБП $ <2>инициированная перезагрузка» ;; doshutdown) echo «ИБП $ <2>инициированная Последовательность Выключения» | $ $ -h now «apcupsd ИБП $ <2>инициированное завершение работы» ;; annoyme) echo «Проблемы с питанием ИБП $<2>. Пожалуйста, выйдите из системы.» | $ ;; emergency) echo «Аварийное Отключение. Возможный отказ батареи ИБП $<2>.» | $ ;; changeme) echo «Чрезвычайная ситуация! В ИБП вышли из строя батареи $<2>. Замените их СЕЙЧАС на новые» | $ ;; remotedown) echo «Удаленное выключение. Начало Последовательности Выключения.» | $ ;; startselftest) ;; endselftest) ;; battdetach) ;; battattach) ;; *) echo «Использование: $ <0##*/>команд» echo » предупреждение: этот скрипт предназначен для запуска с помощью» echo » apcupsd и никогда не должны запускаться пользователями.» exit 1 ;; esac
#!/bin/sh # # Этот сценарий оболочки, если он помещен в /etc/apcupsd # будет вызван /etc/apcupsd/apccontrol, когда apcupsd # определяет, что аккумулятор необходимо заменить. # Мы отправляем root сообщение по электронной почте, чтобы уведомить его. #
HOSTNAME=`hostname` MSG=»$HOSTNAME ИБП $1 аккумулятор нужно заменить ПРЯМО СЕЙЧАС.» # ( echo «$MSG» echo » » /sbin/apcaccess status ) | $APCUPSD_MAIL -s «$MSG» $SYSADMIN exit 0
#!/bin/sh # # Этот сценарий оболочки, если он помещен в /etc/apcupsd # будет вызван /etc/apcupsd/apccontrol, когда apcupsd # теряется контакт с ИБП (т.е. последовательное соединение не отвечает). # Мы отправляем root сообщение по электронной почте, чтобы уведомить его. #
HOSTNAME=`hostname` MSG=»$HOSTNAME Связь с ИБП $1 потеряна» # ( echo «$MSG» ) | $APCUPSD_MAIL -s «$MSG» $SYSADMIN exit 0
#!/bin/sh # # Этот сценарий оболочки, если он помещен в /etc/apcupsd # будет вызван /etc/apcupsd/apccontrol, когда apcupsd # теряется контакт с ИБП (т.е. последовательное соединение не отвечает). # Мы отправляем root сообщение по электронной почте, чтобы уведомить его. #
HOSTNAME=`hostname` MSG=»$HOSTNAME Связь с ИБП $1 восстановлена» # ( echo «$MSG» echo » » /sbin/apcaccess status ) | $APCUPSD_MAIL -s «$MSG» $SYSADMIN exit 0
#!/bin/sh # # Этот сценарий оболочки, если он помещен в /etc/apcupsd # будет вызван /etc/apcupsd/apccontrol перед # apcupsd отключает питание ИБП. Вы, вероятно, # необходимо отредактировать это, чтобы смонтировать /usr и /var, доступные только для чтения, # в противном случае apcupsd не запустится.
# Выберите одно из этих решений #mount -n -o ro /usr #mount -n -o ro /var # #mount | awk ‘/ext2/ < print $3 >‘ | while read line; do # mount -n -o ro,remount $line #done #mount | awk ‘/ext3/ < print $3 >‘ | while read line; do # mount -n -o ro,remount $line #done #mount | awk ‘/reiserfs/ < print $3 >‘ | while read line; do # mount -n -o ro,remount $line #done
#!/bin/sh # # Этот сценарий оболочки, если он помещен в /etc/apcupsd # будет вызван /etc/apcupsd/apccontrol, когда. # # ИБП возвращается к электросети после сбоя питания. # Мы отправляем root сообщение по электронной почте, чтобы уведомить его. #
#!/bin/sh # # Этот сценарий оболочки, если он помещен в /etc/apcupsd # будет вызван /etc/apcupsd/apccontrol, когда ИБП # работает от батареек. # Мы отправляем root сообщение по электронной почте, чтобы уведомить его. #
### BEGIN INIT INFO # Provides: ибп-монитор # Required-Start: # Required-Stop: # Should-Start: # Should-Stop: # Default-Start: # Default-Stop: # Short-Description: Стоп ибп-монитор # Description: apcupsd обеспечивает управление питанием ИБП для продуктов APC. ### END INIT INFO
# Мартин Митчелл # модификации Гордона Морхауса Апрель 2001 года # # Изменено на «неблокирующее» Бьорном Вибергом 2004-10-21 # Поместите этот скрипт в /etc/init.d/ups-monitor, чтобы /etc/init.d/halt мог его найти!
case «$1» in poweroff | killpower) if [ -f /etc/apcupsd/powerfail ]; then echo «» echo -n «apcupsd: Заказ ИБП на отключение питания. » /etc/apcupsd/apccontrol killpower echo «Выполнено.» echo «» echo «Пожалуйста, убедитесь, что ИБП выключен перед перезагрузкой.» echo «В противном случае ИБП может отключить питание во время перезагрузки!» echo «» fi ;;
Добавляем apcupsd в автозагрузку в зависимости от ОС: chkconfig —add apcupsd chkconfig apcupsd on или update-rc.d apcupsd defaults update-rc.d apcupsd defaults или systemctl enable apcupsd.service systemctl enable apcupsd.service
Проверка состояния ИБП: apcaccess
Для нескольких ИБП apcaccess status 127.0.0.1:3551 — 1я ИБП apcaccess status 127.0.0.1:3552 — 2я ИБП apcaccess status 127.0.0.1:3553 — 3я ИБП
Пример максимального ответа с описанием: APC : 001,043,1019 (Заголовок: версия формата данных, число записей, длина данных в байтах.) DATE : 2022-09-02 16:18:34 +0300 (Дата, время получения данных с ИБП.) HOSTNAME : ZABBIXSERVER (Имя хоста к которому подключён ИБП.) UPSNAME : ZABBIXSERVER (Имя ИБП, записанное EEPROM или заданное в поле UPSNAME файла настройки.) VERSION : 3.14.14 (31 May 2016) debian (Версия, дата сборки apcupsd, платформа (ОС).) CABLE : USB Cable (Тип кабеля, заданный в поле UPSCABLE файла настройки.) DRIVER : USB UPS Driver (Название драйвера apcupsd) MODEL : Smart-UPS 2200 RM (Модель ИБП) UPSMODE : Stand Alone (Режим работы apcupsd заданный в поле UPSMODE файла настройки) STARTTIME: 2022-09-02 16:11:11 +0300 (Дата, время запуска apcupsd.) STATUS : ONLINE (Текущее состояние (статус) ИБП.) MASTERUPD: (Последний раз, когда мастер отправлял обновление ведомому) LINEV : 221.7 Volts (Напряжение на входе ИБП) LOADPCT : 26.6 Percent (Уровень нагрузки ИБП (%)) BCHARGE : 100.0 Percent (Уровень заряда батареи (%).) TIMELEFT : 7.0 Minutes (Оставшееся время работы от батареи по оценке ИБП.) MBATTCHG : 5 Percent (Уровень заряда батареи (BCHARGE) опустится ниже уровня который задан в файле настройки переменной BATTERYLEVEL то тогда будет начато выключение системы.) MINTIMEL : 3 Minutes (Время работы от батарей (в минутах) перед началом отключения системы. Задаётся в файле настроек, в переменной MINUTES.) MAXTIME : 0 Seconds (Время работы от батарей (в минутах) перед началом отключения системы. Задаётся в файле настроек, в переменной TIMEOUT.) MAXLINEV : 227.5 Volts (Максимальное линейное напряжение с момента запуска ИБП, согласно отчету ИБП.) MINLINEV : 224.6 Volts (Минимальное линейное напряжение с момента запуска ИБП, согласно отчету ИБП.) OUTPUTV : 221.7 Volts (Напряжение на выходе ИБП (В)) SENSE : High (Уровень чувствительности ИБП чувствительность UPS к изменениям входного напряжения (LINEV): Low (низкая), Medium (средняя), High (высокая)) DWAKE : -1 Seconds (Время ожидания (в секундах) после возобновления питания до включения нагрузки.) DSHUTD : 180 Seconds (Задержка после получения ИБП команды на выключение перед отключением нагрузки.) DLOWBATT : 02 Minutes (Оставшееся время работы, ниже которого ИБП отправляет сигнал низкого заряда батареи. В этот момент apcupsd вызовет немедленное аварийное отключение.) LOTRANS : 208.0 Volts (Нижняя граница допустимого напряжения до перехода на батареи.) HITRANS : 253.0 Volts (Верхняя граница допустимого напряжения до перехода на батареи.) RETPCT : 0.0 Percent (Минимальный уровень (%) зарядка батареи после возобновления питания для включения нагрузки.) ITEMP : 13.5 C (Температура внутри ИБП.) ALARMDEL : 30 Seconds (Задержка перед выдачей сигнала тревоги.) BATTV : 55.1 Volts (Напряжение батареи.) LINEFREQ : 50.0 Hz (Частота переменного тока (Гц) на входе ИБП.) LASTXFER : No transfers since turnon (Причина последнего перехода на работу от батарей.) NUMXFERS : 0 (Количество переходов на питание от батареи с момента запуска APCUPSd.) XONBATT : 2016-08-19 09:41:42 +0300 (Дата, время последнего перехода на работу от батарей. Если недоступно тогда N/A.) TONBATT : 0 Seconds (Текущее время работы от батарей. Если нет, то 0.) CUMONBATT: 0 Seconds (Общее (суммарное) время работы от батарей (в секундах) с времени запуска APCUPSd.) XOFFBATT : N/A (Дата, время последнего перехода с батарей. Если недоступно тогда N/A.) SELFTEST : NO (Результат самотестирования: OK: всё в порядке; BT: тест не прошёл из-за недостаточной ёмкости батарей; NG: тест не прошёл из-за перегрузки; NO: Нет данных) STESTI : 14 days (Интервал в часах между выполнением самотестирования.) LASTSTEST: 2016-08-19 09:41:42 +0300 (Время последнего самотестирования.) STATFLAG : 0x05000008 (Флаг состояния.) DIPSW : (Текущие настройки переключателей ИБП (dip switch).) REG1 : (Значение регистра неисправностей ИБП 1.) REG2 : (Значение регистра неисправностей ИБП 2.) REG3 : (Значение регистра неисправностей ИБП 3.) MANDATE : 2010-01-07 (Дата производства ИБП.) SERIALNO : JS1002028188 (Серийный номер ИБП.) BATTDATE : 2010-01-07 (Дата последней замены батарей. Формат: ММ/ДД/ГГ Необходимо менять значение вручную) NOMOUTV : 230 Volts (Выходное напряжение, которое ИБП будет пытаться обеспечить при питании от батареи.) NOMBATTV : 48.0 Volts (Нормальное напряжение батарей) EXTBATTS : (Количество внешних батарейных модулей.) BADBATTS : (Количество неисправных внешних батарейных модулей) FIRMWARE : 665.6.I USB FW:7.4 (Версия микропрограммы ИБП.) APCMODEL : (Старый идентификатор кода модели APC.) NOMINV : (Входное напряжение, на которое рассчитан ИБП.) NOMPOWER : (Максимальная мощность в ваттах, на которую рассчитан ИБП.) AMBTEMP : (Температура снаружи ИБП) HUMIDITY : (Влажность воздуха, измеренная ИБП.) LINEFAIL : (Состояние напряжения входной линии.) BATTSTAT : (Состояние батарей) END APC : 2022-09-02 16:18:41 +0300 (Дата, время когда данные полученные с ИБП были записаны в файл.)
Ответ от Smart-UPS 2200 RM : APC : 001,043,1019 DATE : 2022-09-06 09:00:06 +0300 HOSTNAME : ZABBIXSERVER VERSION : 3.14.14 (31 May 2016) debian UPSNAME : ZABBIXSERVER CABLE : USB Cable DRIVER : USB UPS Driver UPSMODE : Stand Alone STARTTIME: 2022-09-02 16:11:11 +0300 MODEL : Smart-UPS 2200 RM STATUS : ONLINE LINEV : 218.8 Volts LOADPCT : 29.2 Percent BCHARGE : 100.0 Percent TIMELEFT : 6.0 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds OUTPUTV : 218.8 Volts SENSE : High DWAKE : -1 Seconds DSHUTD : 180 Seconds LOTRANS : 208.0 Volts HITRANS : 253.0 Volts RETPCT : 0.0 Percent ITEMP : 17.5 C ALARMDEL : 30 Seconds BATTV : 55.1 Volts LINEFREQ : 50.0 Hz LASTXFER : No transfers since turnon NUMXFERS : 0 TONBATT : 0 Seconds CUMONBATT: 0 Seconds XOFFBATT : N/A SELFTEST : NO STESTI : 14 days STATFLAG : 0x05000008 MANDATE : 2010-01-07 SERIALNO : JS1002028188 BATTDATE : 2010-01-07 NOMOUTV : 230 Volts NOMBATTV : 48.0 Volts FIRMWARE : 665.6.I USB FW:7.4 END APC : 2022-09-06 09:00:39 +0300
Для отправки оповещений на почту например:
Дополнительно можно установить документацию и APC UPS Power Management (web interface):
— Включить (уже включен просто пример) a2dissite 000-default.conf -Отключить
Немного подправим конфиг, чтоб открывался из другой директории, а не скачивался как файл По умолчанию для Apache/2.4.25 (Debian)
— перечитываем применяем конфиг systemctl restart apache2 — Если не сработало перезапускаем
Данные можем получить: командой apcaccess status 127.0.0.1:3551 (заббикс агент, внешний скрипт, shh и другими вариантами), Либо HTTP агентом http://192.168.175.111/cgi-bin/apcupsd/upsfstats.cgi
Переходим к созданию шаблона.
APC ИБП LINUX через APCUPSD
Сообщение Артём Мамзиков » Чт сен 22, 2022 21:20 #2
Несколько ИБП APC к одному LINUX взято с интернета
apcupsd и несколько UPS Posted on February 17, 2013 by kirby
Иногда возникает необходимость управлять несколькими UPS на одном сервере даже когда есть несколько серверов и все они запитаны от тех же бесперебойников. Когда-то давно на сервере под RHEL5 я уже настраивал мониторнг нескольких UPS через apcupsd. Так как времена RHEL5 давно минули, то аналогичную конфигурацию я настроил на более современном RHEL6 в виде Scientific Linux 6.4 и apcupsd-3.14.10, последней достуной версии из сторонних пакетов на текущий момент. Имеем три бесперебойника: Smart-UPS 3000 RM XL, Smart-UPS SC1500 и Smart-UPS SMC1500I-2U. 3000 и SMC подключены через “стандартный” USB кабель, а к SC1500 в комплекте шли кабели RS232-RS232 и RS232-USB, который при проверке оказался обычным Prolific 2303 usb2serial. SC1500 была подключена через usb2serial кабель. Основной фокус при использовании нескольких бесперебойников заключается в указании apcupsd конфига под конкретную железку. Чтобы было нагляднее, я стандартный apcupsd.conf скопировал в три конфига соответственно: apcupsd-rm3000.conf, apcupsd-cs1500.conf и apcupsd-smc1500.conf. Из очевидных вещей в каждом каждом конфиге указываем соответствующие UPSNAME исходя из имени бесперебойника. А вот с UPSCABLE, UPSTYPE и DEVICE предстоит заняться более внимательно. С SC1500 всё просто – надо прописать обычные для подключения по последовательному порту параметры UPSCABLE smart и UPSTYPE apcsmart и DEVICE /dev/ttyUSB0. С USB подключением одного ИБП тоже всё просто – параметр DEVICE нужно закоментировать или значение оставить пустым и apcupsd сама найдёт бесперебойник. В случае с двумя ИБП параметр DEVICE надо будет использовать, чтобы “объяснить” apcupsd где какой ИБП. dmesg в Linux всегда для меня выглядел хаосом (в сравнении с *BSD), так что “поиск” нужного устройства делался распространённым “научным” методом. Вот что пишет ядро: # dmesg|grep generic-usb generic-usb 00032221.0001: input,hidraw0: USB HID v1.00 Mouse [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-0000:00:1a.0-1.2/input0 generic-usb 00032221.0002: input,hidraw1: USB HID v1.00 Keyboard [Winbond Electronics Corp Hermon USB hidmouse Device] on usb-0000:00:1a.0-1.2/input1 generic-usb 0003:051D:0002.0003: hiddev96,hidraw2: USB HID v1.10 Device [American Power Conversion Smart-UPS 3000 RM XL FW:691.19.I USB FW:7.4] on usb-0000:00:1d.0-1.5/input0 generic-usb 0003:051D:0003.0004: hiddev97,hidraw3: USB HID v1.00 Device [American Power Conversion Smart-UPS C 1500 FW:UPS 09.7 / on usb-0000:00:1d.0-1.4/input0 Итого на сервере 4 generic-usb устройства – мышь, клавиатура и два бесперебойника. Про оба бесперебойника ядро пишет hiddev9?,hidraw?. Устройство /dev/hiddevXX можно не искать – его нет. Зато есть /dev/usb/hiddev?. Найти взаимосвязь между /dev/usb/hiddev? и hiddev. hidraw? я так и не смог. Продолжая использовать “научный” метод тыка, в конфигурационные файлы для ИБП, подключенных по USB добавил DEVICE /dev/usb/hiddev?. Помимо этого все три конфигурационных файла отличаются портом, NISPORT на котором висит демон, чтобы можно было получать статус с определённой UPS. Дефолтовый NISIP 0.0.0.0 (привет безопасности по умолчанию) поменял на 127.0.0.1, так как мониторинг apcupsd будет вестись локально. Подправил пути на файлы сообщений и статуса (EVENTSFILE и STATFILE), чтобы у каждого запущенного демона был свой собственный набор файлов. Окинем взором различие в конфигурационных файлах: diff3 apcupsd-smc1500.conf apcupsd-cs1500.conf apcupsd-rm3000.conf ==== 1:15c UPSNAME CS1500 2:15c UPSNAME SMC1500I-2U 3:15c UPSNAME RM3000 ==== 1:29c UPSCABLE smart 2:29c UPSCABLE usb 3:29c UPSCABLE usb ==== 1:79,80c UPSTYPE apcsmart DEVICE /dev/ttyUSB0 2:79,80c UPSTYPE usb DEVICE /dev/usb/hiddev1 3:79,80c UPSTYPE usb DEVICE /dev/usb/hiddev0 ==== 1:202c NISPORT 3552 2:202c NISPORT 3553 3:202c NISPORT 3551 ==== 1:206c EVENTSFILE /var/log/apcupsd-cs1500.events 2:206c EVENTSFILE /var/log/apcupsd-smc1500.events 3:206c EVENTSFILE /var/log/apcupsd-rm3000.events ==== 1:241c STATFILE /var/log/apcupsd-cs1500.status 2:241c STATFILE /var/log/apcupsd-smc1500.status 3:241c STATFILE /var/log/apcupsd-rm3000.status
Для мониторинга вручную всё готово. Достаточно запустить /sbin/apcupsd -f /etc/apcupsd/config_name.conf. Для проверки работоспособности запустил apcaccess: [root@mail apcupsd]# apcaccess APC : 001,043,1074 DATE : 2014-02-04 14:20:12 +0400 HOSTNAME : ********** VERSION : 3.14.10 (13 September 2011) redhat UPSNAME : RM3000 CABLE : USB Cable DRIVER : USB UPS Driver UPSMODE : Stand Alone STARTTIME: 2014-02-03 17:25:12 +0400 MODEL : Smart-UPS 3000 RM XL STATUS : ONLINE LINEV : 233.2 Volts LOADPCT : 0.0 Percent Load Capacity BCHARGE : 100.0 Percent TIMELEFT : 137.0 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds OUTPUTV : 233.2 Volts SENSE : High DWAKE : -01 Seconds DSHUTD : 090 Seconds LOTRANS : 208.0 Volts HITRANS : 253.0 Volts RETPCT : 000.0 Percent ITEMP : 24.7 C Internal ALARMDEL : 30 seconds BATTV : 55.1 Volts LINEFREQ : 50.0 Hz LASTXFER : Automatic or explicit self test NUMXFERS : 0 TONBATT : 0 seconds CUMONBATT: 0 seconds XOFFBATT : N/A SELFTEST : NO STESTI : 14 days STATFLAG : 0x07000008 Status Flag MANDATE : 2010-12-17 SERIALNO : XXXXXXXXXXX BATTDATE : 2010-12-17 NOMOUTV : 230 Volts NOMBATTV : 48.0 Volts FIRMWARE : 691.19.I USB FW:7.4 END APC : 2014-02-04 14:20:56 +0400 В данном случае apcaccess выводит информацию, которую по умолчанию берёт на 127.0.0.1 и стандартном порту 3551. Для получения информации о двух других бесперебойниках надо указать соответствующие порты (3552 и 3553): [root@mail apcupsd]# apcaccess status 127.0.0.1:3552 APC : 001,048,1181 DATE : 2014-02-04 14:23:51 +0400 HOSTNAME : ********** VERSION : 3.14.10 (13 September 2011) redhat UPSNAME : CS1500 CABLE : Custom Cable Smart DRIVER : APC Smart UPS (any) UPSMODE : Stand Alone STARTTIME: 2014-02-03 12:36:35 +0400 MODEL : Smart-UPS SC1500 STATUS : ONLINE LINEV : 230.0 Volts LOADPCT : 9.1 Percent Load Capacity BCHARGE : 100.0 Percent TIMELEFT : 121.0 Minutes MBATTCHG : 5 Percent MINTIMEL : 3 Minutes MAXTIME : 0 Seconds MAXLINEV : 230.0 Volts MINLINEV : 230.0 Volts OUTPUTV : 230.0 Volts SENSE : High DWAKE : 000 Seconds DSHUTD : 060 Seconds DLOWBATT : 02 Minutes LOTRANS : 208.0 Volts HITRANS : 253.0 Volts RETPCT : 000.0 Percent ALARMDEL : 5 seconds BATTV : 26.9 Volts LINEFREQ : 50.0 Hz LASTXFER : Line voltage notch or spike NUMXFERS : 0 TONBATT : 0 seconds CUMONBATT: 0 seconds XOFFBATT : N/A SELFTEST : NO STESTI : 336 STATFLAG : 0x07000008 Status Flag REG1 : 0x00 Register 1 REG2 : 0x00 Register 2 REG3 : 0x00 Register 3 MANDATE : 05/31/12 SERIALNO : XXXXXXXXXXX BATTDATE : 05/31/12 NOMOUTV : 230 Volts NOMBATTV : 24.0 Volts FIRMWARE : 738.3.I END APC : 2014-02-04 14:24:07 +0400
Осталось самое весёлое – подправить rc.d скрипты чтобы все три демона стартовали автоматически при запуске системы. Идём в /etc/rc.d/init.d/, где объектом изменений будет скрипт apcupsd. Его так же копирую, в соответствии с вышеописанными именами файлов конфигурации: apcupsd-rm3000, apcupsd-smc1500 и apcupsd-cs1500, а затем редактирую новые стартовые скрипты с учётом имён файлов конфигурации и параметров в них указанных. В скриптах интересуют значения APCPID, указание корректных флагов запуска apcupsd, изменение поведения killproc, чтобы он не убивал одним махом все запущенные процессы apcupsd и имена lock-файлов. Это что касается запуска демона. Для проверки статуса необходимо указать соответствующий демону NISPORT в параметрах запуска apcaccess. После всех необходимых изменений в стартовых скриптах, эти стартовые скрипты надо “зарегистрировать”, а стандартный скрипт apcupsd наоборот – отключить. Для этого имена новых скриптов передаём в качестве параметра chkconfig: chkconfig —add apcupsd-rm3000 и отключаем стандартный скрипт: chkconfig —del apcupsd Теперь в ntsysv доступны новые скрипты и нет стандартного. Ставим на них * и радуемся результатам содеянного: [root@mail apcupsd]# service apcupsd-rm3000 start Starting UPS monitoring: [ OK ] [root@mail apcupsd]# ps ax|grep apc 5750 ? Ssl 0:00 /sbin/apcupsd -f /etc/apcupsd/apcupsd-rm3000.conf -P /var/run/apcupsd-rm3000.pid 5781 ? Ssl 0:00 /sbin/apcupsd -f /etc/apcupsd/apcupsd-smc1500.conf -P /var/run/apcupsd-cs1500a.pid 5810 ? Ssl 0:00 /sbin/apcupsd -f /etc/apcupsd/apcupsd-cs1500.conf -P /var/run/apcupsd-cs1500b.pid 5851 pts/5 S+ 0:00 grep apc
Целиком файлы конфигов я выкладывать не буду ни в этот раз, ни в последующие, дабы предотвратить бездумный copy-paste. Для всех файлов максимум будут diff относительно оригинального файл