Überwachung des Netzwerkverkehrs mit vnStat auf Ubuntu 20.04

vnStat ist ein kostenloses, quelloffenes und konsolenbasiertes Tool zur Überwachung des Netzwerkverkehrs für das Betriebssystem Linux. Mit vnStat können Sie Netzwerkstatistiken über verschiedene Zeiträume hinweg überwachen. Es ist einfach, leichtgewichtig und verbraucht nur einen kleinen Teil Ihrer Systemressourcen. vnStat ermöglicht es Ihnen, die Netzwerkverkehrsdaten in einer Stunde, einem Tag, einem Monat, einer Woche und einem Tag zu generieren.

In diesem Tutorial zeigen wir Ihnen, wie Sie vnStat installieren und verwenden, um den Netzwerkverkehr zu überwachen.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Der Server ist mit einem Root-Passwort konfiguriert.

vnStat installieren

Standardmäßig ist die neueste Version von vnStat nicht im Ubuntu-Standard-Repository verfügbar. Sie müssen sie also aus den Quellen kompilieren.

Installieren Sie 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, laden Sie die neueste Version des vnStat-Quellcodes mit dem folgenden Befehl herunter:

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

Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit folgendem Befehl:

tar -xvzf vnstat-2.6.tar.gz

Ändern Sie dann das Verzeichnis in das extrahierte Verzeichnis und konfigurieren Sie es mit folgendem Befehl:

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

Installieren Sie anschließend die vnStat-Quelle mit folgendem Befehl: Führen Sie folgenden Befehl aus:

make
make install

Sobald vnStat installiert ist, können Sie die installierte Version von vnStat mit folgendem Befehl überprüfen:

vnstat -v

Sie sollten die folgende Ausgabe erhalten:

vnStat 2.6 by Teemu Toivola 

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

vnStat-Dienst verwalten

Als nächstes müssen Sie die Systemdatei vnStat systemd aus dem vnStat-Quelltext in das Verzeichnis /etc/systemd/system/ kopieren:

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

Als nächstes aktivieren Sie den vnStat-Dienst und starten ihn mit dem folgenden Befehl:

systemctl enable vnstat
systemctl start vnstat

Sie können den Status des vnStat-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status vnstat

Sie sollten die folgende Ausgabe erhalten:

? vnstat.service - vnStat network traffic monitor
   Loaded: loaded (/etc/systemd/system/vnstat.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-11-12 06:24:01 UTC; 11s ago
     Docs: man:vnstatd(8)
           man:vnstat(1)
           man:vnstat.conf(5)
 Main PID: 20989 (vnstatd)
    Tasks: 1 (limit: 4701)
   Memory: 1.5M
   CGroup: /system.slice/vnstat.service
           ??20989 /usr/sbin/vnstatd -n

Nov 12 06:24:01 Ubuntu systemd[1]: Started vnStat network traffic monitor.
Nov 12 06:24:01 Ubuntu vnstatd[20989]: No interfaces found in database, adding available interfaces...
Nov 12 06:24:01 Ubuntu vnstatd[20989]: Interface "ens3" added with 1000 Mbit bandwidth limit.
Nov 12 06:24:01 Ubuntu vnstatd[20989]: Interface "ens4" added with 1000 Mbit bandwidth limit.
Nov 12 06:24:01 Ubuntu vnstatd[20989]: -> 2 new interfaces found.
Nov 12 06:24:01 Ubuntu vnstatd[20989]: Limits can be modified using the configuration file. See "man vnstat.conf".
Nov 12 06:24:01 Ubuntu vnstatd[20989]: Unwanted interfaces can be removed from monitoring with "vnstat --remove".
Nov 12 06:24:01 Ubuntu vnstatd[20989]: Info: vnStat daemon 2.6 started. (pid:20989 uid:0 gid:0 64-bit)
Nov 12 06:24:01 Ubuntu vnstatd[20989]: Info: Monitoring (2): ens4 (1000 Mbit) ens3 (1000 Mbit)

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Arbeiten mit vnStat

vnStat wird mit verschiedenen Optionen geliefert, die Ihnen helfen, den Netzwerkverkehr zu überwachen. Mit dem folgenden Befehl können Sie alle verfügbaren Optionen auflisten:

vnstat --help

Sie sollten die folgende Ausgabe erhalten:

vnStat 2.6 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 Sie vnStat verwenden, müssen Sie einige Zeit warten, um die vnStat-Datenbank zu aktualisieren. Nach der Aktualisierung der Datenbank können Sie vnStat wie unten gezeigt ohne jede Option ausführen:

vnstat

Sie sollten die folgende Ausgabe sehen:

                      rx      /      tx      /     total    /   estimated
 ens3:
       2020-11    164.83 KiB  /  495.17 KiB  /  660.01 KiB  /     --     
         today    164.83 KiB  /  495.17 KiB  /  660.01 KiB  /    2.38 MiB

Sie können auch die spezifische Netzwerkschnittstelle mit der Option -i wie unten gezeigt angeben:

vnstat -i ens3

Sie sollten die täglichen und monatlichen Statistiken in der folgenden Ausgabe erhalten:

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

   ens3 since 2020-11-12

          rx:  164.83 KiB      tx:  495.17 KiB      total:  660.01 KiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2020-11    164.83 KiB |  495.17 KiB |  660.01 KiB |        5 bit/s
     ------------------------+-------------+-------------+---------------
     estimated       --      |     --      |     --      |

   daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
         today    164.83 KiB |  495.17 KiB |  660.01 KiB |      231 bit/s
     ------------------------+-------------+-------------+---------------
     estimated       608 KiB |    1.79 MiB |    2.38 MiB |

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

vnstat -h

Sie sollten die folgende Ausgabe erhalten: Sie sollten die folgende Ausgabe erhalten:

 ens3  /  hourly

         hour        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     2020-11-12
         06:00    164.83 KiB |  495.17 KiB |  660.01 KiB |    3.00 kbit/s
     ------------------------+-------------+-------------+---------------

Um die Tagesstatistik anzuzeigen, führen Sie folgenden Befehl aus: Um die Tagesstatistik anzuzeigen, führen Sie folgenden Befehl aus

vnstat -d

Sie sollten die folgende Ausgabe erhalten: Sie sollten die folgende Ausgabe erhalten:

 ens3  /  daily

          day        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     2020-11-12   164.83 KiB |  495.17 KiB |  660.01 KiB |      231 bit/s
     ------------------------+-------------+-------------+---------------
     estimated       608 KiB |    1.79 MiB |    2.38 MiB |

Mit der Option -t können Sie die Top-Traffic-Tage anzeigen:

vnstat -t

Sie sollten die folgende Ausgabe erhalten:

 ens3  /  top 1

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
 >  1   2020-11-12   164.83 KiB |  495.17 KiB |  660.01 KiB |       62 bit/s

Um die Netzwerkverkehrsstatistik in Echtzeit anzuzeigen, führen Sie den folgenden Befehl aus:

vnstat -l

Sie sollten folgende Ausgabe erhalten: Sie sollten folgende Ausgabe erhalten

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

   rx:     1.31 kbit/s     2 p/s          tx:     1.49 kbit/s     1 p/s^C


 ens3  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                     3.75 KiB  |        5.42 KiB
--------------------------------------+------------------
          max            6.55 kbit/s  |    11.17 kbit/s
      average            1.53 kbit/s  |     2.22 kbit/s
          min              264 bit/s  |       264 bit/s
--------------------------------------+------------------
  packets                         41  |              37
--------------------------------------+------------------
          max                  7 p/s  |           8 p/s
      average                  2 p/s  |           1 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                    20 seconds

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

vnstat -i ens3 --remove --force

Sie sollten 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.

Sie können auch das entfernte Interface ens3 wieder hinzufügen, indem Sie den folgenden Befehl ausführen:

vnstat -i ens3 --add

Sie sollten die folgende Ausgabe erhalten: Sie sollten 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".

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

systemctl restart vnstat

Schlussfolgerung

In der obigen Anleitung haben Sie gelernt, wie man vnStat installiert und zur Überwachung des Netzwerkverkehrs verwendet. Ich hoffe, dass dieses Tool Ihnen bei der Analyse und Fehlerbehebung bei netzwerkbezogenen Problemen hilft. Zögern Sie nicht, mich zu fragen, wenn Sie irgendwelche Fragen haben.

Das könnte dich auch interessieren …