Dowiedz się, jak skonfigurować NUT (Network UPS Tools) w systemie Linux do sterowania UPS

Niniejsza instrukcja jest przeznaczona dla: skonfigurować NUT od podstaw na Raspberry Pi z systemem operacyjnym Raspbiansp ten Mocną stroną korzystania z tego systemu zamiast komputera jest niskie zużycie energii i możliwość dużej konfiguracji, takiej jak powiadomienia e-mail. NUT umożliwia również podłączenie komputerów „podrzędnych” w celu odczytania ich stanu.

Instalacja

Pierwszą rzeczą, którą musisz zrobić, to zainstalować program:

sudo apt-get install nut

Edytuj pliki konfiguracyjne

Po zainstalowaniu musisz przejść do / etc / nut / katalog gdzie znajdują się wszystkie pliki .conf, aby je sformatować.

Próbowaliśmy tej konfiguracji z Przetwornica Salicru SPS SOHO + 1400VA ten Następnie umieścimy zawartość naszych plików, aby Raspberry działał jako nauczyciel i wysyłał powiadomienia e-mail, gdy pojawi się problem. Po prostu edytuj je w trybie root za pomocą naszego ulubionego edytora plików (vi, vim, nano lub cokolwiek innego).

Plik Nut.conf

MODE=standalone

Plik Ups.conf

[salicru]driver = blazer_usb
port = auto
desc = "SAI Salicru"

Plik Upsd.conf

MAXAGE 15
MAXCONN 1024
LISTEN 127.0.0.1 3493
LISTEN ::1 3493

Plik Upsmon.conf

MONITOR salicru@localhost 1 nonmaster contraseña master

MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /bin/upssched-cmd
POLLFREQ 5
POLLFREQALERT 5
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower

NOTIFYFLAG ONLINE SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT SYSLOG+WALL+EXEC
NOTIFYFLAG FSD SYSLOG+WALL+EXEC
NOTIFYFLAG COMMOK SYSLOG+WALL+EXEC
NOTIFYFLAG COMMBAD SYSLOG+WALL+EXEC
NOTIFYFLAG SHUTDOWN SYSLOG+WALL+EXEC
NOTIFYFLAG REPLBATT SYSLOG+WALL+EXEC
NOTIFYFLAG NOCOMM SYSLOG+WALL+EXEC
NOTIFYFLAG NOPARENT SYSLOG+WALL+EXEC

RBWARNTIME 43200
NOCOMMWARNTIME 300
FINALDELAY 5

Plik Upsd.users

[nonmaster]password = contraseña
actions = set
instcmds = ALL
upsmon master

Plik Upssched.conf

CMDSCRIPT /bin/upssched-cmd
PIPEFN /var/run/nut/upssched/upssched.pipe
LOCKFN /var/run/nut/upssched/upssched.lock


AT COMMOK * EXECUTE notify
AT COMMBAD * EXECUTE notify
AT REPLBATT * EXECUTE notify
AT NOCOMM * EXECUTE notify
AT FSD * EXECUTE forced-shutdown
AT NOPARENT * EXECUTE notify
AT SHUTDOWN * EXECUTE notify
AT ONLINE * CANCEL-TIMER shutdown
AT ONLINE * EXECUTE resume
AT ONBATT * START-TIMER shutdown 60000
AT ONBATT * EXECUTE shutdown-warning
AT LOWBATT * START-TIMER shutdown
AT LOWBATT * EXECUTE shutdown-warning

Dotychczas kluczowe pliki zostały sformatowane tak, aby system operacyjny mógł poprawnie rozpoznać UPS i rozpocząć pracę. Istnieje jednak dodatkowy plik o nazwie upssched-cmd zlokalizowany w / kosz / który odpowiada za wykonywanie akcji skonfigurowanych w poprzednich plikach, takich jak wyłączanie serwera w przypadku rozładowania baterii lub powiadamianie dziennika systemowego o różnych zdarzeniach występujących na UPS.

Ścieżka do tego pliku (niezbędna do poprawnej konfiguracji) znajduje się w /bin/upssched-cmd, edytujemy go naszym ulubionym edytorem plików o następującej treści:

Upssched-cmd plik

#!/bin/sh

case "${NOTIFYTYPE}" in
ONLINE)
_notifymessage="UPS ${UPSNAME} - Equipo funcionando con la luz electrica";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
ONBATT)
_notifymessage="UPS ${UPSNAME} - Corte en el suministro electrico, el sistema funciona con bateria. CUIDADO";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
LOWBATT)
_notifymessage="UPS ${UPSNAME} - Bateria baja";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
FSD)
_notifymessage="UPS ${UPSNAME}: - Forzando el apagado del equipo";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
COMMOK)
_notifymessage="La comunicacion con el UPS ${UPSNAME} se ha establecido correctamente";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
COMMBAD)
_notifymessage="La comunicacion con el UPS ${UPSNAME} se ha PERDIDO, ERROR.";
echo ${_notifymessage} | mail -s "SAI" [email protected];
upsdrvctl start salicru;;
SHUTDOWN)
_notifymessage="Finalizando sesion y apagando el equipo.";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
REPLBATT)
_notifymessage="UPS ${UPSNAME} - The battery needs to be replaced!";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
NOCOMM)
_notifymessage="UPS ${UPSNAME} - El UPS no esta disponible";
echo ${_notifymessage} | mail -s "SAI" [email protected];
upsdrvctl start salicru;;
NOPARENT)
_notifymessage="No se puede apagar automaticamente el servidor, se necesita
intervencion del administrador.";
echo ${_notifymessage} | mail -s "SAI" [email protected];;
esac

case "${1}" in
shutdown-warning)

_message="${_notifymessage}.
Apagado inminente en ${_shutdowntimer} segundos.";;

shutdown)
_message="${_notifymessage}.
Se inicia el apagado del equipo.";
shutdown -p now ${_message};;

resume)
_message="${_notifymessage}.
Apagado cancelado.";;

forced-shutdown)
_message="${_notifymessage}.
Apagado forzado inminente en 100 minutos.";
shutdown -h 100;;

notify)
_message="${_notifymessage}";;

*)
_message="Unknown command: ${1}";
esac

# Write message to syslo
logger -t upssched-cmd "${_message}"

Sprawdź funkcję i przeglądaj logi

Po wykonaniu tych kroków zaleca się ponowne uruchomienie systemu operacyjnego w celu sprawdzenia, czy wszystko działa poprawnie. Jest bardzo przydatne polecenie, aby sprawdzić, czy sterowniki i system w Raspbian działają poprawnie:

upsdrvctl start salicru

Wszystkie logi są zapisywane w syslog, dzięki czemu możemy kolejkować najnowsze paski informacji systemowych w celu wykrycia problemów z uruchamianiem lub innych ostrzeżeń:

tail /var/log/syslog

Jak widzieliście w tym końcowym pliku konfiguracyjnym, użyliśmy serwera SMTP, który zainstalowaliśmy na Raspbian do wysyłania powiadomień e-mail.

Jeśli używamy programów klienckich NUT na komputerach podrzędnych, takich jak WinNUT, możemy odczytać stan falownika i wyłączyć różne komputery. Wypróbowaliśmy to ustawienie i działa dobrze, jednak możesz mieć problem ze względu na sterowniki lub z innych powodów. Zapraszamy do komentowania, jeśli masz problemy, a my postaramy się Ci pomóc.

Dodaj komentarz