Windows Tips & News

Jak monitorować stan USB UPS przez SNMP?

ZALECANA: Kliknij tutaj, aby rozwiązać problemy z systemem Windows i zoptymalizować wydajność systemu

Jak monitorować stan USB UPS przez SNMP?

Istnieje kilka komputerów z zasilaczem UPS podłączonym przez USB. Wszystkie komputery korzystają z programu apcupsd. Załóżmy, że chcesz zebrać w jednym miejscu informacje o stanie zasilania każdej jednostki. Ponieważ snmpd już tam działa, logiczne byłoby rozszerzenie jego funkcjonalności.

Reklama

Poniższe rozwiązanie, dzięki uprzejmości Blog administratora, zbierze dane ze wszystkich jednostek snmpd jednocześnie.

Aby monitorować stan USB UPS przez SNMP, musimy najpierw zmodyfikować konfigurację demona snmp.

Zawartośćukryć
Przygotowania
Jak monitorować stan USB UPS przez SNMP?

Przygotowania

Dodaje następujące elementy do pliku konfiguracyjnego snmpd.conf.

# UPS APC
przejść .1.3.6.1.4.1.318.1.1.1 /bin/sh /etc/snmp/apcupsd.sh

Zawartość skryptu /etc/snmp/apcupsd.sh jest następująca.

#!/bin/sh -f # Sprawdź, czy apcupsd jest online. apcaccess > /dev/null 2>&1 || wyjście 0 PLACE=".1.3.6.1.4.1.318.1.1.1" REQ="$2" # Żądany OID # # Przetwarzaj żądania SET, po prostu rejestrując przypisaną wartość. # Zauważ, że takie "przypisania" nie są trwałe, # ani składnia ani żądana wartość nie są sprawdzane. # if [ "$1" = "-s" ]; następnie. echo $* >> /tmp/passtest.log. wyjście 0. fi # # Żądania GETNEXT - określ następną ważną instancję. # if [ "$1" = "-n" ]; następnie. przypadek „$REQ” w. $MIEJSCE| \ $MIEJSCE.0| \ $PLACE.0.*| \ $PLACE.1| \ $MIEJSCE 1.1.0*) RET=$MIEJSCE.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;; $PLACE2.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;; *) wyjście 0;; esac. w przeciwnym razie. # # Żądania GET - sprawdź poprawną instancję. # przypadek „$REQ” w. $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;; *) wyjście 0;; esac. fi # # Żądania GET* „Process” — zwracają zakodowaną na sztywno wartość. # echo "$RET" przypadek „$RET” w. $PLACE.1.1.1.0) echo "ciąg"; apcaccess -u -p MODEL; wyjście 0;; $PLACE.2.2.1.0) echo "Wskaźnik32"; apcaccess -u -p BCHARGE; wyjście 0;; $PLACE.2.2.2.0) echo "Wskaźnik32"; apcaccess -u -p ITEMP; wyjście 0;; $PLACE.2.2.3.0) echo "Liczniki czasu"; echo $(($(LC_ALL=C printf "%.*f" 0 $(apcaccess -u -p TIMELEFT)) * 6000)); wyjście 0;; $PLACE.2.2.4.0) echo "ciąg"; apcaccess -u -p BATTDATE; wyjście 0;; $PLACE.3.2.1.0) echo "Wskaźnik32"; apcaccess -u -p LINEV; wyjście 0;; $PLACE.3.2.4.0) echo "Wskaźnik32"; apcaccess -u -p LINEFREQ; wyjście 0;; $PLACE.3.2.5.0) echo "ciąg"; apcaccess -u -p LASTXFER; wyjście 0;; $PLACE.4.2.1.0) echo "Wskaźnik32"; apcaccess -u -p OUTPUTV; wyjście 0;; $PLACE.4.2.2.0) echo "Wskaźnik32"; apcaccess -u -p LINEFREQ; wyjście 0;; $PLACE.4.2.3.0) echo "Wskaźnik32"; apcaccess -u -p LOADPCT; wyjście 0;; $PLACE.4.2.4.0) echo "Wskaźnik32"; apcaccess -u -p LOADPCT; wyjście 0;; $PLACE.7.2.3.0) echo "ciąg"; apcaccess -u -p SELFEST; wyjście 0;; $PLACE.7.2.4.0) echo "ciąg"; apcaccess -u -p SELFEST; wyjście 0;; $PLACE.8.1.0) echo "Wskaźnik32"; echo 1; wyjście 0;; *) echo „ciąg”; echo "potwierdź... $RET $REQ"; wyjście 0;; # Nie powinno się zdarzyć. esac.

Jeśli zastanawiasz się nad OID-ami, możesz je znaleźć TUTAJ. Należy pamiętać, że niektóre modele zasilaczy UPS nie zwracają wszystkich parametrów lub w złym formacie, więc kod może zawierać nieścisłości i fragmenty.

Teraz jesteś gotowy.

Jak monitorować stan USB UPS przez SNMP?

Aby monitorować stan USB UPS za pośrednictwem SNMP, uruchom następujące polecenie: snmpwalk -v 1 -c publiczne 127.0.0.1 .1.3.6.1.4.1.318.1.1.1. Wynik będzie taki:

SNMPv2-SMI:: enterprise.318.1.1.1.1.1.1.0 = STRING: "Smart-UPS 750"
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.1.0 = Gauge32: 100
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.2.0 = Gauge32: 36
SNMPv2-SMI:: enterprise.318.1.1.1.2.2.3.0 = Timeticki: (432000) 1:12:00.00
SNMPv2-SMI:: przedsiębiorstwa.318.1.1.1.2.2.4.0 = STRING: "2020-05-14"
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.1.0 = Gauge32: 227
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.4.0 = Gauge32: 50
SNMPv2-SMI:: enterprise.318.1.1.1.3.2.5.0 = STRING: "Automatyczny lub jawny autotest"
SNMPv2-SMI:: przedsiębiorstwa.318.1.1.1.4.2.1.0 = Wskaźnik32: 227
SNMPv2-SMI:: enterprise.318.1.1.1.4.2.2.0 = Gauge32: 50
SNMPv2-SMI:: przedsiębiorstwa.318.1.1.1.4.2.3.0 = Wskaźnik32: 13
SNMPv2-SMI:: przedsiębiorstwa.318.1.1.1.4.2.4.0 = Wskaźnik32: 13
SNMPv2-SMI:: enterprise.318.1.1.1.7.2.3.0 = STRING: "NIE"
SNMPv2-SMI:: enterprise.318.1.1.1.7.2.4.0 = STRING: "NIE"
SNMPv2-SMI:: enterprise.318.1.1.1.8.1.0 = Wskaźnik32: 1

Jeśli skonfigurujesz dalej skrypt monitorowania, możesz uzyskać te fajne wykresy:

PrześlijNapięcieTemperatura bateriiCzas pracy
ZALECANA: Kliknij tutaj, aby rozwiązać problemy z systemem Windows i zoptymalizować wydajność systemu
Pobierz domyślną tapetę z Windows 10 build 10147

Pobierz domyślną tapetę z Windows 10 build 10147

W nowej, która wyciekła z wersji 10147 systemu Windows 10, testerzy zauważyli nową domyślną tapet...

Czytaj więcej

Skrót do wyświetlania menu paska tytułu nowoczesnych aplikacji w systemie Windows 8.1 Spring Update 1 (pakiet funkcji)

Skrót do wyświetlania menu paska tytułu nowoczesnych aplikacji w systemie Windows 8.1 Spring Update 1 (pakiet funkcji)

ZALECANA: Kliknij tutaj, aby rozwiązać problemy z systemem Windows i zoptymalizować wydajność sys...

Czytaj więcej

Przełącz YouTube na Flash Player w Firefoksie

Przełącz YouTube na Flash Player w Firefoksie

ZALECANA: Kliknij tutaj, aby rozwiązać problemy z systemem Windows i zoptymalizować wydajność sys...

Czytaj więcej