PowerChute Business Edition установка на Linux

Питание: Измерение распределение блоки питания
Источники Бесперебойного Питания ИБП
Измерительный блок распределения питания БРП
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 853
Стаж: 5 лет 7 месяцев
Откуда: Вологодская область
Поблагодарили: 37 раз
Контактная информация:

PowerChute Business Edition установка на Linux

Сообщение Артём Мамзиков »

Установка на Windows PowerChute Business Edition и Обзор настройки мониторинга

Тест и проверка работы на пример:
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
PowerChute Business Edition v10.0.5 - Linux (English only)
Для 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
pbeagent-10.0.2-301-EN.x86_64.zip
pbeagent-10.0.2-301-EN.x86_64.zip
(85.07 МБ) 20 скачиваний
Для ОС где используются пакеты .rpm установить пакет.
Установка

Код: Выделить всё

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
получили пакет pbeagent_10.0.5-302_amd64.deb пробуем поставить
Установка

Код: Выделить всё

dpkg -i pbeagent_10.0.5-302_amd64.deb
Получили просто содержимое пакета в
/opt/APC/PowerChuteBusinessEdition/Agent
службы не создались скрипты не не сработали

Скачать
pcbeagent-10.0.5-301-EN.x86_64.tar.gz
pcbeagent-10.0.5-301-EN.x86_64.tar.gz
(121.54 МБ) 1 скачивание
Извлечь в opt
Запустить скрипт
/opt/APC/PowerChuteBusinessEdition/Agent/install-pbeagent-debian.sh
Подробности ниже
Работает только с com-com кабелями


Будем пробовать руками
install_pbeagent_linux.zip
install_pbeagent_linux.zip
(4.45 КБ) 22 скачивания
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
Есть 3 файла: 50-se-ups.rules 50-se-ups-policy.fdi и 99-se-ups.rules

/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/
После создания правила следует перечитать сервис udev

Код: Выделить всё

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

Запустим скрипт
CreateScripts.zip
CreateScripts.zip
(4.71 КБ) 21 скачивание

Код: Выделить всё

/opt/APC/PowerChuteBusinessEdition/Agent/CreateScripts.sh
этот скрипт запускает установку(копирование JAVA) мы скопировали ее выше
InstallJava.zip
InstallJava.zip
(331 байт) 20 скачиваний
после должно появиться
/opt/APC/PowerChuteBusinessEdition/Agent/config.sh
config.zip
config.zip
(2.28 КБ) 19 скачиваний
/opt/APC/PowerChuteBusinessEdition/Agent/bin/startup
startup.zip
startup.zip
(1.52 КБ) 21 скачивание
В скриптах можно указать язык по умолчанию задав переменую 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
/etc/systemd/system/default.target.wants/PBEAgent.service
Добавляем в автозагрузку

Код: Выделить всё

systemctl enable PBEAgent.service
или автозагрузка в /opt/APC/PowerChuteBusinessEdition/Agent/CreateScripts.sh для init.d
Уже установленный путь
/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
Блок запуска AddESXiTargetServer
(запуститься /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
Вопросы установки
Показать
PowerChute Business Edition is already installed and configured. Do you want to change the configuration? (Yes/No)
> 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
Для автоматической установки сделал скрипт install-pbeagent-debian.sh
/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

Все заработало но только для com-com кабелей, usb не видятся не определяются и быстрей все что java ищет не там, не потому пути в ядре подключения так как заточено под другую ось.
/opt/APC/PowerChuteBusinessEdition/Agent/lib/pcbeconfig.jar внутри файл PCBEConfig.class
Частичное содержание
Показать
theSignalType MicroLink Serial USB SELECTED_CONFIGURATION makeConcatWithConstants
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
количество слов: 1607

Вернуться в «Питание: Измерение распределение блоки питания; ИБП»