ZABBIX и APCUPSd мониторинг ИБП

Приведу пример как мониторить Zabbix-ом глупые бесперебойники, которые не умеют по SNMP.

Для начала нам нужно будет скачать и установить кросс платформенную утилиту APCUPSd с офф сайта http://www.apcupsd.org/

Качаем версию под нашу систему. Я рассмотрю вариант когда ИБП подключен USB кабелем к хосту, на котором установлена система Windows 8.1/10.
Ставим как обычно со всем соглашаемся, программа сама не может установить драйвер, поэтому идем в Диспетчер устройств -> Устройства HID -> American Power Conversion USB UPS и обновляем ему драйвер из папки с установленной программой \apcupsd\driver

В диспетчере устройств должно появится новое устройство.

Теперь идем в паку \etc находим файл конфига apcupsd.conf и правим под себя. Или копируем мой. Главное заменить под себя отмеченные строки, добавил комменты к самым важным строкам.

# Имя бесперебойника, какое вам удобно
UPSNAME APC500
# тип подключения
UPSCABLE usb
UPSTYPE usb
DEVICE
# Частота опросов, мало не ставить программа тупит
POLLTIME 60
# тут нужно указывать ваши пути до программы
SCRIPTDIR c:\apcupsd\etc\apcupsd
PWRFAILDIR c:\apcupsd\etc\apcupsd
NOLOGINDIR c:\apcupsd\etc\apcupsd
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 c:\apcupsd\etc\apcupsd\apcupsd.events
EVENTSFILEMAX 10
UPSCLASS standalone
UPSMODE disable
# тут нужно указать значение отличное от 0, иначе файл apcupsd.status не создасться
STATTIME 30
# тут нужно указывать ваши пути до файла
STATFILE c:\apcupsd\etc\apcupsd\apcupsd.status
LOGSTATS off
DATATIME 0

Перезапускаем программу через меню пуска.

В трее должна появится вот такая иконка.

По двойному клику по иконке можно увидеть информацию о ИБП.

Пора заняться ZABBIX. Качаем Gawk для Windows, устанавливаем.

Идем в папку с установленным Zabbix агентом, открываем файл конфига, мотаем в самый низ и добавляем строки, не забыв исправить пути до ваших программ, я их выделил

UserParameter=UPSNAME,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(UPSNAME).*:/ {print $3}"
UserParameter=STATUS,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(STATUS).*:/ {print $3,$4,$5}"
UserParameter=ITEMP,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(ITEMP).*:/ {print $3}"
UserParameter=LOADPCT,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(LOADPCT).*:/ {print $3}"
UserParameter=NUMXFERS,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(NUMXFERS).*:/ {print $3}"
UserParameter=BCHARGE,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(BCHARGE).*:/ {print $3}"
UserParameter=SENSE,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(SENSE).*:/ {print $3}"
UserParameter=LINEV,type c:\apcupsd\etc\apcupsd\apcupsd.status|c:\programs\bin\awk "/^(LINEV).*:/ {print $3}"

Оставляете только вам необходимые, например мой бесперебойник не умеет мерить температуру и напряжение в сети, поэтому строки ITEMP и SENSE можно удалить.
Теперь можно проверить как отдается информация, открываем командную строку, переходим в папку с установленным агентом и вводим например команду

zabbix_get -s 127.0.0.1 -p 10050 -k "STATUS"

Вывод

Если все хорошо, качаем и устанавливаем шаблон в ZABBIX

Добавить комментарий

Ваш адрес email не будет опубликован.