Главная > Рабочее, Технический изврат > Windows, apcupsd и несколько бесперебойников

Windows, apcupsd и несколько бесперебойников

Возникла необходимость мониторить несколько бесперебойников, подключенных к одному виндовому серверу. Один из них питал сам сервер, а другой – разное телекоммуникационное оборудование. Так сложилось, что мы не любим родной софт от APC за его большой вес и слишком понтовый интерфейс. Традиционно мы используем свободную альтернативу – apcupsd, который существует под все распространенные ОС.

С первым UPS не возникло проблем, все сразу зацепилось и начало показывать в трее. А вот как прикручивать второй – не ясно. Документация говорит, что для каждого бесперебойника надо запускать отдельный экземпляр apcupsd со своим конфигурационным файлом. Оказалось, что в Windows apcupsd.exe не принимает такого параметра, как имя конфига. Более того, нельзя создать несколько экземпляров службы Apcupsd. Установка нескольких копий в разные каталоги не дала результатов, вторая служба не устанавливалась, потому что уже существовала служба с таким именем. После бесплодных попыток удалось придумать вот что:

  • Файл apcupsd.exe был скопирован в тот же каталог под именем apcups1.exe
  • В копии файла при помощи hex редактора заменили строку pcupsd на pcups1
  • После этого вторая служба установилась, но не запускалась из-за отсутствия конфигурационного файла c:\apcupsd\etc\apcups1\apcups1.conf
  • Каталог с конфигами был скопирован, в копии были изменены параметры UPSNAME, DEVICE, NISPORT

Теперь совместно работали две службы для каждого бесперебойника. Были настроены 2 экземпляра apctray, чтобы каждый подключался к своему сервису через соответствующий NISPORT. В трее появились две вилки, каждая показывала статус своего UPS.

Чтобы при отключении электричества на втором бесперебойнике не отключался сервер, в файле c:\apcupsd\etc\apcups1\apccontrol.bat была закомментарена строка %SHUTDOWN% -h now. Требуемый результат был достигнут, клиент остался доволен.

Еще пара замечаний:

  • Я не знаю и даже не могу представить, как разруливать 2 USB бесперебойника. Повезло, что на сервере было достаточно com портов, с которыми все четко и понятно.
  • По идее, надо было пропатчить аналогичным образом программу apctest, чтобы можно было тестировать и конфигурировать второй UPS. Но на это не было времени, просто исправили com-порт в основном конфигурационном файле, выполнили нужные действия и вернули все обратно.
  1. hryuckinnen
    22 ноября 2012 в 14:38 | #1

    Я бы так же поступил)

  2. Бруль
    29 апреля 2013 в 23:33 | #2

    Маньяк!!!

    Я года 2 назад на Негас ставил apcupsd c целью мягкого отключения железа и обесточки…
    Но маньячить с несколькими упсами на 1 железке не довелось…
    Буду перенимать твой опыт 🙂

  3. villimilli
    20 июня 2013 в 14:04 | #3

    не подскажете, случаем, где можно достать образ диска APC infrastruхure manager? у одного заказчика колыбашка вертелась с 2004 года и вдрух умерла, а денех на новую, нету…

  4. Zloy
    20 июня 2013 в 17:57 | #4

    Увы, такая же железка у моего клиента умерла еще раньше.

  5. villimilli
    21 июня 2013 в 07:18 | #5

    @Zloy
    самое что прикольное, сервис APC предложил купить новую фиговину за 130 тыщщ, вместо того, чтобы просто дать образ диска – клиент достаточно компетентен, чтобы заменить винчестер в отказавшем компе. Просто нет слов.

  6. Shurvik
    13 июня 2015 в 15:55 | #6

    По поводу “как разруливать 2 USB бесперебойника”
    Указав серийники UPS
    DEVICE AS08091XXXXX
    DEVICE AS08091YYYYY
    может кому пригодится.

  7. pro_
    29 июня 2016 в 16:50 | #7

    мониторю более 20 упсов на Win7
    этой прогой, плохо только озвучки нет, а через батник короткая по времени
    и трудно настроить рассылку на exchange сервер
    не все скрипты работают с полным обновлением винды.

  8. Mom
    8 декабря 2016 в 22:03 | #8

    Доброго Всем времени суток!
    Только начал осваивать данную программулю. Подскажите, пожалуйста, почему один APS Smart-UPS 750, подключенный по usb, она видит, а когда я вместо первого втыкаю другой – отказывается его воспринимать? Я чего-то не знаю?

*