maxhoesel.nut_netclient

maxhoesel.nut_netclient

Release CI Status License

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 1
    • username: Name des entfernten Überwachungsbenutzers
    • password: Passwort des entfernten Überwachungsbenutzers
    • type: Art der USV-Beziehung, entweder master oder slave
  • 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.

Über das Projekt

Install and configure NUT to act as a netclient slave

Installieren
ansible-galaxy install maxhoesel.nut_netclient
GitHub Repository
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