Windows Tips & News

Sådan overvåger du USB UPS-status via SNMP

click fraud protection
ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevne

Sådan overvåger du USB UPS-status via SNMP

Der er flere computere med USB-tilsluttet UPS. Alle computere bruger programmet apcupsd. Lad os sige, at du vil samle oplysninger om strømforsyningens tilstand for hver enhed på ét sted. Da snmpd allerede kører der, ville det være logisk at udvide dets funktionalitet.

Reklame

Nedenstående løsning, høflighed af Admins blog, vil indsamle data fra alle snmpd-enheder på én gang.

For at overvåge USB UPS-status via SNMP, skal vi først ændre snmp-dæmonens konfiguration.

Indholdskjule
Forberedelser
Sådan overvåger du USB UPS-status via SNMP

Forberedelser

Tilføjer følgende til konfigurationen snmpd.conf.

# APC UPS
pass .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Indholdet af /etc/snmp/apcupsd.sh scriptet er som følger.

#!/bin/sh -f # Tjek, at apcupsd er online. apcaccess > /dev/null 2>&1 || exit 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Anmodet OID # # Behandle SET-anmodninger ved blot at logge den tildelte værdi. # Bemærk, at sådanne "tildelinger" ikke er vedvarende, # og syntaksen eller den anmodede værdi er heller ikke valideret. # if [ "$1" = "-s" ]; derefter. echo $* >> /tmp/passtest.log. udgang 0. fi # # GETNEXT-anmodninger - bestemme næste gyldige forekomst. # if [ "$1" = "-n" ]; derefter. tilfældet "$REQ" i. $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;; *) exit 0;; esac. andet. # # GET-anmodninger - tjek for gyldig instans. # tilfældet "$REQ" i. $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;; *) exit 0;; esac. fi # # "Process" GET*-anmodninger - returner hårdkodet værdi. # ekko "$RET" tilfældet "$RET" i. $PLACE.1.1.1.0) ekko "streng"; apcaccess -u -p MODEL; udgang 0;; $PLACE.2.2.1.0) ekko "Måler32"; apcaccess -u -p BCHARGE; udgang 0;; $PLACE.2.2.2.0) ekko "Måler32"; apcaccess -u -p ITEMP; udgang 0;; $PLACE.2.2.3.0) ekko "Timeticks"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); udgang 0;; $PLACE.2.2.4.0) ekko "streng"; apcaccess -u -p BATTDATE; udgang 0;; $PLACE.3.2.1.0) ekko "Måler32"; apcaccess -u -p LINEV; udgang 0;; $PLACE.3.2.4.0) ekko "Måler32"; apcaccess -u -p LINEFREQ; udgang 0;; $PLACE.3.2.5.0) ekko "streng"; apcaccess -u -p LASTXFER; udgang 0;; $PLACE.4.2.1.0) ekko "Måler32"; apcaccess -u -p OUTPUTV; udgang 0;; $PLACE.4.2.2.0) ekko "Måler32"; apcaccess -u -p LINEFREQ; udgang 0;; $PLACE.4.2.3.0) ekko "Måler32"; apcaccess -u -p LOADPCT; udgang 0;; $PLACE.4.2.4.0) ekko "Måler32"; apcaccess -u -p LOADPCT; udgang 0;; $PLACE.7.2.3.0) ekko "streng"; apcaccess -u -p SELVMEST; udgang 0;; $PLACE.7.2.4.0) ekko "streng"; apcaccess -u -p SELVMEST; udgang 0;; $PLACE.8.1.0) echo "Gauge32"; ekko 1; udgang 0;; *) ekko "streng"; ekko "ak... $RET $REQ"; udgang 0;; # Bør ikke ske. esac.

Hvis du undrer dig over OID'er, kan du finde dem HER. Bemærk, at nogle UPS-modeller ikke returnerer alle parametre eller i det forkerte format, så koden kan indeholde unøjagtigheder og stubber.

Nu er du klar.

Sådan overvåger du USB UPS-status via SNMP

For at overvåge USB UPS-status via SNMP skal du køre følgende kommando: snmpwalk -v 1 -c offentlig 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Outputtet vil være sådan:

SNMPv2-SMI:: enterprises.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750 "
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.1.0 = Måler32: 100
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.2.0 = Måler32: 36
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.3.0 = Tidspunkter: (432000) 1:12:00.00
SNMPv2-SMI:: enterprises.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.1.0 = Måler32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.4.0 = Måler32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.3.2.5.0 = STRING: "Automatisk eller eksplicit selvtest"
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.1.0 = Måler32: 227
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.2.0 = Måler32: 50
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.3.0 = Måler32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.4.2.4.0 = Måler32: 13
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.3.0 = STRING: "NEJ"
SNMPv2-SMI:: enterprises.318.1.1.1.7.2.4.0 = STRING: "NEJ"
SNMPv2-SMI:: enterprises.318.1.1.1.8.1.0 = Måler32: 1

Hvis du konfigurerer overvågningsscriptet yderligere, kan du få disse smarte grafer:

UploadSpændingBatteritempRuntime
ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevne

Cinnamon 4.0 vil forsøge at reducere skærmrivning

Cinnamon er Linux Mints flagskibs desktop-miljø. Startede som en Gnome 3 gaffel, nu er den fuldst...

Læs mere

Cinnamon 2.6 er ude

Cinnamon 2.6 er ude

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneCinnamon er stand...

Læs mere

MATE 1.10 udgivet

MATE 1.10 udgivet

ANBEFALEDE: Klik her for at løse Windows-problemer og optimere systemets ydeevneMATE, en forgreni...

Læs mere