Официальный сайт компании Uniwin » Советы » Советы IT » APC UPS и опрос ИБП через кабель 940-1525A в Unix/Linux
Вывод сайта в ТОП за счет улучшения поведенческих факторов. Проверено на 200 сайтах разных тематик.

APC UPS и опрос ИБП через кабель 940-1525A в Unix/Linux

APC Smart-UPS через кабель 940-1525A или решение проблемы с опросом состояния APC UPS через кабель 940-1525A в Unix/Linux.

Компания APC производит очень качественное сетевое оборудование, в числе которых получили широкое распространение источники бесперебойного питания (ИБП, UPS).
Данные UPS как правило управляются через интерфейсный кабель, подключаемый через порты COM или USB.
Видов кабелей, подключаемых в COM-порт, достаточно много и для каждого ИБП свой интерфейсный кабель. Вот несколько моделей кабелей:
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, M-04-02-2000

Для работы с APC UPS достаточно распространенным пакетом является apcupsd. Этот пакет умеет работать со всеми вышеперечисленными кабелями.
Но в этом списке нет кабеля 940-1525A, с ним apcupsd не работает. Несмотря на то, что последний релиз apcupsd приходится на 12 сентября 2011 года, пользователи кабеля 940-1525A ищут решение проблемы уже с 2008 года. Но лично я не нашел решений. Потому предлагаю свое решение.
Для эксперимента был использован APC Smart-UPS RT 3000 XL с кабелем 940-1525A. Необходимо не только получать данные с устройства, но и передавать в систему мониторинга. В качестве системы мониторинга был выбран пакет Zabbix за свою универсальность.

Для этого был написан небольшой Perl-скрипт, который и предлагается Вашему вниманию.

В шапке скрипта достаточно указать путь к порту, например если COM1, /dev/ttyu0 в FreeBSD и /dev/ttyS0 в Linux, можно поменять полное название файла, куда будут записываться данные с UPS.
После этого запустить скрипт с необходимым параметром или рядом параметров. Данные будут выводиться в порядке задания параметров.
Пример:
×
 
 
-
 
 
+
 
 
 
 
Terminal
 
 

# upscheck.pl bv ov bt
218.0
220.3
26.25

 
В данном примере мы получили напряжение батареи (Battery Voltage): 218 V, выходное напряжение (Output Voltage) и температуру батареи (Battery Temperature).

Получить список всех параметров можно, запустив скрипт без параметров:

×
 
 
-
 
 
+
 
 
 
 
Terminal
 
 

# upscheck.pl
use upscheck.pl <parametr> [parametr] [parametr] .. [parametr]

Parametr        Description
--------        -----------
 m              APC Model
 md             Manufacture Date
 sn             Serial Number
 brd            Battery Replacement Date
 brt            Battery Run Time
 ibp            Internal Battery Packs
 rc             Remaining Capacity
 ebp            External Battery Packs
 bv             Battery Voltage
 ov             Output Voltage
 bt             Battery Temperature
 of             Output Frequency
 oc             Output Current
 iv             Input Voltage
 lwp            Load in Watts(%)
 lww            Load in Watts(Watts)
 if             Input Frequency
 lvp            Load in VA(%)
 lvv            Load in VA(VA)

 
После подключения скрипта к системе мониторинга Zabbix получили графики частот, температуры и напряжений.
APC UPS и опрос ИБП через кабель 940-1525A в Unix/Linux
APC UPS и опрос ИБП через кабель 940-1525A в Unix/Linux
APC UPS и опрос ИБП через кабель 940-1525A в Unix/Linux
Обратите внимание на разрыв в графике параметра Input Voltage, который показывает на кратковременное пропадание внешнего питания.

Плюс скрипта так же в том, что он не использует дополнительных модулей, Вам необходим только Perl, который установлен почти на всех Unix/Linux-системах. При желании скрипт можно использовать и под ОС MS Windows.

В случае возникновения интереса и проблем в использовании, обращайтесь, поможем.

Скачать



Поздравляю с Днем Системного Администратора !!!
Добавить свой комментарий