В данной статье описано, как настроить Zabbix для получения данных из ИБП CyberPower, подключенном по USB.
Все команды выполняются от root (после sudo su) на ОС Ubuntu Server 24.04.
Первым делом, надо скачать PowerPanel с официального сайта. Он там не очень новый, но отлично заработал на Ubuntu 24.04. Для скачивания можно воспользоваться wget.
# wget https://ссылка
И затем установить его
# dpkg -i имя_файла
После этого станет доступна команда для работы с ИБП.
# pwrstat
При вызове этой команды появится список ключей.
Для просмотра состояния (напряжения, нагрузки и пр.) можно воспользоваться параметром status
# pwrstat -status
The UPS information shows as following:
Properties:
Model Name................... VP1000ELCD
Firmware Number.............. BF01914BB91.x
Rating Voltage............... 230 V
Rating Power................. 550 Watt
Current UPS status:
State........................ Normal
Power Supply by.............. Utility Power
Utility Voltage.............. 234 V
Output Voltage............... 234 V
Battery Capacity............. 100 %
Remaining Runtime............ 36 min.
Load......................... 77 Watt(14 %)
Line Interaction............. None
Test Result.................. Passed at 2026/01/02 21:56:34
Last Power Event............. None
Для просмотра настроек при возникновении проблем, можно воспользоваться параметром config
# pwrstat -config
Daemon Configuration:
Alarm .............................................. On
Hibernate .......................................... Off
Cloud .............................................. Off
Action for Power Failure:
Delay time since Power failure ............. 60 sec.
Run script command ......................... On
Path of script command ..................... /etc/pwrstatd-powerfail.sh
Duration of command running ................ 0 sec.
Enable shutdown system ..................... On
Action for Battery Low:
Remaining runtime threshold ................ 300 sec.
Battery capacity threshold ................. 35 %.
Run script command ......................... On
Path of command ............................ /etc/pwrstatd-lowbatt.sh
Duration of command running ................ 0 sec.
Enable shutdown system ..................... On
В выводе этой команды видно, что есть скрипты, выполняющиеся при потере питания и низком напряжении батареи. В этих скриптах можно настроить отправку писем при возникновении этих проблем. Только надо иметь ввиду, что если пропадет напряжение у вас, то, возможно, оборудование провайдера так же будет обесточено.
Дополнительную информацию по этой программе можно получить в статье: https://wiki.archlinux.org/title/CyberPower_UPS
Второй шаг – настроить Zabbix-Agent2.
# nano /etc/zabbix/zabbix_agent2.d/plugins.d/cyberpower.conf
Содержимое
UserParameter=ups.model,sudo pwrstat -status | grep "Model Name" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.firmware,sudopwrstat -status | grep "Firmware Number" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.rating_voltage,sudo pwrstat -status | grep "Rating Voltage" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.rating_power,sudo pwrstat -status | grep "Rating Power" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.state,sudo pwrstat -status | grep "State" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.power_supply,sudo pwrstat -status | grep "Power Supply by" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.input,sudo pwrstat -status | grep "Utility Voltage" | grep -o '[0-9]\+\(\.[0-9]\+\)\?' | head -n 1
UserParameter=ups.output,sudo pwrstat -status | grep "Output Voltage" | grep -o '[0-9]\+\(\.[0-9]\+\)\?' | head -n 1
UserParameter=ups.battery,sudo pwrstat -status | grep "Battery Capacity" | grep -o '[0-9]\+\(\.[0-9]\+\)\?' | head -n 1
UserParameter=ups.runtime,sudo pwrstat -status | grep "Remaining Runtime" | grep -o '[0-9]\+\(\.[0-9]\+\)\?' | head -n 1
UserParameter=ups.load,sudo pwrstat -status | grep "Load" | grep -o '[0-9]\+\(\.[0-9]\+\)\?' | head -n 1
UserParameter=ups.load_perc,sudo pwrstat -status | sed -n '/Load/{s/.*(\([0-9]\+\) %).*/\1/;p}'
UserParameter=ups.line_interaction,sudo pwrstat -status | grep "Line Interaction" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.test_result,sudo pwrstat -status | grep "Test Result" | sed 's/.*\.\{2,\} *//'
UserParameter=ups.last_power_event,sudo pwrstat -status | grep "Last Power Event" | sed 's/.*\.\{2,\} *//'
После этого необходимо перезапустить сервис
# service zabbix-agent2 restart
Нужно дать пользователю zabbix доступ к PowerPanel
# visudo
В конце дописать
zabbix ALL=(ALL) NOPASSWD:/usr/sbin/pwrstat
Теперь можно проверить правильность работы параметров. Вот примеры команд и примеры вывода после этих команд
# zabbix_agent2 -t ups.input
Вывод
ups.input [s|238]
Команда
# zabbix_agent2 -t ups.model
Вывод
ups.model [s|VP1000ELCD]
Шаг третий, настройка Zabbix сервера. Скачиваем шаблон по ссылке и импортируем его в Zabbix.

И теперь подключаем шаблон.

После чего можно настраивать графики по своему желанию.
В подготовке данной статьи использовались:
Ubuntu Server 24.04
Zabbix 7.4
PowerPanel 1.4.1