Entwickler und Systemadministratoren müssen möglicherweise verschiedene Netzwerkparameter überwachen, wie z. B. den Bandbreitenverbrauch und den ein- und ausgehenden Datenverkehr. Dafür stehen viele Tools zur Verfügung, eines davon ist vnStat. Es ist ein einfaches CLI-Dienstprogramm, das Netzwerkstatistiken über verschiedene Schnittstellen und Zeiträume für einen bestimmten Computer anzeigt. In diesem Artikel erfahren Sie, wie Sie vnStat installieren und damit arbeiten und (optional) diese Daten mit vnstat-dashboard grafisch anzeigen.
Installation
Für Ubuntu- und Debian-Systeme ist vnStat im Standard-Repository verfügbar. Verwenden Sie die folgenden Befehle, um es zu installieren:
sudo apt update sudo apt install vnstat
Die standardmäßigen CentOS- und Fedora-Repositories haben kein vnStat, aber Sie können sie von den EPEL-Depots erhalten. Daher sollten Sie die EPEL-Repositories aktivieren und dann vnStat installieren. Verwenden Sie dazu die folgenden Befehle:
sudo yum install epel-release sudo yum install vnstat
Geben Sie für Fedora-Systeme Folgendes ein:
sudo dnf update sudo dnf install vnstat
vnStat einrichten
Nach der Installation von vnStat müssen Sie die Netzwerkschnittstelle festlegen, die Sie überwachen möchten. Sie müssen jedoch zuerst die Liste der auf unserem System verfügbaren Netzwerkschnittstellen kennen, bevor Sie vnStat bitten können, sie zu überwachen. Verwenden Sie dazu einen der beiden Befehle:
ip link show
oder
netstat -i
Dadurch wird eine Liste aller im System verfügbaren Netzwerkschnittstellen angezeigt.
Für diesen Artikel werden wir nur die Schnittstelle überwachen, die die Ethernet-Verbindung zu unserem System darstellt, also eth0
in unserem Beispiel. Möglicherweise finden Sie die Schnittstelle auf Ihrem System anders benannt, z. enp0s3
oder venet0
. Wenn Sie WLAN verwenden, gibt es eine Schnittstelle wie wlan0
oder wifi0
. Alle Schnittstellen mit Namen wie lo
oder lo0
stellen die Loopback-Schnittstelle dar, die für den lokalen Datenverkehr verwendet wird, z. B. zur Kommunikation zwischen Daemons.
Wählen Sie also die eth0
Schnittstelle für die Überwachung verwenden Sie den Befehl:
sudo vnstat -u -i eth0
Es sollte Ihnen mitteilen, dass eine Datenbank erstellt wurde. Dann sollten Sie die richtigen Berechtigungen für die Datenbank setzen mit:
sudo chown -R vnstat: /var/lib/vnstat
Abschließend aktivieren und starten Sie den Daemon mit:
sudo systemctl enable vnstat sudo systemctl restart vnstat
Sie können prüfen, ob der Daemon mit top oder with gestartet wurde. läuft systemctl status
:
sudo systemctl status vnstat
Die Bandbreitennutzung anzeigen
Standardmäßig schreibt vnStat alle 30 Sekunden neue Statistiken in die Datenbank. Nachdem Sie 30 Sekunden gewartet haben, starten Sie vnstat
um die Monats- und Tagesstatistik in tabellarischer Form anzuzeigen. Wenn Ihr System nicht zu viel Datenverkehr empfängt, können Sie versuchen, diese Dateien herunterzuladen, um etwas Datenverkehr zu generieren, bevor Sie die Statistiken anzeigen.
Die Spalten „rx“ und „tx“ zeigen den empfangenen bzw. gesendeten Datenverkehr, und die Spalte „total“ zeigt die Summe dieser beiden Werte. Der „Durchschn. Rate “zeigt die durchschnittliche Rate des Bandbreitenverbrauchs pro Sekunde im Laufe des Tages oder Monats.
Manchmal möchten Sie vielleicht sofort die aktualisierte Bandbreitennutzung sehen, ohne zu warten. In diesem Fall können Sie vnStat zwingen, die Datenbank zu aktualisieren mit:
sudo vnstat -u
Führen Sie dann vnstat
aus wie gewöhnlich; Danach sehen Sie die aktualisierten Statistiken.
Wenn Sie Statistiken für einen anderen Zeitraum anzeigen möchten, können Sie verschiedene Schalter verwenden:
-
-d
:Tagesstatistik der letzten 30 Tage. -
-m
:Monatliche Statistik der letzten 12 Monate. -
-w
:Statistik der letzten 7 Tage sowie der aktuellen und der Vorwoche. -
-h
:Stündliche Statistik der letzten 24 Stunden. -
-t
:Top 10 Tage mit dem höchsten Traffic.
Sie können diese Schalter wie folgt verwenden:
vnstat -h
Die stündlichen Statistiken enthalten auch ein Diagramm, zusammen mit den „rx“ / „tx“-Werten, wie unten gezeigt. Die anderen Schalter zeigen eine tabellarische Ausgabe, wie im vorherigen Beispiel.
Darüber hinaus bietet vnStat auch einen Live-Traffic-Monitoring-Modus. Um diesen Modus zu verwenden, verwenden Sie den -l
Ändern und spezifizieren Sie den Namen der Schnittstelle -i
Also:
vnstat -l -i eth0
Wenn Sie fertig sind, drücken Sie zum Beenden Strg + C.
Daten exportieren und importieren
Bisher haben wir gesehen, wie man Daten zur Bandbreitennutzung von vnStat erhält. Die Tabellen sind jedoch nicht sehr hilfreich, wenn Sie eigene Berechnungen durchführen möchten. Sie können die Daten in JSON und XML exportieren, indem Sie den --json
verwenden und --xml
Schalter oder, zum Beispiel, wenn Sie eine Datei mit dem Namen haben. output.json
erstellen möchten Gehen Sie mit allen Bandbreitennutzungsdaten wie folgt vor:
vnstat --json > output.json
Wenn Sie die Datenbank auf ein anderes System importieren möchten, sollten Sie die Datenbank zunächst mit dem --exportdb
starten Zähler. Der folgende Befehl schreibt die Datenbank in eine Nur-Text-Datei mit dem Namen vnstat_db
.
vnstat --exportdb > vnstat_db
Nun können Sie diese Datei auf das andere System übertragen und den --importdb
speichern auf importieren umstellen. Zum Beispiel, wenn Sie den vnstat_db
haben Datei für eth0
Schnittstelle, ausführen:
sudo vnstat --importdb vnstat_db -i eth0 --force
Anzeigen von vnStat-Daten im Web
Wenn Sie Netzwerkstatistiken über das Internet überwachen möchten, gibt es mehrere Tools, die neben vnStat funktionieren. In diesem Artikel betrachten wir vnstat-dashboard, eine Webanwendung, mit der Sie vnStat-Daten visualisieren können. Um es zu verwenden, müssen Sie einen Webserver, PHP und einige andere Tools installieren. Wir verwenden nur Apache als Beispiel; Es steht Ihnen jedoch frei, einen anderen Webserver zu verwenden.
Führen Sie auf einem Ubuntu-/Debian-System diese Befehle aus, um die erforderlichen Tools zu installieren:
sudo apt install apache2 php wget unzip
Wenn Sie ein CentOS-/RHEL-System verwenden, führen Sie stattdessen diese Befehle aus:
sudo yum install httpd php wget unzip
(Ersetzen Sie es auf einem Fedora-System yum
mit dnf
.)
Laden Sie dann den Quellcode von Github herunter und extrahieren Sie ihn in das richtige Verzeichnis:
wget https://github.com/alexandermarston/vnstat-dashboard/archive/master.zip unzip master.zip sudo mv vnstat-dashboard-master/ /var/www/html/vnstat/
Als nächstes müssen wir einige Konfigurationsparameter ändern. Öffnen Sie dazu die Konfigurationsdatei in einem Texteditor wie vi oder nano:
sudo nano /var/www/html/vnstat/config.php
Suchen Sie in dieser Datei die folgenden Zeilen und ersetzen Sie die Standardwerte durch die rot angezeigten:
$vnstat_bin_dir = '/usr/bin/vnstat'; $use_predefined_interfaces = true; if ($use_predefined_interfaces == true) { $interface_list = array("eth0"); // ... }
Nachdem Sie diese Änderungen vorgenommen haben, öffnen Sie https://<your_server_IP>/vnstat
in einem Browser. Sie sollten eine Seite wie diese geöffnet sehen:
Sie können ganz einfach zwischen den Tabs stündlich, täglich und monatlich wechseln und auch zwischen verschiedenen Netzwerkschnittstellen wechseln.
Diplom
vnStat ist ein sehr nützliches Tool zur Überwachung und Analyse von Netzwerkinformationen eines Systems. Für die Anzeige und Protokollierung der Daten von Netzwerkschnittstellen stehen verschiedene Möglichkeiten zur Verfügung, die für verschiedene Anwendungen genutzt werden können.