No edit summary |
(Update) |
||
Line 7: | Line 7: | ||
|status=beta | |status=beta | ||
|people={{U|nomaster}}, {{U|uen}} | |people={{U|nomaster}}, {{U|uen}} | ||
|source=https://github.com/chaosdorf/dashpi | |||
}} | }} | ||
== Features == | == Features == | ||
Line 12: | Line 13: | ||
[[File:1030506.jpg|thumb|right|DashPi + Temperatursensor]] | [[File:1030506.jpg|thumb|right|DashPi + Temperatursensor]] | ||
Auf einem Bildschirm sind Graphen und Zahlen lesbar, die aktuelle Daten zum Status des Hackerspaces anzeigen. Das Dashboard kann von jedem Rechner im Chaosdorf | Auf einem Bildschirm sind Graphen und Zahlen lesbar, die aktuelle Daten zum Status des Hackerspaces anzeigen. Das Dashboard kann von jedem Rechner im Chaosdorf betrachtet werden unter [http://dashboard.chaosdorf.dn42/ dashboard.chaosdorf.dn42]. Änderungen am Dashboard können über das verlinkte GitHub-Repo vorgenommen werden. | ||
Derzeitige Anzeige | Derzeitige Anzeige: | ||
* | * Katzen / Pythons / [https://www.einhornkaetzchen.de/ Einhornkätzchen] | ||
* | * Uhrzeit | ||
* | * Wetter in Düsseldorf | ||
* Status der [[Chaosdoor]] | * Status der [[Chaosdoor]] | ||
* | * Traffic am Internet-Uplink | ||
* Stromverbrauch | * Stromverbrauch | ||
* | * gerade abgespielte Musik am [[Multimedia|MPD]] | ||
* | * Anzahl der [[Freifunk]]-Nodes in Düsseldorf (siehe [https://map.freifunk-duesseldorf.de/ Karte]) | ||
* Ping | |||
* Tweets an / mit [https://twitter.com/chaosdorf @chaosdorf] | |||
== Software == | == Software == | ||
Die Daten werden auf {{H|graphserver}} von einem [http://graphite.wikidot.com/ Graphite]-Dienst gesammelt und gespeichert. Außerdem werden Daten per [http://collectd.org/ collectd] und [https://github.com/etsy/statsd/ statsd] angenommen und weitergeleitet. Auf {{H| | Die Daten werden auf {{H|graphserver}} von einem [http://graphite.wikidot.com/ Graphite]-Dienst gesammelt und gespeichert. Außerdem werden Daten per [http://collectd.org/ collectd] und [https://github.com/etsy/statsd/ statsd] angenommen und weitergeleitet. Auf {{H|dashboardserver}} läuft [http://dashing.io Dashing] (Ruby on Rails), das die zusammengestellten Dashboards speichert. Auf dem Display läuft Chromium, der das Dashboard ''Chaosdorf'' anzeigt. | ||
== Hardware == | == Hardware == | ||
Line 37: | Line 37: | ||
== Mitmachen == | == Mitmachen == | ||
Alle können unter dem oben genannten URL Dashboards | Alle können unter dem oben genannten URL Dashboards sehen. Veränderungen erfolgen über GitHub. Dem Graphite-Server können ohne weitere Konfiguration Daten hinzugefügt werden. Dazu laufen verschiedene Anwendungen auf Standard-Ports. | ||
Ports | Ports |
Revision as of 11:58, 3 April 2016
Chaosdorf Dashboard beta | |
---|---|
hackerspace status display | |
Ort | Hackcenter |
Beteiligt | nomaster, uen |
Quelltext | https://github.com/chaosdorf/dashpi |
Features
Auf einem Bildschirm sind Graphen und Zahlen lesbar, die aktuelle Daten zum Status des Hackerspaces anzeigen. Das Dashboard kann von jedem Rechner im Chaosdorf betrachtet werden unter dashboard.chaosdorf.dn42. Änderungen am Dashboard können über das verlinkte GitHub-Repo vorgenommen werden.
Derzeitige Anzeige:
- Katzen / Pythons / Einhornkätzchen
- Uhrzeit
- Wetter in Düsseldorf
- Status der Chaosdoor
- Traffic am Internet-Uplink
- Stromverbrauch
- gerade abgespielte Musik am MPD
- Anzahl der Freifunk-Nodes in Düsseldorf (siehe Karte)
- Ping
- Tweets an / mit @chaosdorf
Software
Die Daten werden auf graphserver von einem Graphite-Dienst gesammelt und gespeichert. Außerdem werden Daten per collectd und statsd angenommen und weitergeleitet. Auf dashboardserver läuft Dashing (Ruby on Rails), das die zusammengestellten Dashboards speichert. Auf dem Display läuft Chromium, der das Dashboard Chaosdorf anzeigt.
Hardware
Graphite und Team Dashboard laufen in virtuellen Servern auf helios. Das Display und der Temperatursensor sind an dashpi angeschlossen, einem Raspberry Pi an der Wand daneben.
Mitmachen
Alle können unter dem oben genannten URL Dashboards sehen. Veränderungen erfolgen über GitHub. Dem Graphite-Server können ohne weitere Konfiguration Daten hinzugefügt werden. Dazu laufen verschiedene Anwendungen auf Standard-Ports.
Ports
- Graphite: 2003 (TCP)
- CollectD: 25826 (UDP)
- StatsD: 8125 (UDP)
Das Datenformat ist trivial. Datensätze werden als ASCII-String zeilenweise übergeben. Drei Felder, getrennt durch Leerzeichen, bezeichnen Namen des Knotens, Wert und Zeitstempel.
Beispiel: Angenommen, wir messen die Gesamtzahl bestellter Pizzen mit dem Programm Pizzaproxy. Dazu legen wir eine global eindeutige Bezeichnung des Messwerts fest. Dazu übertragen wir die Anzahl und den akutellen Zeitstempel (ermittelt per date +%s).
pizzaproxy.order.count 42 1359661113
Übertragen lässt sich der Wert per netcat:
$ echo "pizzaproxy.order.count 42 $(date +%s)" | nc graphserver 2003
Fertig! Nun ist der Datensatz bereits im Dashboard auswählbar.
Für die Ausgabe von Statistiken aus Anwendungen heraus empfiehlt sich jedoch UDP. Nach dem Motto “fire and forget” übernimmt der Server auf Port 8125 Datensätze per UDP, auch ohne Timestamp. Statsd sammelt nimmt die Daten an und überträgt sie gesammelt in einer 10 sekündigen Periode an Graphite.