Forum: Mikrocontroller und Digitale Elektronik Raspberry: Statistik der Onlinezeit aller Clients im Netzwerk


von Tim S. (Firma: Google) (tuxut83)


Lesenswert?

Hallo Gemeinde.

Ich habe jetzt auch endlich einen RaspberryPi, den ich 24h am Tag im 
Betrieb habe.
Die Kiste ist hauptächliche als Wetterstation im Einsatz und natürlich 
via WLAN im Heimnetz integriert. Das Heimnetz besteht im Wesentlichen 
aus einer FritzBox und ca. 3 Desktop-PC (Windows) die auch alle via WLAN 
verbunden sind.
Die PCs dürfen untereinander kommunizieren.

Ich würde jetzt ganz gerne den Pi zudem mit der Aufbereitung einiger 
Statistiken über die Client-PC im Heimnetzwerk beauftragen.
Ich wüsste z.B. gerne, für alle angemeldeten PCs im Netzwerk wie lange 
jeder PC am Tag (in hh:mm) mit dem Netzwerk verbunden ist/war.

Die Daten sollten dabei mit dem rrdtool als Diagramme dargestellt 
werden.
Wie realisiert man so was ? Mir fällt jetzt spontan ein, alle PCs 
anzupingen und bei positiver Antwort ein "vermerk" zu machen.

11:55      0
12:00      1
12:05      1
12:10      1
12:15      0
12:20      0

Sprich, ein Client-PC xy war für ca. 10 Minuten am Netzwerk 
angemeldet...

Würde das funktionieren?
Gibt es evtl. bereits ein fertiges "Paket/Projekt", dass ich einfach auf 
dem Pi installieren kann und meine PCs eintrage?

Vielen Dank!

von fabfab (Gast)


Lesenswert?

Das mache ich seit Jahren so, allerdings mit fping statt ping, da man 
ein sehr kurzes Timeout einstellen kann und mehrere Hosts mit einem 
Aufruf testen kann.

Die Ausgabe von fping wird mit awk geparst und am Ende kommt etwas in 
der Form

1397198360;0;1;1;0;0

heraus (timestamp, dann der Status der Rechner, on/off).

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Als fertiges Tool wäre vielleicht nagios für Dich interessant. Läuft 
auch auf RaspberryPi.

von Tim S. (Firma: Google) (tuxut83)


Lesenswert?

Danke für die Hinweise!

Kann ich auch auf diese einfache Weise den Traffic (upstream / 
downstream) zum Internet pro PC monitoren?

von Tim S. (Firma: Google) (tuxut83)


Lesenswert?

@fabfab:
Da du ja fping bereits seit Jahren im Einsatz hast...
Welche Auflösung bzw. welches Zeitintervall ist sinnvoll?
Sollte ich jeden bekannten PC im Netzwerk einmal pro Minute anpingen?

Benutzt du auch eine rrdtool-Datenbank? Wie ist diese konfiguriert?

von Kein Name (Gast)


Lesenswert?

Brauchst du nur die Summen? Bekommt man ja recht einfach mit "netstat 
-i" bzw. /proc/net/netstat . Ein Script, das mit ssh ein netstat aufruft 
ist recht schnell zusammengebaut.

Auch Intenet/Lokal aufgeteilt sollte moglich sein - die Traffic-Monitore 
schaffen das ja auch.

Gab auch mal einen snmpd für zentrales Monitoring. Hat sich aber nicht 
so recht durchgesetzt.

von Tim S. (Firma: Google) (tuxut83)


Lesenswert?

Ah, okay...

Aber auf den Client-PCs läuft Windows7 oder XP!

Wie komme ich da an die Statistik von "netstat -e"???
Muss dann auf den Clients ein SSH-Server installiert sein und als Daemon 
laufen?

Danke.

von Kein Name (Gast)


Lesenswert?

Verdammt! Bei Windows kann ich nicht weiter helfen.

von Tim S. (Firma: Google) (tuxut83)


Lesenswert?

Ich denke auf den Clients könnte ich einen SSH-Server laufen lassen.

Etwa diesen hier:
http://www.freesshd.com/?ctt=download

Der Server müsste allerdings so konfigurierbra sein ,dass nur der 
RaspberryPi sich verbinden darf (Sicherheit)...

Auf dem RaspberryPi würde es dann wohl so ausschauen:

1. Client-PC anpingen
2.
   a) Bei korrekter Antwort (1) ssh-Befehl absetzen --> z.B. "netstat 
-e"
      und Ausgabe parsen (empfangene / gesendete Bytes)
   b) Bei keiner Antwort (0) --> mache nichts

3. Empfamgene / Gesendete Bytes in rrdtool-Datenbank eintragen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.