====== Uninterruptible Power Supply ======
UPS, czyli zasilacz awaryjny, którego zadaniem jest utrzymanie zasilania sprzętu komputerowego w przypadku krótkotrwałego zaniku lub nieprawidłowych parametrów zasilania sieciowego.
===== Komunikacja z UPS'em =====
Centralny UPS znajduje się w serwerowni. Można zarządzać nim za pomocą odpowiedniego oprogramowania komunikującego się [[protokol|protokołem]] [[snmp|SNMP (Simple Network Management Protocol)]]. Przydatny może się okazać się skrypt [[check_snmp_ups.sh|check_snmp_ups.sh]] pobrany z tej {{https://exchange.nagios.org/directory/Plugins/Hardware/UPS/SNMP-UPS-Check/details|strony}}.
apt-get install snmp
# Przykłady użycia skryptu:
./check_snmp_ups.sh -H 10.46.1.2 -C public -t charge
./check_snmp_ups.sh -H 10.46.1.2 -C public -t power
# Więcej dowiesz się wołając:
./check_snmp_ups.sh -h
Ów skrypt korzysta z kodów [[UPS-MIB]] do komunikacji po protokole [[SNMP]] za pomocą poleceń ''/usr/bin/snmpget'' i ''/usr/bin/snmpwalk'' (jest swego rodzaju skrótem). Bezpośrednie zapytanie może wyglądać następująco:
/usr/bin/snmpget -t 30 -r 2 -v 1 -c public -Ovq 10.46.1.2 1.3.6.1.2.1.33.1.4.4.1.4.0
Najbardziej przydatne kody to (w zapytaniu trzeba dodawać zero na końcu):
upsBatteryStatus = '1.3.6.1.2.1.33.1.2.1'
upsSecondsOnBattery = '1.3.6.1.2.1.33.1.2.2'
upsEstimatedMinutesRemaining = '1.3.6.1.2.1.33.1.2.3'
upsEstimatedChargeRemaining = '1.3.6.1.2.1.33.1.2.4'
upsBatteryVoltage = '1.3.6.1.2.1.33.1.2.5'
upsBatteryCurrent = '1.3.6.1.2.1.33.1.2.6'
upsBatteryTemperature = '1.3.6.1.2.1.33.1.2.7'
def get_command(oid, ip='10.46.1.2'):
return '/usr/bin/snmpget -t 2 -r 2 -v 1 -c public -Ovq {} {}.0'.format(ip, oid)
===== Rozwiązywanie problemów =====
Jeżeli występuje problem z połączeniem (np. timeout), sprawdź czy działa ping i czy otwarty jest domyślny port dla [[SNMP]] 161.
ping 192.128.1.10
nmap -p 161 192.128.1.10