Apcupsd в Zabbix

Всем доброго времени суток.

Небольшая предыстория.
В организации уже несколько лет был установлен и Zabbix и Apcupsd. Apcupsd, как сетевой клиент был установлен на все сервера организации, который реально выручал от крушения файловой системы и долгих ребилдов gmirror, так же слал на почту алерты об отключении энергии. На днях сменили один из UPS АРС Smart 2200, который с одной заменой аккумуляторов проработал ровно 15 лет. В замен него приобрели  APC by Schneider Electric Smart-UPS 2200 (SMT2200I) и решили мониторить его через Zabbix-server, тем более, что на днях прикрутили к нему оповещение в вконтакт и телеграмм.
APC by Schneider Electric Smart-UPS 2200 (SMT2200I) комплектуется кабелем 940-0625A для серийного порта RS232 и USB кабелем. По серийному порту не удалось заставить работать Apcupsd, либо не мониторила либо вываливалась в ошибку.
С USB кабелем заработало сразу, мой конфиг apcupsd.conf

UPSNAME  2200
UPSCABLE usb 
UPSTYPE usb
DEVICE 
LOCKFILE /var/spool/lock
SCRIPTDIR /usr/local/etc/apcupsd
PWRFAILDIR /var/run
NOLOGINDIR /var/run
ONBATTERYDELAY 6
BATTERYLEVEL 5«
MINUTES 3
TIMEOUT 0
ANNOY 300
ANNOYDELAY 60
NOLOGON disable
KILLDELAY 0
NETSERVER on
NISIP 0.0.0.0
NISPORT 3551
EVENTSFILE /var/log/apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
LOGSTATS off
DATATIME 0
BATTDATE 17/06/07

Итак Apсupsd и Zabbix-server и Zabbix-agent (должен быть установлен на хосте с Apсupsd) у нас настроены и работают. Я делаю все на FreeBSD, но должно подойти и для Linux (после корректировки путей). Мы будем дергать Zabbix-agentd apcaccess и передавать Zabbix-server следующие параметры:

  1. Статус
  2. Уровень заряда аккумуляторов
  3. Напряжение на аккумуляторах

Дернем вывод apcaccess

# apcaccess 
APC      : 001,027,0658
DATE     : 2017-06-07 14:41:08 +0300  
HOSTNAME : xx.xx.ru
VERSION  : 3.14.14 (31 May 2016) freebsd
UPSNAME  : 2200
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2017-06-07 11:09:39 +0300  
MODEL    : Smart-UPS 2200 
STATUS   : ONLINE 
BCHARGE  : 100.0 Percent
TIMELEFT : 26.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME  : 0 Seconds
ALARMDEL : 30 Seconds
BATTV    : 54.5 Volts
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
STATFLAG : 0x05000008
MANDATE  : 2016-10-23
SERIALNO : AS1642145340  
NOMBATTV : 48.0 Volts
FIRMWARE : UPS 09.3 / ID=18
END APC  : 2017-06-07 14:41:24 +0300

Мы будем использовать строки:

  • STATUS (Статус)
  • BCHARGE (Уровень заряда аккумуляторов)
  • BATTV (Напряжение на аккумуляторах)

Создаем в zabbix_agentd.conf нужные нам UserParameter, дописываем в конце файла:

UserParameter=STATUS,/usr/local/sbin/apcaccess -p STATUS
UserParameter=BATTV,/usr/local/sbin/apcaccess -p BATTV|cut -f 1 -d " "
UserParameter=BCHARGE,/usr/local/sbin/apcaccess -p BCHARGE|cut -f 1 -d " "

Перезапускаем агента:

/usr/local/etc/rc.d/zabbix_agentd restart

На хосте с Zabbix-server проверяем доступность наших параметров, 192.168.99.5 — это хост на котором установлен Apcupsd и Zabbix-agentd с userparameters :

# zabbix_get -s 192.168.99.5 -p 10050 -k STATUS
ONLINE
# zabbix_get -s 192.168.99.5 -p 10050 -k BCHARGE
100.0
# zabbix_get -s 192.168.99.5 -p 10050 -k BATTV
54.5

Мы получили статус ONLINE, уровень заряда 100%, напряжение аккумуляторов 54.5V.

Теперь нам необходимо в нашем хосте создать три элемента данных, для этого заходим на веб-интерфейс нашего Zabbix-servera, выбираем «Настройка»->»Узлы сети» находим наш хост с Apcupsd и Zabbix-agentd, выбираем его «Элементы данных» ,  и жмем в правом верхнем углу кнопку «Создать элемент данных»
Apcupsd в Zabbix
Заполняем и создаем элемент данных для статуса нашего UPS
Apcupsd в ZabbixДалее клонируем нажав кнопку «Клонировать», меняем ключ на BCHARGE.
Apcupsd в Zabbix
Еще раз клонируем для ключа BATTV.
Apcupsd в ZabbixСоздадим два триггера для элемента данных Status, будем проверять, что возвращает нам статус, если ONLINE, то ничего не делаем, если возвращает ONBATT, что указывает на работу от аккумуляторов — шлем алерт, так же создаем алерт, если возвращается статус как NOBATT , т.к. это означает, что аккумуляторы не установлены:)
Переходим в триггеры этого хоста и жмем «Создать триггер»
Apcupsd в ZabbixСоздаем триггер
Apcupsd в Zabbix

Где строка {ИМЯ_ВАШЕГО_ХОСТА:STATUS.regexp(ONBATT)}=1 указывает, как только STATUS вернет вместо ONLINE ONBATT, то сработает этот триггер.
Склонируем его, изменим имя на «UPS без аккумуляторов» изменив строку на {ИМЯ_ВАШЕГО_ХОСТА:STATUS.regexp(NOBATT)}=1.
Так же вы можете создать график, который будет отображать % зараяда и напряжение аккумуляторов в UPS.
Перейдите в графики этого хоста, создать новый график, выбрать наши данные
Apcupsd в ZabbixВ предпросмотре получите что-то типа этого
Apcupsd в ZabbixВроде как все, zabbix радует своей гибкостью.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

:) :D :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.