maxhoesel.nut_netclient
maxhoesel.nut_netclient
Installieren Sie NUT und upsmon auf einem Zielsystem und konfigurieren Sie es, um über das Netzwerk einer entfernten USV im Netclient-Modus zu folgen.
Anforderungen
- Ein Host, der eines der folgenden Betriebssysteme ausführt:
- Ubuntu 18.04 LTS oder neuer
- Debian 9 oder neuer
- Bleiben Sie mit Berechtigungen auf dem Host
Rollenvariablen
HINWEIS: Weitere Informationen zu den Werten in upsmon.conf und deren Zweck finden Sie hier.
nut_netclient_monitors
- Liste der USV-Systeme, die überwacht werden sollen
- Muss eine Liste von Überwachungseinträgen sein, wobei jeder Eintrag ein Dict mit folgenden Werten ist:
system
: Das System, das überwacht werden soll. Format:<upsname>[@<hostname>[:<port>]]
powervalue
: Anzahl der Stromversorgungen, die dieses System an den Host liefert. Normalerweise 1username
: Name des entfernten Überwachungsbenutzerspassword
: Passwort des entfernten Überwachungsbenutzerstype
: Art der USV-Beziehung, entwedermaster
oderslave
- Beispiel:
nut_netclient_monitors: - system: "[email protected]" powervalue: 1 username: monitor password: ein-sicheres-passwort type: slave - system: "[email protected]" powervalue: 1 username: monitor password: ein-anderes-passwort type: slave
- Erforderlich: ja
- Standard:
undefiniert
nut_netclient_notifymsg_<type>
- Setzen Sie eine benutzerdefinierte Benachrichtigung für einen bestimmten Nachrichtentyp
- Gültige Typen finden Sie im upsmon-Handbuch (Abschnitt NOTIFYMSG)
- Beispiel:
nut_netclient_notifymsg_online: USV %s ist wieder online nut_netclient_notifymsg_lowbatt: USV %s hat jetzt eine niedrige Batterie
nut_netclient_notifyflag_<type>
- Setzen Sie Benachrichtigungsflags für einzelne Ereignistypen
- Gültige Typen und Flags finden Sie im upsmon-Handbuch
- Beispiel:
nut_netclient_notifyflag_online: SYSLOG nut_netclient_notifymsg_lowbatt: SYSLOG+WALL+EXEC
Präfix für alle Variablen unten: nut_netclient_
Name | Zusammenfassung | Erforderlich | Standard |
---|---|---|---|
deadtime |
Zeit, bevor die USV als "tot" erklärt wird, in Sekunden | 15 | |
finaldelay |
Zeit zwischen der letzten Abschaltwarnung und dem Befehl in Sekunden | 5 | |
hostsync |
Timeout zwischen Master und Slaves in Shutdown-Situationen in Sekunden | 15 | |
minsupplies |
Minimale Anzahl der benötigten Stromversorgungen | 1 | |
nocommwarntime |
Intervall zwischen Kommunikationsfehlerwarnungen in Sekunden | 300 | |
notifycmd |
Rufen Sie diesen Befehl auf, um Nachrichten zu senden | undefiniert |
|
pollfreq |
Zeit zwischen USV-Abfragen in Sekunden | 5 | |
pollfreqalert |
Zeit zwischen USV-Abfragen bei Batteriebetrieb in Sekunden | 5 | |
powerdownflag |
Flag-Datei, die upsmon während der Abschaltung erstellt | /etc/killpower |
|
rbwarntime |
Intervall zum Senden von Batteriewechselnachrichten in Sekunden | 43200 | |
run_as_user |
Monitor als anderer Benutzer ausführen | undefiniert |
|
shutdowncmd |
Befehl, der beim Herunterfahren des Systems ausgeführt werden soll. Muss in Anführungszeichen stehen, wenn er Leerzeichen enthält | "/sbin/shutdown -h +0" |
|
certpath |
Pfad zu einer Zertifikatdatei oder DB | undefiniert |
|
certident |
Zertifikat identifizieren, das abgerufen werden soll (wenn NSS verwendet wird) | undefiniert |
|
certhost |
Host-Direktiven (wenn NSS verwendet wird) | undefiniert |
|
certverify |
Ob SSL-Zertifikate validiert werden sollen. Muss entweder 0 oder 1 sein | undefiniert |
|
forcessl |
Ob SSL-Verbindungen erzwungen werden sollen. Muss entweder 0 oder 1 sein | undefiniert |
Beispiel-Playbook
- hosts: all
become: ja
tasks:
- name: Führen Sie nut_netclient aus
include_role:
name: maxhoesel.nut_netclient
vars:
nut_netclient_monitors:
- system: "[email protected]"
powervalue: 1
username: monitor
password: ein-sicheres-passwort
type: slave
Testen
Diese Rolle verwendet tox und molecule für Tests. Sie müssen Folgendes auf Ihrem System installiert haben:
- python3-tox
- Docker
Führen Sie dann einfach test.sh
im Stammverzeichnis dieser Rolle aus. Sie können einzelne Tests mit tox -l
anzeigen und ausführen.
Installieren
ansible-galaxy install maxhoesel.nut_netclient
Lizenz
gpl-3.0
Downloads
11.9k
Besitzer
Junior Automation and Infrastructure Engineer, Bachelor in CompSci. I write Ansible content and DevOps-related tools, mostly in Rust