Тест и проверка работы на пример:
Smart-UPS-2200 SUA2200RMI2U
Smart-UPS 1500 VA SMT1500RMI2U
В начале была попытка мониторить ИБП на Linux через
APC ИБП LINUX через APCUPSD и ИБП LINUX через NUT LLD Zabbix если модели APC 2200RM подключенные через com или usb мониторились нормально, то модели 1500 1000 подключенные через usb отдавали только серийный номер модель в некоторых случаях напряжение АКБ
данных нет таких как нагрузка в Ватт Амперах, входное Напряжение все что основное все пусто(
Как выяснилось это ModBus и он не поддерживается APCUPSD и NUT
На одном из форумов:
"APC до сих пор производит ИБП только для MicroLink. Я купил APC SMC1000I и только что узнал, что сейчас его можно использовать только как обычный ИБП USB-HID с NUT. К сожалению, серия SMC не поддерживает ModBus, поэтому все еще существуют устройства APC, которые для полноценной работы могут использовать только MicroLink. Поэтому я думаю, было бы здорово, если бы ИБП MicroLink-UPS могли напрямую поддерживаться NUT, хотя бы через последовательное соединение. Вот почему я хотел бы поднять здесь этот запрос на добавление функции. В целях тестирования я создал собственный последовательный кабель с этой распиновкой и использовал следующий инструмент Python для проверки связи MicroLink с моим устройством: https://github.com/klaasdc/apcups-serial-test Мне удалось получить информацию о моем устройстве и даже установить дату установки батареи через MicroLink в оболочке Python (с помощью примера кода). Так вроде описание протокола есть, оно просто написано на Python и его нужно портировать на C. К сожалению, я знаком только с Python, а не с C "
Поэтому пробуем ставить PowerChute на Linux (в моем случае на Debian proxmox)
Подключенный usb кабель
lsusb
Bus 001 Device 008: ID 051d:0003 American Power Conversion UPS
где после ID идет idVendor:idProduct (051d:0003)
# dmesg|grep "UPS"
[ 1.501714] usb 1-6: Product: Smart-UPS 1500 FW:UPS 09.3 / ID=18
[ 1.504496] hid-generic 0003:051D:0003.0001: hiddev0,hidraw0: USB HID v1.00 Device [American Power Conversion Smart-UPS 1500 FW:UPS 09.3 / ID=18] on usb-0000:00:14.0-6/input0
Установим и настроим snmp (не обязательно)
Код: Выделить всё
apt-get install snmp snmpd snmp-mibs-downloader snmptrapd ipmitool
Для Linux Скачиваем pcbeagent-10.0.5-301-EN.x86_64.tar.gz
Скачиваем
Код: Выделить всё
wget https://download.schneider-electric.com/files?p_File_Name=pcbeagent-10.0.5-301-EN.x86_64.tar.gz&p_Doc_Ref=APC_PCBE_1005_LINUX_EN&p_enDocType=Software+-+Release
Код: Выделить всё
tar -xmcf pcbeagent-10.0.5-301-EN.x86_64.tar.gz
Код: Выделить всё
rm -f pcbeagent-10.0.5-301-EN.x86_64.tar.gz
Код: Выделить всё
cd pcbeagent-10.0.5-301-EN.x86_64
Установка
Код: Выделить всё
rpm -i --prefix="/opt/APC/PowerChuteBusinessEdition/Agent" pbeagent-*.x86_64.rpm 1> /dev/null 2>./rpm.log
Код: Выделить всё
rpm -Uvh pbeagent-*.x86_64.rpm 1> /dev/null 2>./rpm.log
Если не вышло можно запустить скрипт руками настройки подключения ИБП
Запускаем настройку конфигурации будут заданы вопросы
Код: Выделить всё
/opt/APC/PowerChuteBusinessEdition/Agent/config.sh
https://IP:6547/logon
Установка Debian Ubuntu
Под эти системы .deb пакетов нет, поэтому пробуем rpm в deb
Устанавливаем необходимые утилиты
Код: Выделить всё
apt-get install cmake libc6-dev libc6-dev* g++-multilib
Код: Выделить всё
apt-get install alien dpkg-dev debhelper build-essential
Код: Выделить всё
alien pbeagent-10.0.5-301-EN.x86_64.rpm
Установка
Код: Выделить всё
dpkg -i pbeagent_10.0.5-302_amd64.deb
/opt/APC/PowerChuteBusinessEdition/Agent
службы не создались скрипты не не сработали
Скачать Извлечь в opt
Запустить скрипт
/opt/APC/PowerChuteBusinessEdition/Agent/install-pbeagent-debian.sh
Подробности ниже
Работает только с com-com кабелями
Будем пробовать руками install_pbeagent_linux.sh - Это скрипт пишет что будет установка PowerChute, выбрать язык на котором откроется лицензионное соглашение, принимаем или нет условие, вопрос установка по умолчанию (/opt/APC/PowerChuteBusinessEdition/Agent) или укажите путь, если уже установлено раздел обновления, проверка что скрипт запущен с правами администратора (root), проверка есть ли файлы автозагрузки если это обновление ( -e /etc/rc.d/init.d/PowerChute -o -e /etc/init.d/PowerChute -o -e /usr/bin/PowerChute), команда обновления
rpm -i --prefix=$INSTALL_DIR pbeagent-*.x86_64.rpm 1> /dev/null 2>./rpm.log
команда установки
rpm -Uvh pbeagent-*.x86_64.rpm 1> /dev/null 2>./rpm.log
В момент установки пакета указаны параметры (стандартные это копирование файлов по разделам, автозагрузка, служба, настройка переменных путей и тд)
И запустить скрипт
/opt/APC/PowerChuteBusinessEdition/Agent/CreateScripts.sh
А так же скопируется подставиться JAVA через скрипт
InstallJava.sh
Если все удачно создастся скрипт и запустится процесс настройки конфига для ИБП
/opt/APC/PowerChuteBusinessEdition/Agent/config.sh $1
Это порядок стандартной установки для rpm.
Извлекаем из архива и пакета rpm
pcbeagent-10.0.2-301-EN.x86_64.tar.gz\pcbeagent-10.0.2-301-EN.x86_64.tar\pbeagent-10.0.2-301-EN.x86_64.rpm\pbeagent-10.0.2-301.x86_64.cpio\.\opt\
копируем в корень opt/ содержимое попки opt (APC/PowerChuteBusinessEdition/Agent)
Получаем путь переходим
Код: Выделить всё
cd /opt/APC/PowerChuteBusinessEdition/Agent
/lib/udev/rules.d - правила в этом каталоге создают некоторые установленные пакеты, они, как правило, не должны изменятся пользователями;
/etc/udev/rules.d - этот каталог для пользовательских настроек.
скопируем их в
Код: Выделить всё
cp \opt\APC\PowerChuteBusinessEdition\Agent\50-se-ups.rules /etc/udev/rules.d/
cp \opt\APC\PowerChuteBusinessEdition\Agent\50-se-ups-policy.fdi /etc/udev/rules.d/
cp \opt\APC\PowerChuteBusinessEdition\Agent\99-se-ups.rules /etc/udev/rules.d/
Код: Выделить всё
service udev reload
service udev restart
udevadm control —reload-rules
udevadm trigger
После этого следует отключить и заново подключить USB кабель от ИБП.
Далее выполним команду для проверки работоспособности udev правила
upsdrvctl start
upsdrvctl -u root start
Установка JAVA
Извлекаем в opt/APC/PowerChuteBusinessEdition/jre
Код: Выделить всё
unzip /opt/APC/PowerChuteBusinessEdition/Agent/jrelnx.zip -d /opt/APC/PowerChuteBusinessEdition/jre
Код: Выделить всё
rm -rf /opt/APC/PowerChuteBusinessEdition/Agent/jrelnx.zip
можно проверить
/opt/APC/PowerChuteBusinessEdition/jre/bin/java -Xshare:dump
Правим скрипт
Код: Выделить всё
mcedit /opt/APC/PowerChuteBusinessEdition/Agent/CreateScripts.sh
RPM_INSTALL_PREFIX='/opt/APC/PowerChuteBusinessEdition/Agent'
LANG='en'
Заменить переменную JAVA_RUNTIME
JAVA_RUNTIME=/opt/APC/PowerChuteBusinessEdition/jre/bin/java
Запустим скрипт
Код: Выделить всё
/opt/APC/PowerChuteBusinessEdition/Agent/CreateScripts.sh
/opt/APC/PowerChuteBusinessEdition/Agent/config.sh /opt/APC/PowerChuteBusinessEdition/Agent/bin/startup В скриптах можно указать язык по умолчанию задав переменую LANG='en'
либо удаляем блоки с выбором языка и оставляем только 1 вывод echo я сделал так примеры скриптов выше в архиве)
Создаем файл для службы
Код: Выделить всё
cat /opt/APC/PowerChuteBusinessEdition/Agent/bin/startup > /usr/bin/PBEAgent
ln -s /opt/APC/PowerChuteBusinessEdition/Agent/bin/startup /usr/bin/PBEAgent
Даем права
Код: Выделить всё
chmod 775 /usr/bin/PBEAgent
Код: Выделить всё
ln -s /opt/APC/PowerChuteBusinessEdition/Agent/PBEAgent.service /etc/systemd/system/PBEAgent.service
Код: Выделить всё
ln -s /opt/APC/PowerChuteBusinessEdition/Agent/PBEAgent.service /lib/systemd/system/PBEAgent.service
Код: Выделить всё
mcedit /etc/systemd/system/PBEAgent.service
Код: Выделить всё
[Unit]
Description=PowerChute Business Edition Agent
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/PBEAgent start
ExecStop=/usr/bin/PBEAgent stop
ExecReload=/usr/bin/PBEAgent restart
[Install]
WantedBy=default.target
Код: Выделить всё
chmod 755 /lib/systemd/system/PBEAgent.service
Код: Выделить всё
chmod 755 /etc/systemd/system/PBEAgent.service
Добавляем в автозагрузку
Код: Выделить всё
systemctl enable PBEAgent.service
Уже установленный путь
/etc/rc.d/init.d/PowerChute
/etc/init.d/PowerChute
/usr/bin/PowerChute
Рекомендую удалить 3 файла перед настройкой если они есть, там содержатся старые настройки если не удалить настройки конечно изменятся, а вот snmp engine id нет и при копировании на несколько устройст будет одинаковый в SNMPv3 вызывает проблемы.
удалить keystore, m11.cfg, m11.bak содержит настройки.
Zabbix и проблемы с опросом по SNMPv3 при дублировании EngineID
Посмотреть можно в разделе SNMP где указывается порт.
Код: Выделить всё
rm -f /opt/APC/PowerChuteBusinessEdition/Agent/keystore /opt/APC/PowerChuteBusinessEdition/Agent/m11.cfg /opt/APC/PowerChuteBusinessEdition/Agent/m11.bak
/opt/APC/PowerChuteBusinessEdition/Agent/pcbeconfig.ini
uuidgen - сгенерировать новый
Запускаем настройку конфигурации будут заданы вопросы
Код: Выделить всё
/opt/APC/PowerChuteBusinessEdition/Agent/config.sh
(запуститься /opt/APC/PowerChuteBusinessEdition/jre/bin/java --add-exports java.base/com.sun.crypto.provider=ALL-UNNAMED -jar ./lib/pcbeconfig.jar $1 $2 $3 $4 $5)
Пример для SUA2200RMI2U подключенной com-com
> yes
Username
> Electro
Password
>
Would you like to change the current username? (Yes or No)
> No
Would you like to change the current password? (Yes or No)
> No
Which UPS model should I select?
Select your UPS model prefix from the list below. If you are not sure, see knowledge base article FA315835 on the APC website
(http://www.apc.com/us/en/faqs/)
Please select your UPS Model:
[a]: SMC
: SMT
[c]: SRT
[d]: SRTL
[e]: SMX
[f]: SURTD
[g]: SU
[h]: SUA
: SURT
[j]: SY
[k]: SC
[l]: SURTA
[m]: SU4G
[n]: SRV
[o]: OTHER_TYPE_A
[p]: OTHER_TYPE_B
> h
Cable Type:
[1]: Smart
[2]: Simple
> 1
Select the serial port
[1]: /dev/ttyS0
[2]: /dev/ttyS1
[3]: Other
> 1
== Selected Configuration: ==
Cable Type: Serial
Serial Port: /dev/ttyS0
Are the UPS settings correct? (Yes or No)
> yes
Запустите PowerChute Business Edition Agent? (Yes или No)
> yes
./config.sh: 143: ./config.sh: /etc/init.d/PBEAgent: not found
PowerChute Business Edition запущен.
Для получения информации об интеграции PowerChute Business Edition с поддерживаемыми предложениями
посетите центр продукции PowerChute от Schneider Electric:
https://www.apc.com/us/en/download/docu ... Center_EN/
Код: Выделить всё
systemctl start PBEAgent.service
Код: Выделить всё
service PBEAgent start
Код: Выделить всё
/opt/APC/PowerChuteBusinessEdition/Agent/bin/startup start
/opt/APC/PowerChuteBusinessEdition/Agent/install-pbeagent-debian.sh
Код: Выделить всё
#!/bin/bash
# 2024.06.25 Артём Андреевич Мамзиков
# URL https://diyit.ru/viewtopic.php?t=2204
# Скрипт установки PowerChuteBusinessEdition на Debian
# Удаляем старые настройки
rm -f /opt/APC/PowerChuteBusinessEdition/Agent/keystore /opt/APC/PowerChuteBusinessEdition/Agent/m11.cfg /opt/APC/PowerChuteBusinessEdition/Agent/m11.bak /opt/APC/PowerChuteBusinessEdition/Agent/pcbeconfig.ini
# Копируем
cp \opt\APC\PowerChuteBusinessEdition\Agent\50-se-ups.rules /etc/udev/rules.d/
cp \opt\APC\PowerChuteBusinessEdition\Agent\50-se-ups-policy.fdi /etc/udev/rules.d/
cp \opt\APC\PowerChuteBusinessEdition\Agent\99-se-ups.rules /etc/udev/rules.d/
# перечитать сервис udev
service udev reload
# Извлекаем в opt/APC/PowerChuteBusinessEdition/jre
#unzip /opt/APC/PowerChuteBusinessEdition/Agent/jrelnx.zip -d /opt/APC/PowerChuteBusinessEdition/jre
# Удаляем архив
#rm -rf /opt/APC/PowerChuteBusinessEdition/Agent/jrelnx.zip
# Создаем файл для службы
cat /opt/APC/PowerChuteBusinessEdition/Agent/bin/startup > /usr/bin/PBEAgent
# Даем права
chmod 775 /usr/bin/PBEAgent
# Создаем службу и даем права
ln -s /opt/APC/PowerChuteBusinessEdition/Agent/PBEAgent.service /etc/systemd/system/PBEAgent.service
chmod 755 /lib/systemd/system/PBEAgent.service
ln -s /opt/APC/PowerChuteBusinessEdition/Agent/PBEAgent.service /lib/systemd/system/PBEAgent.service
chmod 755 /etc/systemd/system/PBEAgent.service
# Добавляем в автозагрузку
systemctl enable PBEAgent.service
# Удаляем старые настройки и snmp ID для генерации нового
rm -f /opt/APC/PowerChuteBusinessEdition/Agent/keystore /opt/APC/PowerChuteBusinessEdition/Agent/m11.cfg /opt/APC/PowerChuteBusinessEdition/Agent/m11.bak
# Запускаем настройку конфигурации будут заданы вопросы
/opt/APC/PowerChuteBusinessEdition/Agent/config.sh
# Запускаем службу
#systemctl start PBEAgent.service
/opt/APC/PowerChuteBusinessEdition/Agent/lib/pcbeconfig.jar внутри файл PCBEConfig.class
SIGNALTYPE 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; theShareUpsMode SHAREUPSMODE
SERIALPORT
theSerialPort
KERNEL_README KERNEL_USB_PANIC_WARNING KERNEL_VERSION_UNKNOWN
[1]: Smart
[2]: Simple
[1]: Serial
[2]: Simple
[3]: USB
файл OSInfo.class
все запросы отличаются от debian
/etc/vima-release/etc/SuSE-release
parseAndSaveSuse /etc/turbolinux-release
parseAndSaveTurbo /etc/miraclelinux-release
parseAndSaveMiracle /etc/asianux-release
parseAndSaveAsianux /etc/redhat-release
поэтому не возможно определить OS и обнаружить usb
Интеллектуальные сигнальные кабели
Использование: Номер детали
Соединение DB9-DB9 940-0020
Соединение RJ45-DB9 940-0128D
Используется: Номер детали
Соединение DB9-DB9 940-0024
Подключение RJ45-DB9 940-0625A или 940-1525A
Подключение по USB:
ИБП типа A
ИБП типа B
940-0117B
940-0273A
Simple Signaling Cables
DB9-DB9 connection
Type A UPS
Interface Expander Card
Part Number
940-0020
940-0128D
940-0020
Smart Signaling Cables
DB9-DB9 connection
RJ45-DB9 connection
USB connection: Part Number
940-0024
940-0625A or 940-1525A
Type A UPS 940-0117B
+Type B UPS 940-0273A
Что делать, если я забуду свое имя пользователя и пароль для входа?
В этом случае могут быть сброшены только имя пользователя и пароль.
PBEAgentНайдите файл в пути установки (по умолчанию/opt/APC/PowerChuteBusinessEdition/Agent) pcbeconfig.iniи откройте его с помощью текстового редактора.
Затем добавьте следующее в нижней части файла.
В то же время введите новое имя пользователя и пароль непосредственно после знака равенства.
Помните, что имя пользователя и пароль должны соответствовать предыдущим спецификациям и ограничениям.
[Credentials]username=新的用户名password=新的密码
Сохраните pcbeconfig.iniфайл после редактирования, а затем перезапустите PBEAgent службу.
После перезапуска службы, если имя пользователя и пароль соответствуют требованиям спецификации,
[Credentials]содержимое раздела будет автоматически удалено, и новые имя пользователя и пароль вступят в силу одновременно.
Если имя пользователя и пароль не соответствуют требованиям, система pcbeconfig.iniзапишет в файл сообщение об ошибке, а затем скорректирует его на основе этой информации.
См. раздел Требования к кабелям связи ИБП, простая сигнализация и коммуникации
Справка – Устранение неполадок при автоматическом и ручном обнаружении ИБП.
Red Hat Enterprise Linux (RHEL) версии 6.3 и более ранних версий не поддерживают USB соединение с PowerChute версии 9.5+.
PowerChute версии 9.5+ не обеспечивает подключение по USB к устройствам ИБП типа B на Машины с Linux.
– Как только будут предоставлены все запрошенные параметры конфигурации, запустится служба агента PowerChute
Отключить автозагрузку apcupsd, nut если установлен
apcaccess status
service apcupsd stop
systemctl daemon-reload
chkconfig --del apcupsd
chkconfig apcupsd off
update-rc.d -f apcupsd remove
systemctl disable apcupsd.service
systemctl disable nut-driver.service
systemctl disable nut-client.service
systemctl disable nut-server.service
systemctl disable ups-monitor.service
Добавить
systemctl enable PBEAgent.service
systemctl start PBEAgent.service
Для заббикс создать проверку сервиса
Элемент данных
Service PBEAgent Триггеры 1 proc.num[,,,APC] 1m 90d 90d Zabbix агент Процессы Активировано
Триггер
Средняя OK PBEAgent is not running on {HOSTNAME} {APC14-Smart-UPS-2200:proc.num[,,,APC].max(3m)}<1 Активировано PBEAgent