Pinpad v1/Raumstatus
Einleitung
Die Scripts in firebox/ holen vom Etherrape den Raumstatus und mithilfe der Leases-Datei des DHCP-Servers und eines Broadcast-Pings die im Netz befindlichen Geräte, protokollieren beides jeweils in einer RRD-Datei und laden anschließend einen generierten Graphen sowie full.json und simple.txt via WebDAV auf status.raumzeitlabor.de.
Adressen
- http://status.raumzeitlabor.de/ → Website mit dem aktuellen Status
- http://status.raumzeitlabor.de/api/simple → Text-API, welche entweder "1", "0" oder "?" enthält
- http://status.raumzeitlabor.de/api/full.json → JSON-API, welche ein JSON-Dokument enthält
- http://status.raumzeitlabor.de/status-1week.png → Graph des Status über die letzte Woche
- http://github.com/raumzeitlabor/raumzeitstatus → Sourcecode (auf GitHub)
Setup
- RRD-Datenbanken erstellen:
rrdtool create status-tuer.rrd -s 60 DS:tuer:GAUGE:120:U:U RRA:LAST:0:1:10080 rrdtool create status-geraete.rrd -s 60 DS:geraete:GAUGE:120:U:U RRA:LAST:0:1:10080
- MySQL-Datenbank einrichten:
CREATE TABLE leases ( `ip` varchar(39) NOT NULL, `mac` varchar(17) NOT NULL, `ipv4_reachable` tinyint(1) NOT NULL, `ipv6_reachable` tinyint(1) NOT NULL, `hostname` text, PRIMARY KEY (`ip`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
- davconfig.pm und sqlconfig.pm befüllen
- Etherrape anschließen
- raumstatus-meta.sh als Cronjob einrichten
- WebDAV einrichten:
<Location /update/> Dav On AuthType Digest AuthName "update" AuthDigestDomain /update/ http://status.raumzeitlabor.de/update/ AuthDigestProvider file AuthUserFile /data/www/status.raumzeitlabor.de/conf/digest-update Require valid-user </Location>
- status-unreachable.pl als Cronjob einrichten