Dashboard, Dashboard an der Wand

Ein datenreiches Monitoringsystem auf Basis von Pixelbildschirmen: Eine der schönen, greifbaren Ideen die uns seit Star Trek durch den Kopf geht. Mit einem Blick auf die Wand bekommt der Betrachter Auskunft über die aktuelle Situation. Also die Datenleitungen, Ressourcenverbrauch und alles, was wir zu Betreiben eines Hackspaces wissen wollen.

Dort sollten Informationen in Zahlenwerten und im zeitlichen Verlauf als Graphen angezeigt werden. Üblichwerweise handelt es sich hier um Informationen wie Auslastung der Rechner und Zugriffsstatistiken für Dienste. So lassen sich hiermit alle möglichen Informationen speichern; eben alles, was sich messen lässt. Wir schlagen hiermit die Brücke zwischen den beiden Trends “Big Data” und Automation.

Dashboard

Das können wir auch im Kleinen probieren. So haben wir erst einmal einen Dienst zum Sammeln der Daten aufgesetzt. Das Projekt Graphite ist eine Freie Software, die auf einem virtuellen Server im Chaosdorf läuft. Über ein simples Protokoll nimmt der – in Python realisierte – Dienst Messwerte an und speichert sie in einer speziellen Datenbank.

Dort werden die Messwerte chronologisch gespeichert und langfristig in immer gröberen Zeitschritten archiviert. Damit ist es möglich, sekundengenaue Auskunft über die vergangenen Tage zu erhalten und länger zurückliegende Daten in Minuten zusammenzufassen, um die Größe der Datenmenge zu begrenzen.

Graphite gibt die Daten in frei konfigurierbaren Graphen als Pixelgrafik (PNG) gerendert oder in maschinenlesbarer Form als JSON-Datei aus. Letzteres verwendet unsere Rauminstallation, die mittels der freien Web-Anwendung Team Dashboard realisiert wurde. Auch diese haben wir nicht selbst entwickelt, da wir uns gerade erst mit deren hochaktueller Technologie auseinandersetzen.

Team Dashboard bezieht die Daten und zeichnet Graphen direkt im Browser als Vektorgrafik (SVG). Dazu nutzt es einen HTML5-Canvas und die Bibliothek D3. Somit erscheinen die Graphen hochauflösend und sind auf dem Endgerät skalierbar. Da das Dashboard auf jedem Rechner im Chaosdorf angezeigt werden kann, sicherlich von Vorteil.

Zudem können ohne weitere Konfiguration am Server beliebig viele verschiedene Messreihen gespeichert werden. Von überall im lokalen Netzwerk werden Daten angenommen und gespeichert. Auf dem Dashboard können sie dann aufgearbeitet angezeigt werden. So entsteht kollaborativ eine Übersicht über die in den verschiedenen Projekten angefallenen Daten.

Derzeit werden folgende Informationen dargestellt – weitere Anzeigen sind geplant.

  • Internet-Traffic stromauf- und abwärts (Graph)
  • Anzahl der Endgeräte im Netzwerk (Zahl)
  • Uplink-Traffic unserer Freifunk-Node stromauf- und abwärts (Graph)
  • Anzahl der Freifunk-Nodes in der Düsseldorfer Community (Zahl)
  • Temperatur der Luft im Hackcenter (Graph/Zahl)
  • Öffnungs-Status der Chaosdoor, unserer Eingangstür (Graph/Zahl)
  • Verbleibende Überbrückungszeit der unterbrechungsfreien Stromversorgung (Graph)
  • Systemauslastung unseres Servers Hyperion (Graph)

DashPi

Die Rauminstallation besteht aus einem kleinen Rechner (Raspberry Pi), an den ein Bildschirm angeschlossen ist und der die Web-Anwendung darstellt. Dazu bootet er ein minimales Betriebssystem (Arch Linux) und startet ein Fenstersystem (awesome), auf dem im Vollbild der Web-Browser (luakit) angezeigt wird.

Der Rechner verfügt über eine GPIO-Stiftleiste, die programmierbar ist. An diese haben wir einen Temperatursensor per I2C-Protokoll angeschlossen. Dieser misst die Raumtemperatur mit einer Auflösung von 0,06 °C.

Die Daten werden sekündlich mit einem eigens entwickelten Werkzeug ausgelesen und übers Netzwerk übertragen. Auf dem Server empfängt StatsD die Daten per UDP und versieht sie mit einem Zeitstempel, bevor er sie alle zehn Sekunden gesammelt an Graphite weitergibt.

Daten per UDP ohne Zeitstempel übermitteln zu können, bedeutet für uns eine weitere Möglichkeit. Mikrokontroller mit minimaler Ausstattung können so Daten sammeln und verfügbar machen. Wir planen derzeit, den Temperatursensor neben anderen Sensoren auf einem eigenen Endgerät unterzubringen, das auf einer 8-Bit-Mikroarchitektur basiert.

Bis dahin sind wir noch damit beschäftigt, weitere sinnreiche Graphen zu spezifizieren. Dazu stellt Graphite Funktionen bereit, mit denen zeitliche Ableitungen, Skalierungen und andere Manipulationen möglich werden. Am Ende trauen wir eben keiner Satistik, die wir nicht selber gefälscht haben.

Spendenterminal deployed

Unser Spendenterminal hat ein neues Heim bekommen und hängt nun in der Schleuse an der Wand.

Ihr könnt es jederzeit benutzen, um einen Lastschriftauftrag zu erteilen. So erhalten wir regelmäßig eine Spende, die uns weiterhilft und um die ihr euch nicht jedesmal kümmern müsst. Nützlich, wenn ihr das Chaosdorf gerne öfter besucht oder uns Unterstützung aus der Ferne zukommen lassen wollt.

Einfach die Bankkarte durchziehen und ein Formular fällt kurz darauf aus dem Drucker. Kontodaten sind bereits vorausgefüllt, nun fehlt nur noch ein Kreuzchen für das Intervall und der Betrag, den ihr spenden wollt. Optional könnt ihr auch die Felder für Namen und Anschrift ausfüllen, um eine (jährliche) Spendenquittung zu bekommen. Den ausgefüllten Zettel bitte in den Briefkasten des Vorstands werfen – das ist der Gelbe mit dem Pesthörnchen.

Spendenterminal_unten

Ein kleiner Rechner (Raspberry Pi) bekommt die Daten aus dem Kartenleser und fügt sie in eine Vorlage ein. Anschließend wandern die Daten direkt zum Drucker – wobei nichts gespeichert oder übers Netz verschickt wird. Es wird also nur etwas Arbeit für das Ausfüllen des Formulars übernommen.

Wer will, kann uns auch einen Auftrag per E-Mail zukommen lassen.

Der Chaos Computer Club Düsseldorf / Chaosdorf e.V. ist gemeinnützig anerkannt und Spenden sind voll abzugsfähig.