Wie man den Netzwerkverkehr mit vnStat unter Ubuntu 22.04 überwacht

vnStat ist ein kostenloses, quelloffenes und konsolenbasiertes Tool zur Überwachung des Netzwerkverkehrs für das Linux-Betriebssystem. Mit vnStat kannst du Netzwerkstatistiken über verschiedene Zeiträume hinweg überwachen. Es ist einfach, leichtgewichtig und verbraucht nur einen kleinen Teil deiner Systemressourcen. vnStat ermöglicht es dir, die Netzwerkverkehrsdaten in einer Stunde, einem Tag, einem Monat, einer Woche und einem Tag zu erstellen. In diesem Lernprogramm erfährst du, wie du vnStat installierst und zur Überwachung des Netzwerkverkehrs verwendest.

Funktionen

  • Überwache mehrere Schnittstellen gleichzeitig.
  • Bietet verschiedene Ausgabeoptionen, z. B. tageweise, wochenweise usw.
  • Sortiere die Daten nach Stunde, Tag, Monat oder Woche oder erhalte die Top 10 Tage.
  • Ermöglicht die Ausgabe im Bildformat.
  • Überwache mehrere Netzwerkschnittstellen zur gleichen Zeit.
  • Geringes Gewicht und niedrige CPU-Auslastung.

Diese Anleitung zeigt dir, wie du das Tool VnStat installierst und verwendest, um den Netzwerkverkehr unter Ubuntu 22.04 zu überwachen.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

Erste Schritte

Bevor du anfängst, solltest du alle Systempakete auf die neueste Version aktualisieren und aufrüsten. Du kannst alle Pakete mit dem folgenden Befehl aktualisieren:

apt update -y
apt upgrade -y

Sobald alle Pakete aktualisiert sind, kannst du im nächsten Schritt VnStat aus der Quelle installieren.

vnStat installieren

Standardmäßig ist die neueste Version von vnStat nicht im Standard-Repository von Ubuntu verfügbar. Daher musst du sie aus dem Quellcode kompilieren.

Installiere zunächst alle Abhängigkeiten, die zum Kompilieren von vnStat erforderlich sind, mit dem folgenden Befehl:

apt-get install build-essential gcc make libsqlite3-dev -y

Sobald alle Abhängigkeiten installiert sind, lade die neueste Version des vnStat-Quellcodes mit dem folgenden Befehl herunter:

wget https://humdi.net/vnstat/vnstat-2.10.tar.gz

Sobald der Download abgeschlossen ist, entpacke die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvzf vnstat-2.10.tar.gz

Wechsle dann in das entpackte Verzeichnis und konfiguriere es mit dem folgenden Befehl:

cd vnstat-2.10
./configure --prefix=/usr --sysconfdir=/etc

Als Nächstes installierst du vnStat, indem du den folgenden Befehl ausführst:

make
make install

Sobald vnStat installiert ist, kannst du die installierte Version von vnStat mit dem folgenden Befehl überprüfen:

vnstat -v

Du solltest die folgende Ausgabe erhalten:

vnStat 2.10 by Teemu Toivola 

Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Systemd zur Verwaltung von VnStat verwenden

Um VnStat mit systemd zu verwalten, musst du die systemd-Dienstdatei vnStat aus der vnStat-Quelle in das Verzeichnis /etc/systemd/system/ kopieren:

cp -v vnstat-2.10/examples/systemd/vnstat.service /etc/systemd/system/

Als Nächstes aktivierst du den vnStat-Dienst und startest ihn mit dem folgenden Befehl:

systemctl enable vnstat
systemctl start vnstat

Du kannst den Status des vnStat-Dienstes auch mit folgendem Befehl überprüfen:

systemctl status vnstat

Du solltest die folgende Ausgabe erhalten:

? vnstat.service - vnStat network traffic monitor
   Loaded: loaded (/lib/systemd/system/vnstat.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-11-29 08:34:08 IST; 2h 49min ago
     Docs: man:vnstatd(1)
           man:vnstat(1)
           man:vnstat.conf(5)
 Main PID: 1730 (vnstatd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/vnstat.service
           ??1730 /usr/sbin/vnstatd -n

Nov 29 08:34:08 vyompc systemd[1]: Started vnStat network traffic monitor.
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: vnStat daemon 1.18 started. (pid:1730 uid:122 gid:128)
Nov 29 08:34:08 vyompc vnstatd[1730]: Info: Monitoring: enp20s0 (1000 Mbit) wlp22s0 (1000 Mbit)

Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Wie du den Netzwerkverkehr mit vnStat überwachst

vnStat bietet mehrere Optionen, mit denen du den Netzwerkverkehr überwachen kannst. Du kannst alle verfügbaren Optionen mit dem folgenden Befehl auflisten:

vnstat --help

Du solltest die folgende Ausgabe erhalten:

vnStat 2.10 by Teemu Toivola 

      -5,  --fiveminutes [limit]   show 5 minutes
      -h,  --hours [limit]         show hours
      -hg, --hoursgraph            show hours graph
      -d,  --days [limit]          show days
      -m,  --months [limit]        show months
      -y,  --years [limit]         show years
      -t,  --top [limit]           show top days

      -b, --begin            set list begin date
      -e, --end              set list end date

      --oneline [mode]             show simple parsable format
      --json [mode] [limit]        show database in json format
      --xml [mode] [limit]         show database in xml format

      -tr, --traffic [time]        calculate traffic
      -l,  --live [mode]           show transfer rate in real time
      -i,  --iface      select interface

Use "--longhelp" or "man vnstat" for complete list of options.

Bevor du vnStat benutzt, musst du einige Zeit warten, um die vnStat-Datenbank zu aktualisieren. Nach der Aktualisierung der Datenbank kannst du vnStat wie unten gezeigt ohne Optionen ausführen:

vnstat

Du solltest die folgende Ausgabe sehen:

                      rx      /      tx      /     total    /   estimated
 wlp22s0:
       Oct '22     17.80 GiB  /    4.35 GiB  /   22.15 GiB
       Nov '22     16.61 GiB  /    3.62 GiB  /   20.23 GiB  /   21.48 GiB
     yesterday    332.22 MiB  /  114.17 MiB  /  446.39 MiB
         today    710.25 MiB  /   44.85 MiB  /  755.11 MiB  /    1.55 GiB

Um eine bestimmte Netzwerkschnittstelle zu verwenden, verwende die Option -i (siehe unten):

vnstat -i ens3

Du solltest die Tages- und Monatsstatistiken in der folgenden Ausgabe erhalten:

Database updated: 2020-11-12 06:30:00

   ens3 since Saturday 29 January 2022

          rx:  185.89 GiB      tx:  38.82 GiB      total:  224.70 GiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Oct '22     17.80 GiB |    4.35 GiB |   22.15 GiB |   71.04 kbit/s
       Nov '22     16.61 GiB |    3.62 GiB |   20.23 GiB |   71.20 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated     17.64 GiB |    3.85 GiB |   21.48 GiB |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday    332.22 MiB |  114.17 MiB |  446.39 MiB |   43.34 kbit/s
         today    710.25 MiB |   44.85 MiB |  755.11 MiB |  154.31 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated      1.46 GiB |      92 MiB |    1.55 GiB |

Um die stündlichen Statistiken anzuzeigen, führe den folgenden Befehl aus:

vnstat -h

Du solltest die folgende Ausgabe erhalten:

 ens3  /  hourly

 h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB)  ][  h  rx (MiB)   tx (MiB) 
12        5.4        0.2 ][ 20       30.4       14.8 ][ 04        0.0        0.0
13       72.7       15.0 ][ 21       24.8        6.4 ][ 05        0.0        0.0
14        1.9        0.4 ][ 22       20.1        9.8 ][ 06        0.0        0.0
15        0.0        0.0 ][ 23        0.0        0.0 ][ 07        0.0        0.0
16        0.0        0.0 ][ 00        0.0        0.0 ][ 08      147.0       10.2
17       36.4        9.6 ][ 01        0.0        0.0 ][ 09       64.1        9.4
18       54.0       23.4 ][ 02        0.0        0.0 ][ 10      496.9       23.9
19       86.5       34.5 ][ 03        0.0        0.0 ][ 11        2.3        1.3

Um die Tagesstatistiken anzuzeigen, führe den folgenden Befehl aus:

vnstat -d

Du solltest die folgende Ausgabe erhalten:

 ens3  /  daily
        day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     Sunday 30 October 2022  266.75 MiB |   47.81 MiB |  314.56 MiB |   30.54 kbit/s
     Monday 31 October 2022  701.49 MiB |  225.89 MiB |  927.38 MiB |   90.04 kbit/s
     Tuesday 01 November 2022  506.20 MiB |  184.50 MiB |  690.70 MiB |   67.06 kbit/s
     Wednesday 02 November 2022  631.15 MiB |  182.43 MiB |  813.59 MiB |   78.99 kbit/s
     Thursday 03 November 2022  189.21 MiB |   41.18 MiB |  230.39 MiB |   22.37 kbit/s
     Friday 04 November 2022  703.67 MiB |  175.49 MiB |  879.16 MiB |   85.36 kbit/s
     Saturday 05 November 2022  518.96 MiB |  130.47 MiB |  649.43 MiB |   63.05 kbit/s
     Sunday 06 November 2022  301.74 MiB |   81.95 MiB |  383.69 MiB |   37.25 kbit/s

Du kannst die Option -t verwenden, um die Tage mit dem höchsten Verkehrsaufkommen anzuzeigen:

vnstat -t

Du solltest die folgende Ausgabe erhalten:

 ens3  /  top 1

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   Thursday 03 February 2022    2.58 GiB |  214.64 MiB |    2.79 GiB |  277.76 kbit/s
    2   Saturday 05 February 2022    2.11 GiB |  229.32 MiB |    2.33 GiB |  231.67 kbit/s
    3   Tuesday 01 February 2022    1.81 GiB |  190.56 MiB |    2.00 GiB |  198.71 kbit/s
    4   Wednesday 02 February 2022    1.80 GiB |  179.75 MiB |    1.98 GiB |  196.72 kbit/s
    5   Sunday 10 July 2022    1.69 GiB |  248.34 MiB |    1.93 GiB |  192.21 kbit/s
    6   Saturday 19 February 2022    1.56 GiB |  172.67 MiB |    1.73 GiB |  171.56 kbit/s
    7   Friday 16 September 2022    1.44 GiB |  201.21 MiB |    1.64 GiB |  163.16 kbit/s
    8   Friday 17 June 2022    1.34 GiB |  278.89 MiB |    1.61 GiB |  160.33 kbit/s
    9   Friday 25 March 2022    1.06 GiB |  504.19 MiB |    1.55 GiB |  154.51 kbit/s
   10   Monday 07 February 2022    1.30 GiB |  160.68 MiB |    1.46 GiB |  145.30 kbit/s
   -----------------------------+-------------+-------------+---------------

Um die Netzwerkverkehrsstatistiken in Echtzeit anzuzeigen, führe den folgenden Befehl aus:

vnstat -l

Du solltest die folgende Ausgabe erhalten:

Monitoring ens3...    (press CTRL-C to stop)

   rx:       11 kbit/s     7 p/s          tx:        9 kbit/s     6 p/s^C


 ens3  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                       17 KiB  |          18 KiB
--------------------------------------+------------------
          max              24 kbit/s  |       33 kbit/s
      average            6.78 kbit/s  |     7.39 kbit/s
          min               0 kbit/s  |        0 kbit/s
--------------------------------------+------------------
  packets                         78  |              82
--------------------------------------+------------------
          max                 10 p/s  |          11 p/s
      average                  3 p/s  |           4 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                    20 seconds

Du kannst auch die Datenbankeinträge für die Schnittstelle ens3 löschen und die Überwachung mit dem folgenden Befehl beenden:

vnstat -i ens3 --remove --force

Du solltest die folgende Ausgabe erhalten:

Interface "ens3" removed from database.
The interface will no longer be monitored. Use --add
if monitoring the interface is again needed.

Du kannst auch die entfernte Schnittstelle ens3 wieder hinzufügen, indem du den folgenden Befehl ausführst:

vnstat -i ens3 --add

Du solltest die folgende Ausgabe erhalten:

Adding interface "ens3" for monitoring to database...

Restart the vnStat daemon if it is currently running in order to start monitoring "ens3".

Starte anschließend den vnStat-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart vnstat

Fazit

In diesem Beitrag haben wir dir erklärt, wie du vnStat unter Ubuntu 22.04 installierst. Außerdem haben wir dir anhand einiger Beispiele gezeigt, wie du es zur Überwachung des Netzwerkverkehrs einsetzen kannst. Du kannst dieses Tool nun nutzen, um Netzwerkprobleme zu analysieren und zu beheben. Wenn du Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …