speedport.py
: βοηθητικό Python script που κάνει ευκολότερο το parsing του JSON από το Speedport Plus, περιμένει το JSON στοstdin
και τυπώνει το αποτέλεσμα στοstdout
, που πάντα είναι μια γραμμή με το timestamp και διάφορα στατιστικά με κενά ενδιάμεσαspeedport.sh
: το κυρίως Bash script που κατεβάζει τα στατιστικά από το router, τα περνάει από τοspeedport.py
, φιλτράρει το αποτέλεσμα όταν το Speedport δεν έχει ακόμα συγχρονίσει την μέρα/ώρα (συνεπώς θα μπερδέψει τα αποτελέσματα με ημερομηνία του 1970) ή όταν το Speedport δεν είναι συνδεδεμένο οπότε όλα τα στατιστικά είναι0
, τυπώνει το αποτέλεσμα στοstdout
, και το αποθηκεύει και σε ένα απλό αρχείο textspeedport.dat
speedport.gpi
: το Gnuplot script που διαβάζει τοspeedport.dat
και δημιουργεί τα γραφήματα σε μορφή εικόνων PNG
Έχουν δοκιμαστεί σε Linux και χρησιμοποιούν τα παρακάτω:
- bash
- python
- lynx
- gnuplot
Για το logging αρκεί να εκτελεστεί το speedport.sh
, και περιμένει να βρίσκεται το speedport.py
στο ίδιο dir:
$ ./speedport.sh
2020-05-26T21:59:00 109951 10996 139040 55341 277 11 14.9 31.1 3.0 11.5
2020-05-26T21:59:15 109951 10996 139040 55341 277 11 14.9 31.1 3.0 11.5
2020-05-26T21:59:30 109951 10996 139040 55341 277 11 14.9 31.1 3.0 11.5
2020-05-26T21:59:45 109951 10996 139040 55341 277 11 14.9 31.1 3.0 11.5
^C
$
Για τα γραφήματα πάλι αρκεί απλώς να εκτελεστεί το speedport.gpi
, και διαβάζει το speedport.dat
από το ίδιo dir:
$ ./speedport.gpi
$ ls *.png
Speedport-Plus_2020-05-26_22-00-15.png
Speedport-Plus_Errors_2020-05-26_22-00-15.png
$
Για οποιαδήποτε αλλαγή θα πρέπει να πειραχτεί το speedport.sh
και το speedport.gpi
πχ. για το interval μεταξυ των logs που ειναι 15secs
by default, για την IP του Speedport Plus, το που θα γράφονται και θα διαβάζονται τα αποτελέσματα πχ. στο speedport.dat
, κλπ.
Αντίστοιχα τα γραφήματα μπορούν να παραμετροποιηθούν με διάφορους τρόπους, και το Gnuplot έχει πολλές δυνατότητες.