Kuidas jälgida USB UPSi olekut SNMP kaudu
Kuidas jälgida USB UPSi olekut SNMP kaudu
USB-ühendusega UPS-iga on mitu arvutit. Kõik arvutid kasutavad apcupsd programmi. Oletame, et soovite koondada teavet iga seadme toiteallika oleku kohta ühte kohta. Kuna snmpd seal juba töötab, siis oleks loogiline selle funktsionaalsust laiendada.
Allpool toodud lahendus, tänu Administraatori blogi, kogub andmeid kõigist snmpd-üksustest korraga.
USB UPSi oleku jälgimiseks SNMP kaudu peame esmalt muutma snmp deemoni konfiguratsiooni.
Ettevalmistused
Lisab faili config snmpd.conf järgmise.
# APC UPS
läbima .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh
Skripti /etc/snmp/apcupsd.sh sisu on järgmine.
#!/bin/sh -f # Kontrollige, kas apcupsd on võrgus. apcaccess > /dev/null 2>&1 || väljumine 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Nõutud OID # # Töötle SET-päringuid, logides lihtsalt määratud väärtuse. # Pange tähele, et sellised "määramised" ei ole püsivad, # samuti pole süntaksit ega nõutud väärtust kinnitatud. # if [ "$1" = "-s" ]; siis. echo $* >> /tmp/passtest.log. väljumine 0. fi # # GETNEXT päringud – määrake järgmine kehtiv eksemplar. # kui [ "$1" = "-n"]; siis. ümbris "$REQ" sisse. $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.*| \ $KOHT.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;; $KOHT.2*| \ $PLACE.3.0*| \ $PLACE.3.1*| \ $PLACE.3.2.0*) RET=$PLACE.3.2.1.0;; $PLACE.3.2.1*| \ $KOHT.3.2.2*| \ $PLACE.3.2.3*) RET=$PLACE.3.2.4.0;; $PLACE.3.2.4*) RET=$PLACE.3.2.5.0;; $KOHT.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.*| \ $KOHT.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;; *) väljumine 0;; esac. muidu. # # GET päringud – kontrollige kehtivat eksemplari. # ümbris "$REQ" sisse. $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;; *) väljumine 0;; esac. fi # # "Töötle" GET* taotlusi – tagastab kõvakodeeritud väärtuse. # kaja "$RET" ümbris "$RET" sisse. $PLACE.1.1.1.0) kaja "string"; apcaccess -u -p MUDEL; väljumine 0;; $PLACE.2.2.1.0) kaja "Gauge32"; apcaccess -u -p BCHARGE; väljumine 0;; $PLACE.2.2.2.0) kaja "Gauge32"; apcaccess -u -p ITEMP; väljumine 0;; $PLACE.2.2.3.0) echo "Timeticks"; kaja $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); väljumine 0;; $PLACE.2.2.4.0) kaja "string"; apcaccess -u -p BATTDATE; väljumine 0;; $PLACE.3.2.1.0) kaja "Gauge32"; apcaccess -u -p LINEV; väljumine 0;; $PLACE.3.2.4.0) kaja "Gauge32"; apcaccess -u -p LINEFREQ; väljumine 0;; $PLACE.3.2.5.0) kaja "string"; apcaccess -u -p LASTXFER; väljumine 0;; $PLACE.4.2.1.0) kaja "Gauge32"; apcaccess -u -p OUTPUTV; väljumine 0;; $PLACE.4.2.2.0) kaja "Gauge32"; apcaccess -u -p LINEFREQ; väljumine 0;; $PLACE.4.2.3.0) kaja "Gauge32"; apcaccess -u -p LOADPCT; väljumine 0;; $PLACE.4.2.4.0) kaja "Gauge32"; apcaccess -u -p LOADPCT; väljumine 0;; $PLACE.7.2.3.0) kaja "string"; apcaccess -u -p SELFTEST; väljumine 0;; $PLACE.7.2.4.0) kaja "string"; apcaccess -u -p SELFTEST; väljumine 0;; $PLACE.8.1.0) kaja "Gauge32"; kaja 1; väljumine 0;; *) kaja "string"; kaja "ack... $RET $REQ"; väljumine 0;; # Ei tohiks juhtuda. esac.
Kui teil on huvi OID-de kohta, võite need leida SIIN. Pange tähele, et mõned UPS-i mudelid ei tagasta kõiki parameetreid või vales vormingus, seega võib kood sisaldada ebatäpsusi ja tüngasid.
Nüüd olete valmis.
Kuidas jälgida USB UPSi olekut SNMP kaudu
USB UPSi oleku jälgimiseks SNMP kaudu käivitage järgmine käsk: snmpwalk -v 1 -c avalik 127.0.0.1 .1.3.6.1.4.1.318.1.1.1
. Väljund saab olema selline:
SNMPv2-SMI:: ettevõtted.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.3.0 = Ajamõõtjad: (432000) 1:12:00.00
SNMPv2-SMI:: ettevõtted.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: ettevõtted.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: ettevõtted.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: companies.318.1.1.1.3.2.5.0 = STRING: "Automaatne või selge enesetestimine"
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.1.0 = Gauge32: 227
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.3.0 = Gauge32: 13
SNMPv2-SMI:: ettevõtted.318.1.1.1.4.2.4.0 = Gauge32: 13
SNMPv2-SMI:: ettevõtted.318.1.1.1.7.2.3.0 = STRING: "EI"
SNMPv2-SMI:: ettevõtted.318.1.1.1.7.2.4.0 = STRING: "EI"
SNMPv2-SMI:: ettevõtted.318.1.1.1.8.1.0 = Gauge32: 1
Kui konfigureerite seireskripti veelgi, saate need vahvad graafikud: