Dashboard: Difference between revisions

From Chaosdorf Wiki
(+ link)
m (update current state)
 
(42 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{Project
{{Project
|name=Chaosdorf Dashboard
|name=Chaosdorf Dashboard
|description=hackerspace status display
|description=hackspace status display
|project category=Hardware
|project category=Hardware
|location=Hackcenter
|location=Hackcenter
|status=beta
|image=Photo 2016-08-11 19-15-41.jpg
|people={{U|nomaster}}, {{U|uen}}
|status=stable
|people={{U|nomaster}}, {{U|uen}}, {{U|ytvwld}}
|source=https://github.com/chaosdorf/dashpi
}}
}}
== Features ==
== Features ==


Auf einem Bildschirm sind Graphen und Zahlen lesbar, die aktuelle Daten zum Status des Hackerspaces anzeigen. Das Dashboard kann jedem Rechner im Chaosdorf konfiguriert werden unter [http://dashboard.chaosdorf.dn42/ dashboard.chaosdorf.dn42].
[[File:1030506.jpg|thumb|right|DashPi + Temperatursensor (Archiv, 2013)]]


Derzeitige Anzeige
Auf einem Bildschirm sind Graphen und Zahlen lesbar, die aktuelle Daten zum Status des Hackspaces anzeigen. Das Dashboard kann von jedem Rechner im Chaosdorf betrachtet werden unter https://dashboard.chaosdorf.space/. Änderungen am Dashboard können über das verlinkte GitHub-Repo vorgenommen werden.
* Traffic am Internet-Uplink (graph, numbers)
* Traffic am Tunnel des [[Freifunk]]-Netzwerks (graph, numbers)
* Temperatur der Luft im Hackcenter (graph, numbers)
* Status der [[Chaosdoor]] (graph, boolean)
* Anzahl Hosts im [[Netzwerk]] (graph, number)
* Kassenstand (graph)


Geplant
Derzeitige Anzeige:
* Katzen
* Uhrzeit
* Wetter in Düsseldorf
* Status der [[Chaosdoor]]
* Traffic am Internet-Uplink
* Stromverbrauch
* Stromverbrauch
* Musiktitel
* gerade abgespielte Musik (z.B. am [[Multimedia|MPD]])
* Uhrzeit
* Straßenbahnabfahrten
* Ping
* Tweets an / mit [https://twitter.com/chaosdorf @chaosdorf], [https://twitter.com/dorfkueche @dorfkueche] und [https://twitter.com/hashtag/dorfleaks #dorfleaks]


== 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|webserver}} läuft [http://fdietz.github.com/team_dashboard/ Team Dashboard] (Ruby on Rails), das die zusammengestellten Dashboards speichert. Auf dem Display läuft der Browser Luakit, der das Dashboard ''Chaosdorf'' anzeigt.
Auf {{H|dockerserver}} läuft [https://smashing.github.io/ Smashing] (Ruby), das die zusammengestellten Dashboards speichert. Auf dem Raspi am Display läuft Firefox, der das Dashboard ''Chaosdorf'' anzeigt.


== Hardware ==
== Hardware ==


Graphite und Team Dashboard laufen in virtuellen Servern auf {{H|hyperion}}. Das Display ist an {{H|dashpi}} angeschlossen, einem Raspberry Pi an der Wand daneben. Die Temperatur wird von dem darüber hängenden embedded System gesammelt.
Das Display <s>und der Temperatursensor</s> sind an {{H|dashpi}} angeschlossen, einem Raspberry Pi <s>an der Wand daneben</s>.


== Mitmachen ==
== Mitmachen ==


Alle können unter dem oben genannten URL Dashboards erstellen und verändern. Dabei stehen alle Daten des Graphite-Servers zur Verfügung. Diesem können ohne weitere Konfiguration Daten hinzugefügt werden. Dazu laufen verschiedene Anwendungen auf Standard-Ports.
Alle können unter dem oben genannten URL Dashboards sehen. Veränderungen erfolgen über GitHub.
 
Ports
* Graphite: 8080 (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 <tt>date +%s</tt>).
 
  pizzaproxy.order.count 42 1359661113
 
Übertragen lässt sich der Wert per ''netcat'':
 
  $ echo "pizzaproxy.order.count 42 1359661113" | nc graphserver 8080
 
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.

Latest revision as of 20:07, 2 April 2022

Chaosdorf Dashboard stable
Photo 2016-08-11 19-15-41.jpg
hackspace status display
Ort Hackcenter
Beteiligt nomaster, uen, ytvwld
Quelltext https://github.com/chaosdorf/dashpi

Features

DashPi + Temperatursensor (Archiv, 2013)

Auf einem Bildschirm sind Graphen und Zahlen lesbar, die aktuelle Daten zum Status des Hackspaces anzeigen. Das Dashboard kann von jedem Rechner im Chaosdorf betrachtet werden unter https://dashboard.chaosdorf.space/. Änderungen am Dashboard können über das verlinkte GitHub-Repo vorgenommen werden.

Derzeitige Anzeige:

  • Katzen
  • Uhrzeit
  • Wetter in Düsseldorf
  • Status der Chaosdoor
  • Traffic am Internet-Uplink
  • Stromverbrauch
  • gerade abgespielte Musik (z.B. am MPD)
  • Straßenbahnabfahrten
  • Ping
  • Tweets an / mit @chaosdorf, @dorfkueche und #dorfleaks

Software

Auf dockerserver läuft Smashing (Ruby), das die zusammengestellten Dashboards speichert. Auf dem Raspi am Display läuft Firefox, der das Dashboard Chaosdorf anzeigt.

Hardware

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.