Screen-Graph
Dies ist ein einfaches Skript, um Daten, die in einem Screen-Fenster ausgegeben werden, zu holen und als bunten Graph auf der Konsole auszugeben. Hierzu wird hauptsächlich gnu screen und gnuplot benutzt.
Voraussetzungen
screen-graph ist ein Bash-Skript, dass noch die folgenden zusätzlichen Tools benötigt:
Alle diese Tools sollten im Grund in jeder Linux-Distribution verfügbar sein. Andere Betriebssystem habe ich nicht getestet!
Nutzung
Um einen Graphen zu erstellen, sind die folgenden einfachen Schritte nötig:
Zunächst muss man in einem Terminal ein screen starten:
$ screen
In diesem Screen holt man sich zunächst mal den eindeutigen Namen des Screens aus der Environment-Variable $STY
$ echo $STY 2294.pts-0.fun
Dann erstellt man noch ein Fenster in screen, auf dem die Daten ausgeben werden. Mit den Standard-Einstellungen geht das mit CTRL-a c (neues Fenster erstellen) und CTRL-a :title aname[RETURN] (Title auf “aname” setzen)
In diesem Fenster kann man nun die Daten ausgeben. Diese muessen das folgende Format haben:
UNIXTIMESTAMP Datenwert
Um also nur mal so als Beispiel die Load zu verfolgen, kann man die folgende Zeile in dem entsprechenden Fenster ausführen:
$ while true; do echo -n $(date +%s)' '; cat /proc/loadavg | cut -f 1 -d ' '; sleep 10; done
Die Ausgabe sollte dann wie folgt aussehen:
1144870745 0.22 1144870755 0.18 1144870765 0.39 1144870775 0.64 1144870785 0.85
Dieses Skript lässt man nun in diesem Fenster weiterlaufen und geht wieder in ein anderes Fenster im gleichen Screen, oder auf einem ganz anderen Terminal (auf dem gleichen Rechner, mit dem gleichen User!) Und jetzt kommt die Magie:
$ screen-graph.sh 2294.pts-0.fun aname
Wobei die oben ermittelten bzw. gesetzten Werte genutzt werden. Man sollte nun ein Terminal-füllenden Graphen sehen!
Download
Die aktuelle Version von screen-graph ist hier:
- screen-graph-0.1.tar.gz erste öffentliche Version 0.1
Wer wirklich die letzte Version haben will, kann sich hier mit der folgenden Zeile den aktuellen Stand aus meinem darcs-Repository holen:
darcs get http://www.jerri.de/darcs/screengraph
Screenshot
Hier ist ein Screenshot von screengraph mit dem Beispiel, wie oben beschrieben. Als Windowmanager benutze ich im übrigen hauptsächlich ratpoison.



