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!):
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:
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--updategenutzt.--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 derconfig.inihinterlegte 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 derconfig.inihinterlegten 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!