ubuntuusers.de

Für diese Funktion musst du eingeloggt sein.

Serverüberwachung/Transfervolumen

Status: Ungelöst | Ubuntu-Version: Ubuntu 8.04 (Hardy Heron)
Antworten |

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6500

Wohnort: Hamburg

Ich möchte gerne wissen ob und ggf. wie es möglich ist das Datentransfervolumen eines Servers oder eines Ports in einem bestimmten Zeitabschnitt zu erfragen.

Konkret geht es darum festzustellen, ob mein Musikserver noch benötigt wird, damit er sich ggf. selbständig abschalten kann. Die normalen Scripte greifen hier nicht, da der Squeezeserver standig Daten mit der Squeezebox austauscht, auch wenn keine Musik abgespielt wird. Bisher hatte ich das Problem einfach durch Überwachung der Datenplatte gelöst, was aber durch geänderte Hardware nicht mehr geht. Es gibt jetzt nur noch eine Platte, die linuxbedingt nie wirklich "einschläft", da hier auch das System drauf ist.

Das einzige Überwachungskriterium was mir jetzt noch einfällt ist also die Datenmenge die zu einer bestimmten IP (IP6 der Squeezebox) oder über bestimmte Ports gesendet werden.

Hoffe auf Lösungsvorschäge oder alternative Denkansätze.

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21846

Wohnort: Lorchhausen im schönen Rheingau

Dakuan schrieb:

über bestimmte Ports gesendet werden.

Das sollte doch über lsof -i gehen

Hoffe auf Lösungsvorschäge oder alternative Denkansätze.

Was genau willst d denn überwachen? Ein Share oder eine Art Streamserver. Sprich sind die Plattenzugriffe im Fall von Audio-Stop noch da oder nciht?

Sayyadin

Anmeldungsdatum:
3. Juni 2009

Beiträge: 60

Wohnort: Freiberg

Ansonsten geht das auch mit iptables, da kann mn auch Regeln erstellen und mitzählen lassen.

Aber so aus dem Stand kann ich dir leider net sagen, wie es geht.

Und was auch noch ginge und zumindest temporär recht einfach ist, ist iptraf zu nutzen, es loggen zu lassen und dann kannst im Log nachschauen, über welche Port wieviel Traffic lief.

adun Team-Icon

Avatar von adun

Anmeldungsdatum:
29. März 2005

Beiträge: 8606

Wenn ich Media lese denke ich gleich an QoS und dabei fällt auf, dass der Kernel dafür eh den Verlauf der Transfervolumen vorhält. Lohnt nicht sich nur deshalb damit zu beschäftigen, aber falls du das eh machen willst, weil es wahrscheinlich sinnvoll ist, dann kannst du das gleich damit erschlagen.

Dakuan

(Themenstarter)
Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6500

Wohnort: Hamburg

Was genau willst d denn überwachen? Ein Share oder eine Art Streamserver. Sprich sind die Plattenzugriffe im Fall von Audio-Stop noch da oder nciht?

Ich kenne mich da nicht so genau aus, aber ich denke das geht eher in Richtung Streamserver. Da System und Datenplatte jetzt identisch sind, habe ich natürlich immer noch die normalen Plattenzugriffe des Systems, die ein Abschalten der Platte verhindern. Aber ich habe eine eigene /home Partition, auf der alle Daten liegen (/home/music/). Aber da hier nur sporadisch Daten abgerufen werden, zeigt lsof immer 0 offene Dateien an.

Vielleicht könnt ihr hieraus etwas ablesen:

@troubadix:~$ sudo netstat -tulpen
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Benutzer   Inode      PID/Program name   
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN     107        14050      4396/perl           
tcp        0      0 127.0.0.1:9092          0.0.0.0:*               LISTEN     107        14031      4471/mysqld         
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN     107        14048      4396/perl           
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     106        13699      4259/mysqld         
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     0          13873      4336/lighttpd       
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN     0          13924      4366/vsftpd         
tcp        0      0 0.0.0.0:3483            0.0.0.0:*               LISTEN     107        14046      4396/perl           
tcp6       0      0 :::6600                 :::*                    LISTEN     0          13940      4416/mpd            
tcp6       0      0 :::22                   :::*                    LISTEN     0          13600      4165/sshd           
udp        0      0 0.0.0.0:3483            0.0.0.0:*                          107        14045      4396/perl           
udp        0      0 0.0.0.0:50000           0.0.0.0:*                          107        14052      4396/perl           

Diese Anzeige ist übrigens unabhängig davon ob Daten übertragen werden oder nicht.

@troubadix:~$ sudo lsof -i
COMMAND    PID       USER   FD   TYPE DEVICE SIZE NODE NAME
sshd      4165       root    3u  IPv6  13600       TCP *:ssh (LISTEN)
mysqld    4259      mysql   13u  IPv4  13699       TCP localhost:mysql (LISTEN)
lighttpd  4336   www-data    4u  IPv4  13873       TCP *:www (LISTEN)
vsftpd    4366       root    3u  IPv4  13924       TCP *:ftp (LISTEN)
slimserve 4396 slimserver    5u  IPv4  14037       TCP localhost:56715->localhost:9092 (ESTABLISHED)
slimserve 4396 slimserver    6u  IPv4  14045       UDP *:3483 
slimserve 4396 slimserver    7u  IPv4  14046       TCP *:3483 (LISTEN)
slimserve 4396 slimserver    8u  IPv4  14048       TCP *:9000 (LISTEN)
slimserve 4396 slimserver    9u  IPv4  14050       TCP *:9090 (LISTEN)
slimserve 4396 slimserver   10u  IPv4  14052       UDP *:50000 
slimserve 4396 slimserver   11u  IPv4  14068       TCP 192.168.123.23:3483->192.168.123.29:37429 (ESTABLISHED)
slimserve 4396 slimserver   12u  IPv4  14456       TCP 192.168.123.23:9000->blue.lan:33297 (ESTABLISHED)
slimserve 4396 slimserver   13u  IPv4  14457       TCP 192.168.123.23:9000->blue.lan:33298 (ESTABLISHED)
slimserve 4396 slimserver   14u  IPv4  14458       TCP 192.168.123.23:9000->blue.lan:33299 (ESTABLISHED)
slimserve 4396 slimserver   15u  IPv4  14459       TCP 192.168.123.23:9000->blue.lan:33300 (ESTABLISHED)
slimserve 4396 slimserver   16u  IPv4  14472       TCP 192.168.123.23:9000->blue.lan:33301 (ESTABLISHED)
slimserve 4396 slimserver   17u  IPv4  14685       TCP 192.168.123.23:9000->blue.lan:33302 (ESTABLISHED)
mpd       4416        mpd    3u  IPv6  13940       TCP *:6600 (LISTEN)
sshd      4470       root    3r  IPv6  13993       TCP 192.168.123.23:ssh->blue.lan:55216 (ESTABLISHED)
mysqld    4471 slimserver   10u  IPv4  14031       TCP localhost:9092 (LISTEN)
mysqld    4471 slimserver   13u  IPv4  14038       TCP localhost:9092->localhost:56715 (ESTABLISHED)
sshd      4487    manfred    3u  IPv6  13993       TCP 192.168.123.23:ssh->blue.lan:55216 (ESTABLISHED)

Port 9000 ist das Web Interface des Slimservers und scheint mir hier nicht von Bedeutung zu sein, das es auch ohne WEB Verbindung geht (hier vom PC blue.lan). Die Squeezebox hat übrigens die IP 192.168.123.29 und die SSH Verbindung ist meine einzige Zugriffsmöglichkeit zum Server (sofern ich keine Möbel umstellen will).

Ob iptables oder iptraf da weiterhelfen können habe ich noch nocht herausgefunden. Bisher sehe ich da aber noch keinen Ansatzpunkt. Übrigens funktioniert der Link im Wiki zur Homepage von iptraf nicht mehr.

Das Problem ist ja nicht festzustellen ob eine Verbindung besteht (sie besteht immer!), sondern ob eine bestimmte Datenmenge pro Zeitabschnitt überschritten wird. Denn die Squeezebox prüft jede Sekunde ob der Server noch da ist, auch wenn nichts abgespielt wird.

Übrigens fungiert die Squeezebox nebenbei auch noch als WLAN-Bridge, damit ich kein Kabel verlegen muss. Der Server hängt aber per Kabel an der Bridge. Die Squeezebox schaltet den Server auch per WOL ein, nur ausschalten tut sie leider nicht...

Wenn ich Media lese denke ich gleich an QoS und dabei fällt auf, dass der Kernel dafür eh den Verlauf der Transfervolumen vorhält.

Und wie bitte komme ich da ran? Ich fürchte du überschätzt mein Grundlagenwissen ein wenig.

Sayyadin

Anmeldungsdatum:
3. Juni 2009

Beiträge: 60

Wohnort: Freiberg

Also ich würd es eben übergangsweise so machen, dass ich mit iptraf das login anschalte, dann kannst du auswählen, dass du die Statistik per Port haben willst.

Du kennst ja den Port, über den dein Streaming läuft. Dann lässt es 6h (oder wie lang auch immer) laufen und siehst in der Zeit sind 100MB drüber gegangen. Dann kannst dir ja ausrechnen, ob das über deinem Schwellenwert liegt.

Dakuan

(Themenstarter)
Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6500

Wohnort: Hamburg

Ob iptraf mir da weiterhilft konnte ich noch nicht ermitteln. Im Wiki steht ja nicht viel und andere Quellen konnte ich noch nicht befragen. Die Telekomiker von der Telekom hatten mir nach der Kündigung des Home-Entertainment Paketes gleich den ganzen Internetanschluss abgeklemmt so dass ich den ganzen Tag über ohne Internet war.

Aber ich habe jetzt noch einen weiteren Ansatz gefunden. Immer kurz bevor ein neues Musikstück beginnt werden für ca. 50 Sek Daten übertragen. Sicherlich ist die Dauer vom Dateiformat und von der Länge des Musikstückes abhängig und möglicherweise wird bei Bedarf auch zwischendurch nochmal nachgeladen. Ich müsste das mal mit "In-A-Gadda-Da-Vida" testen ...

Entscheidend ist diese Zeile:

@troubadix:~$ sudo lsof -i | grep 23:9000
slimserve 4353 slimserver   13u  IPv4  14820       TCP 192.168.123.23:9000->192.168.123.29:42310 (ESTABLISHED)

Aber da die crontab nur im Minutenabstand abgearbeitet wird, weiss ich nicht, wie ich das zuverlässig erkennen soll.

Antworten |