Kā pārraudzīt USB UPS statusu, izmantojot SNMP
Kā pārraudzīt USB UPS statusu, izmantojot SNMP
Ir vairāki datori ar USB savienotu UPS. Visi datori izmanto programmu apcupsd. Pieņemsim, ka vēlaties vienuviet apkopot informāciju par katras vienības barošanas avota stāvokli. Tā kā tur jau darbojas snmpd, būtu loģiski paplašināt tā funkcionalitāti.
Tālāk sniegtais risinājums, pateicoties Administratora emuārs, apkopos datus no visām snmpd vienībām vienlaikus.
Lai pārraudzītu USB UPS statusu, izmantojot SNMP, mums vispirms ir jāmaina snmp dēmona konfigurācija.
Preparāti
Konfigurācijai snmpd.conf pievieno tālāk norādīto.
# APC UPS
iziet .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh
Skripta /etc/snmp/apcupsd.sh saturs ir šāds.
#!/bin/sh -f # Pārbaudiet, vai apcupsd ir tiešsaistē. apcaccess > /dev/null 2>&1 || izeja 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Pieprasītais OID # # Apstrādājiet SET pieprasījumus, vienkārši reģistrējot piešķirto vērtību. # Ņemiet vērā, ka šādi "piešķīrumi" nav noturīgi, # nav arī apstiprināta sintakse vai pieprasītā vērtība. # ja [ "$1" = "-s" ]; tad. echo $* >> /tmp/passtest.log. izeja 0. fi # # GETNEXT pieprasījumi — nosaka nākamo derīgo instanci. # ja [ "$1" = "-n"]; tad. lieta "$REQ" in. $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.*| \ VIETA, 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;; *) izeja 0;; esac. cits. # # GET pieprasījumi — pārbaudiet, vai nav derīga instance. # lieta "$REQ" in. $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;; *) izeja 0;; esac. fi # # "Apstrādāt" GET* pieprasījumus — atgriež cieti kodētu vērtību. # atbalss "$RET" korpuss "$RET" in. $PLACE.1.1.1.0) atbalss "virkne"; apcaccess -u -p MODELIS; izeja 0;; $PLACE.2.2.1.0) echo "Gauge32"; apcaccess -u -p BCHARGE; izeja 0;; $PLACE.2.2.2.0) echo "Gauge32"; apcaccess -u -p ITEMP; izeja 0;; $PLACE.2.2.3.0) atbalss "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); izeja 0;; $PLACE.2.2.4.0) atbalss "virkne"; apcaccess -u -p BATTDATE; izeja 0;; $PLACE.3.2.1.0) echo "Gauge32"; apcaccess -u -p LINEV; izeja 0;; $PLACE.3.2.4.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; izeja 0;; $PLACE.3.2.5.0) atbalss "virkne"; apcaccess -u -p LASTXFER; izeja 0;; $PLACE.4.2.1.0) echo "Gauge32"; apcaccess -u -p OUTPUTV; izeja 0;; $PLACE.4.2.2.0) echo "Gauge32"; apcaccess -u -p LINEFREQ; izeja 0;; $PLACE.4.2.3.0) echo "Gauge32"; apcaccess -u -p LOADPCT; izeja 0;; $PLACE.4.2.4.0) echo "Gauge32"; apcaccess -u -p LOADPCT; izeja 0;; $PLACE.7.2.3.0) atbalss "virkne"; apcaccess -u -p SELFTEST; izeja 0;; $PLACE.7.2.4.0) atbalss "virkne"; apcaccess -u -p SELFTEST; izeja 0;; $PLACE.8.1.0) echo "Gauge32"; atbalss 1; izeja 0;; *) atbalss "odziņa"; atbalss "ak... $RET $REQ"; izeja 0;; # Nevajadzētu notikt. esac.
Ja jūs interesē OID, varat tos atrast ŠEIT. Ņemiet vērā, ka daži UPS modeļi neatgriež visus parametrus vai nepareizā formātā, tāpēc kodā var būt neprecizitātes un nepilnības.
Tagad esat gatavs.
Kā pārraudzīt USB UPS statusu, izmantojot SNMP
Lai pārraudzītu USB UPS statusu, izmantojot SNMP, palaidiet šādu komandu: snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.4.1.318.1.1.1
. Izvade būs šāda:
SNMPv2-SMI:: uzņēmumi.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: uzņēmumi.318.1.1.1.2.2.1.0 = mērierīce32: 100
SNMPv2-SMI:: uzņēmumi.318.1.1.1.2.2.2.0 = mērierīce32: 36
SNMPv2-SMI:: uzņēmumi.318.1.1.1.2.2.3.0 = Timeticks: (432000) 1:12:00.00
SNMPv2-SMI:: uzņēmumi.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: uzņēmumi.318.1.1.1.3.2.1.0 = Mērinstruments32: 227
SNMPv2-SMI:: uzņēmumi.318.1.1.1.3.2.4.0 = mērierīce32: 50
SNMPv2-SMI:: companies.318.1.1.1.3.2.5.0 = STRING: "Automātiska vai skaidra pašpārbaude"
SNMPv2-SMI:: uzņēmumi.318.1.1.1.4.2.1.0 = Mērinstruments32: 227
SNMPv2-SMI:: uzņēmumi.318.1.1.1.4.2.2.0 = mērierīce32: 50
SNMPv2-SMI:: uzņēmumi.318.1.1.1.4.2.3.0 = mērierīce32: 13
SNMPv2-SMI:: uzņēmumi.318.1.1.1.4.2.4.0 = mērierīce32: 13
SNMPv2-SMI:: uzņēmumi.318.1.1.1.7.2.3.0 = STRING: "NĒ"
SNMPv2-SMI:: uzņēmumi.318.1.1.1.7.2.4.0 = STRING: "NĒ"
SNMPv2-SMI:: uzņēmumi.318.1.1.1.8.1.0 = mērierīce32: 1
Ja turpmāk konfigurējat uzraudzības skriptu, varat iegūt šos jaukus grafikus: