Статейка о настройке мониторинга ИБП APC Smart-UPS 1000, подключённого по USB к серверу, на базе ОС Ubuntu 14. ИБП подключён к серверу на котором установлен CACTI, поэтому данные получать будем не по SNMP. Начнём!
В перувую очередь устанавливаем пакеты для работы с ИБП APC.
apt-get install apcupsd apcupsd-cgi
Это необходимо для получения информации о параметрах напряжения и других значениях. После установки идём к конфигурационный файл. Ниже я приведу только те параметры, которые изменил. Более подробное описание параметров можно прочитать в оригинальном файле конфигурации или на просторах.
UPSCABLE usb #Тип кабеля для подключения ИБП к компьютеру.
UPSTYPE usb #Что-то вроде вышестоящего параметра.
DEVICE #Значение оставляем пустое.
POLLTIME 60 #Интервал в сек. для опроса ИБП демоном apcupsd.
BATTERYLEVEL 5 #При заряде ниже 5% инициируется отключение системы.
TIMEOUT 0 #Отключаем поминутный таймер отключения системы.
NETSERVER on #Включаем NET сервер.
NISIP 127.0.0.1 #IP адрес.
NISPORT 3551 #Порт на котором работает демон
EVENTSFILE /var/log/apcupsd.events #Путь к логам.
SENSITIVITY H #Чувствительность на максимум.
LOTRANSFER 208 #MIN значение входящего напряжения при котором ИБП переходит на батареи.
HITRANSFER 229 #MAX значение входящего напряжения при котором ИБП переходит на батареи.
BEEPSTATE N #Отключаем пищалку!
OUTPUTVOLTS 225 #Выходное напряжение при работе от батарей.
SELFTEST ON #Самодиагностика при включении ИБП.
Перед тем, как проверять работоспособность, нужно изменить значение параметра ISCONFIGURED на yes в файле /etc/default/apcupsd и запустить:
/etc/init.d/apcupsd start
Прповерить работоспособность ПО можно командой:
apcaccess
В ответ должны получить что-то вроде:
DATE : 2016-10-12 19:44:44 +0700
HOSTNAME : mail
VERSION : 3.14.10 (13 September 2011) debian
UPSNAME : UPS-1000-VA
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2016-10-11 10:00:49 +0700
MODEL : Smart-UPS 1000
STATUS : ONLINE
LINEV : 218.8 Volts
LOADPCT : 11.7 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 97.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 218.8 Volts
SENSE : High
DWAKE : -01 Seconds
DSHUTD : 090 Seconds
LOTRANS : 208.0 Volts
HITRANS : 253.0 Volts
RETPCT : 000.0 Percent
ITEMP : 34.2 C Internal
ALARMDEL : No alarm
BATTV : 27.3 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Low line voltage
NUMXFERS : 2
XONBATT : 2016-10-12 17:11:18 +0700
TONBATT : 0 seconds
CUMONBATT: 870 seconds
XOFFBATT : 2016-10-12 17:25:45 +0700
SELFTEST : NO
STESTI : Power On
STATFLAG : 0x07000008 Status Flag
MANDATE : 2005-10-08
SERIALNO : AS0xxxx25099
BATTDATE : 2016-09-01
NOMOUTV : 230 Volts
NOMBATTV : 24.0 Volts
FIRMWARE : 652.12.I USB FW:4.2
END APC : 2016-10-12 19:45:16 +0700
Одной из возможных причин получения ошибки Connection refused при выполнении команды apcaccess может быть прописаный в конфиге ip адрес по-умолчанию параметра NISIP - 127.0.0.1. Для решения проблемы необходимо исправить на 0.0.0.0.
Отлично, половина дела сделана. Приступаем к загрузке скрипта для парсинга, нужных нам значений, полученных от вывода команды apcaccess и шаблонов. Скрипт и один шаблон доработаны для работы в Ubuntu и убран пересчёт значения температуры ИБП из цельсия в фаренгейты. Изначально было так, что на графике точки откладывались в пересчёте на фаренгейты, а в легенде значения были в цельсиях. Как-то не по 風水 =) Далее как обычно - файл query_apcupsd.php помещаем в /usr/share/cacti/site/scripts/, а шаблоны импортируем через web-интерфейс. Далее в меню устройства, в разделе Associated Graph Templates добавляем наши шаблоны.
Далее идём в раздел Create Graphs for this Host и в разделе Graph Templates отмечаем наши шаблоны и создаём наши графики, нажав кнопку Create.
Это всё.
Если шаблон был взяты на просторах интернета, то отменить конвертацию в фаренгейты можно в разделе Console -> Graph Management -> CDEF's -> Celsius to Fahrenheit, изменив значение Item #2 как на скриншоте:
И, следите за своим здоровьем!