Windows Tips & News

Как да наблюдавате състоянието на USB UPS чрез SNMP

click fraud protection

Как да наблюдавате състоянието на USB UPS чрез SNMP

Има няколко компютъра с USB свързан UPS. Всички компютри използват програмата apcupsd. Да речем, че искате да съберете информация за състоянието на захранването за всяко устройство на едно място. Тъй като snmpd вече работи там, би било логично да се разшири неговата функционалност.

Решението по-долу, с любезното съдействие на Блог на администратора, ще събира данните от всички snmpd единици наведнъж.

За да наблюдаваме състоянието на USB UPS чрез SNMP, първо трябва да променим конфигурацията на snmp daemon.

Препарати

Добавя следното към конфигурацията snmpd.conf.

# APC UPS
пас .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Съдържанието на скрипта /etc/snmp/apcupsd.sh е както следва.

#!/bin/sh -f # Проверете, че apcupsd е онлайн. apcaccess > /dev/null 2>&1 || изход 0 МЯСТО=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Искан OID # # Обработете SET заявки, като просто регистрирате присвоената стойност. # Обърнете внимание, че такива "присвоения" не са постоянни, # нито синтаксисът или исканата стойност не са валидирани. # if [ "$1" = "-s" ]; тогава. echo $* >> /tmp/passtest.log. изход 0. fi # # GETNEXT заявки - определяне на следващия валиден екземпляр. # if [ "$1" = "-n" ]; тогава. случай "$REQ" в. $PLACE| \ $PLACE.0| \ $PLACE.0.*| \ $PLACE.1| \ $PLACE.1.1.0*) RET=$PLACE.1.1.1.0;; $PLACE.1*| \ $PLACE.2.0| \ $PLACE.2.0.*| \ $PLACE.2.1| \ $PLACE.2.2.0*) RET=$PLACE.2.2.1.0;; $PLACE.2.2.1*) RET=$PLACE.2.2.2.0;; $PLACE.2.2.2*) RET=$PLACE.2.2.3.0;; $PLACE.2.2.3*) RET=$PLACE.2.2.4.0;; $PLACE.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $PLACE.3.2.0*) RET=$PLACE.3.2.1.0;; $PLACE.3.2.1*| \ $PLACE.3.2.2*| \ $PLACE.3.2.3*) RET=$PLACE.3.2.4.0;; $PLACE.3.2.4*) RET=$PLACE.3.2.5.0;; $PLACE.3.2*| \ $PLACE.4.0*| \ $PLACE.4.1*| \ $PLACE.4.2.0*) RET=$PLACE.4.2.1.0;; $PLACE.4.2.1*) RET=$PLACE.4.2.2.0;; $PLACE.4.2.2*) RET=$PLACE.4.2.3.0;; $PLACE.4.2.3*) RET=$PLACE.4.2.4.0;; $PLACE.4.2.*| \ $PLACE.5*| \ $PLACE.6*| \ $PLACE.7.0*| \ $PLACE.7.1*| \ $PLACE.7.2.0*| \ $PLACE.7.2.1*| \ $PLACE.7.2.2*) RET=$PLACE.7.2.3.0;; $PLACE.7.2.3*) RET=$PLACE.7.2.4.0;; $PLACE.7*| \ $PLACE.8.0*) RET=$PLACE.8.1.0;; *) изход 0;; esac. друго. # # GET заявки - проверете за валиден екземпляр. # случай "$REQ" в. $PLACE.1.1.1.0| \ $PLACE.2.2.1.0| \ $PLACE.2.2.2.0| \ $PLACE.2.2.3.0| \ $PLACE.2.2.4.0| \ $PLACE.3.2.1.0| \ $PLACE.3.2.4.0| \ $PLACE.3.2.5.0| \ $PLACE.4.2.1.0| \ $PLACE.4.2.2.0| \ $PLACE.4.2.3.0| \ $PLACE.4.2.4.0| \ $PLACE.7.2.3.0| \ $PLACE.7.2.4.0| \ $PLACE.8.1.0) RET=$REQ;; *) изход 0;; esac. fi # # "Обработете" GET* заявки - върнете твърдо кодирана стойност. # ехо "$RET" случай "$RET" в. $PLACE.1.1.1.0) echo "низ"; apcaccess -u -p МОДЕЛ; изход 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; изход 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; изход 0;; $PLACE.2.2.3.0) echo "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); изход 0;; $PLACE.2.2.4.0) echo "низ"; apcaccess -u -p BATTDATE; изход 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; изход 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; изход 0;; $PLACE.3.2.5.0) echo "низ"; apcaccess -u -p LASTXFER; изход 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; изход 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; изход 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; изход 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; изход 0;; $PLACE.7.2.3.0) echo "низ"; apcaccess -u -p САМОТЕСТ; изход 0;; $PLACE.7.2.4.0) echo "низ"; apcaccess -u -p САМОТЕСТ; изход 0;; $PLACE.8.1.0) echo "Gauge32"; ехо 1; изход 0;; *) echo "низ"; ехо "Ак... $RET $REQ"; изход 0;; # Не трябва да се случва. esac.

Ако се чудите за OID, можете да ги намерите ТУК. Имайте предвид, че някои модели UPS не връщат всички параметри или са в грешен формат, така че кодът може да съдържа неточности и мънички.

Сега сте готови.

Как да наблюдавате състоянието на USB UPS чрез SNMP

За да наблюдавате състоянието на USB UPS чрез SNMP, изпълнете следната команда: snmpwalk -v 1 -c обществен 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Резултатът ще бъде такъв:

SNMPv2-SMI:: enterprises.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750 "
SNMPv2-SMI:: предприятия.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: предприятия.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.3.0 = Timeticks: (432000) 1:12:00.00
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: предприятия.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: предприятия.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.5.0 = STRING: "Автоматичен или изричен самотест"
SNMPv2-SMI:: предприятия.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: предприятия.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: предприятия.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: предприятия.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.3.0 = НИЗ: „НЕ“
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = НИЗ: „НЕ“
SNMPv2-SMI:: предприятия.318.1.1.1.8.1.0 = Gauge32: 1

Ако допълнително конфигурирате скрипта за наблюдение, можете да получите тези страхотни графики:

Изтеглете Изтеглете metro Skin за AIMP3

Този уебсайт използва бисквитки, за да подобри вашето изживяване, докато навигирате през уебсайта...

Прочетете още

Изтеглете Изтеглете Grace Skin за AIMP3

Този уебсайт използва бисквитки, за да подобри вашето изживяване, докато навигирате през уебсайта...

Прочетете още

Изтеглете Изтеглете hm_Pure_Display Skin за AIMP3

Този уебсайт използва бисквитки, за да подобри вашето изживяване, докато навигирате през уебсайта...

Прочетете още