Projekt:SpaceStatus: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Noqqe (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 38: | Zeile 38: | ||
Das Plugin in Rezeptionistin verbindet sich also auf dem Webserver der Heimat, holt das json File ab und gibt die Informationen im IRC Channel wieder. | Das Plugin in Rezeptionistin verbindet sich also auf dem Webserver der Heimat, holt das json File ab und gibt die Informationen im IRC Channel wieder. | ||
== Schnittstelle zu graphs.k4cg.org == | |||
Damit wir auch ein bisschen Zucker auf die Augen bekommen wird das oben genannte JSON File auch von https://github.com/k4cg/sensor-fetcher/ genutzt um die Daten | |||
in eine schönen Grafana Graphen zu laden. | |||
== cron == | == cron == | ||
*/5 * * * * /usr/local/bin/python2.7 /usr/local/bin/openstatus/openstatus.py | */5 * * * * /usr/local/bin/python2.7 /usr/local/bin/openstatus/openstatus.py |
Version vom 23. Oktober 2016, 14:01 Uhr
Projekt:SpaceStatus | |
Betreuer*In | noqqe |
Jahr | 2016 |
Läuft auf | heimat.intern.k4cg.org |
URL | https://github.com/k4cg/openstatus |
Openstatus ist ein kleines Python Skript, welches Daten aus dem Netzwerk sammelt (arp/nmap). Diese Infos werden von der Rezeptionistin verwendet, um im IRC anzuzeigen, ob und wieviele Menschen gerade im K4CG sind.
Methode
Im Moment macht die heimat alle 5 Minuten einen ARP Request auf das VLAN 88 und schaut, wie viele Mac Adressen zu sehen sind. Von den Mac Adressen die gefunden werden, werden Hosts herausgestrichen, die immer da sind. So wie die Heimat, Raspberry PI oder die Philips Hue Bridge. Diese Liste wird direkt im Source gepflegt. Siehe Repo.
Alle gesammelten Informationen landen in einem Python Dictionary. Die
JSON Document
Zum Beispiel
{"hosts": { "10.88.88.53": "e3:34:56:7c:ee:89", "10.88.88.218": "e3:34:56:7c:ee:89", "10.88.88.99": "e3:34:56:7c:ee:89" [...] } "online": 10 }
Schnittstelle zum IRC
Damit die Rezeptionistin diese Informationen abholen kann, läuft auf Heimat auch ein kleiner Webserver (OpenHTTPD), der das JSON File ausliefert. Gesichert ist der Zugriff mit IP Limitierung und htaccess.
Das Plugin in Rezeptionistin verbindet sich also auf dem Webserver der Heimat, holt das json File ab und gibt die Informationen im IRC Channel wieder.
Schnittstelle zu graphs.k4cg.org
Damit wir auch ein bisschen Zucker auf die Augen bekommen wird das oben genannte JSON File auch von https://github.com/k4cg/sensor-fetcher/ genutzt um die Daten in eine schönen Grafana Graphen zu laden.
cron
*/5 * * * * /usr/local/bin/python2.7 /usr/local/bin/openstatus/openstatus.py