Zum Inhalt

Konfiguration

Die Vorlage config.ini.sample zu config.ini kopieren. Anschließend die Zugangsdaten für die Router Weboberfläche, SNMP, telnet sowie die E-Mail-Konfiguration an das eigene Netzwerk anpassen.

Für eine detaillierte Erklärung der einzelnen Parameter, siehe config-details.md.

Testlauf durchführen (--test)

Überprüfen, ob die Kommunikation mit dem Router funktioniert und alle Abhängigkeiten korrekt installiert sind. Dies sollte als erster Schritt ausgeführt werden (Achtung: venv muss aktiv sein!):

python3 vx-info.py --test
Bei einer erfolgreichen Konfiguration sieht die Ausgabe folgendermaßen aus:
GUI Scraping
  ✓  Login in Routerweboberfläche erfolgreich

Telnet Konfiguration
  ✓  telnet Login erfolgreich

SNMP Konfiguration
  ✓  snmp Zugriff erfolgreich

eMail Konfiguration
  ✓  eMail erfolgreich versendet

Erster Datenabruf

Wenn der Testlauf erfolgreich war, kann das vollständige Logbuch manuell heruntergeladen und die Datenbank initialisiert werden:

python3 vx-info.py --update --log

Ausführungsoptionen (CLI)

Hauptskript vx-info.py mit folgenden Aufrufparametern:

  • --update: Fragt grundlegende Daten (Systemstatus, DSL-Werte, Client-Liste) primär über Telnet/SNMP ab und speichert sie in der Datenbank. Sind Telnet/SNMP nicht verfügbar, wird das Web-Scraping-Interface genutzt.
  • --log: Lädt das vollständige Systemprotokoll ("Logbuch") des Routers via Playwright-(Web-Scraping) herunter und importiert neue Ereignisse (wie DHCP/Mesh). Häufig in Kombination mit --update genutzt.
  • --gui: Erzwingt den Datenabruf (Systemstatus, DSL, Clients) ausschließlich über das Web-Scraping-Interface anstelle von Telnet/SNMP.
  • --report-show: Generiert den HTML-Statusreport basierend auf den aktuellen Datenbankwerten und öffnet diesen direkt im Standard-Browser.
  • --report-send: Generiert den HTML-Statusreport und versendet diesen über die in der config.ini hinterlegte E-Mail-Adresse.
  • --output [DATEI]: Schreibt die ausgelesenen Basisdaten zusätzlich als Rohdaten in eine JSON-Datei.
  • --json-only: Unterdrückt die standardmäßigen tabellarischen Konsolenausgaben während eines Abrufs.
  • --test: Testet alle installierten Technologien (Telnet, SNMP, Playwright) und verifiziert die in der config.ini hinterlegten Zugangsdaten sowie die E-Mail-Konfiguration. Idealerweise nach der Ersteinrichtung aufzurufen.
  • --debug: Aktiviert eine ausführlichere Konsolenausgabe zur Fehlerdiagnose.

  • --dashboard: Startet einen lokalen Webserver (Standard: Port 31311) zur interaktiven Anzeige historischer Metriken.

Automatisierung (Cronjobs)

Für ein kontinuierliches Monitoring wird die periodische Ausführung über cron empfohlen.

Typisches Ausführungsszenario:

  • Datensicherung: Einmal pro Stunde Systemstatus, Clients, DSL-Werte, Log sichern.
  • Reportversand: Einmal täglich wird ein Report generiert und per E-Mail versendet.

Die Crontab mit crontab -e öffnen und folgende Vorgaben einfügen (Pfade müssen an die lokale Umgebung angepasst werden):

# Einmal stündlich: Systemstatus, Clients, DSL-Werte, Log sichern
0 * * * * cd /pfad/zum/script && /pfad/zum/script/.venv/bin/python3 vx-info.py --update --log

# Täglich um 06:09 Uhr: Statusreport generieren und per E-Mail versenden
9 6 * * * cd /pfad/zum/script && /pfad/zum/script/.venv/bin/python3 vx-info.py --report-send

DSL Problem Debugging

Wird z.B. zum Debugging wegen Leitungsproblemen eine häufigere Datensicherung benötigt, kann statt der stündlichen Erfassung auch ein deutlich kürzeres Intervall gewählt werden. Hier ist es von Vorteil, wenn Telnet und SNMP aktiviert sind, da man dann die DSL Leitungsdaten ohne zeitaufwendiges Webscraping in Sekunden abfragen kann.

Das Skript sollte in diesem Fall ohne die --log Option aufgerufen werden, da das Log nur per Webscaping zugänglich ist und damit die Skriptausführung verlangsamt.

# Datenerfassung: Alle 5 Minuten werden aktuelle DSL-Werte abgefragt.
*/5 * * * * cd /pfad/zum/script && /pfad/zum/script/.venv/bin/python3 vx-info.py --update

Hinweis: Der Router kann das Log auch ganz ohne Skript automatisch zur Verfügung stellen, Anleitung und Optionsanpassungen folgen in Kürze!