Netzwerk - 26. Juli 2010

Netzwerktraffic einfach mit vnstat messen

Wenn man z.B. auf einfache Art und Weise den Traffic eines Netzwerkinterfaces unter Linux messen und protokollieren möchte, so bietet das unter GPL/open Source stehende Commandline-Tool vnstat eine simple Möglichkeit. In den meisten Linux-Distributionen bereits als Paket enthalten, so kann man es schon nach wenigen Tastatureingaben verwenden. (Debian: apt-get install vnstat)

Nach erfolgter Installation erstellt man als erstes die Datenbank-Datei für das jeweilige Netzwerkinterface.

 

vnstat -u -i eth0

 

Um die Datenbank zu füttern richtet man als nächstes einen Cronjob ein, welcher diese z.B. alle 5 Minuten füttert.

 

#
# vnstat update
#
*/5 * * * * root /usr/bin/vnstat -u -i eth0

 

Ist einige Zeit vergangen, erhält man gute Übersicht über den täglichen Traffic eines Netzwerkinterfaces.

 

linux:~# vnstat -i eth0

Database updated: Sun Jul 25 23:30:01 2010

        eth0

           received:     439.66 MB (48.3%)

        transmitted:     469.85 MB (51.7%)

              total:     909.50 MB

                        rx     |     tx     |  total

        -----------------------+------------+-----------

        yesterday     39.37 MB |   21.70 MB |   61.06 MB

            today    400.29 MB |  448.15 MB |  848.44 MB

        -----------------------+------------+-----------

        estimated       407 MB |     456 MB |     863 MB

 

Die Auswertung steht auch nach Stunden, Tagen, Wochen oder Monaten zur Verfügung. Die Hilfe zeigt alle notwendigen Optionen (vnstat –help). Für alle Interessierten steht eine umfangreiche MAN Page zur Verfügung. (man vnstat)

Wer die Auswertung z.B. wöchentlich bequem in seiner Postbox haben möchte, kann auch hier einen Cronjob einrichten wie folgt:

 

#
# vnstat - send mail
#
0 0 * * 1 root /usr/bin/vnstat -w -i eth0 | mail -s "SERVER: Traffic eth0" email(at)wosollshingehen.de<

 

Zu erwähnen wäre noch die Option –live welche die aktuelle Auslastung am Interface anzeigt. Man kann die Software auch als normaler User in der Shell starten. Die Daten liest die Software über das PROC-Dateisystem aus und speichert diese in der Datenbank-Datei. Alles in allem ganz nützlich.

Bei komplexeren Auswertungen z.B. nach Ports/Services oder Subnetzen, bauen wir weiterhin auf iptables und spezifischen Chains.

Links zum Thema vnstats:

Artikel teilen
Über den Autor

Carstens Leidenschaft sind perfekte IT-Netze. Von Linux bis Windows, von Firewall bis PC. Er kennt die technischen Zusammenhänge in unglaublicher Tiefe. Wenn er Zeit findet, dann lässt er seine Gefühle am Schlagzeug raus oder genießt die Zeit mit der Familie.