GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So überwachen und protokollieren Sie den Netzwerkverkehr unter Linux mit vnStat

Dieser Artikel ist Teil unserer fortlaufenden Artikelserie zur Leistungsüberwachung.

Konzentrieren wir uns in diesem Artikel darauf, wie der Netzwerkverkehr überwacht und für spätere Analysen mit dem Dienstprogramm vnstat protokolliert wird.

vnstat ist ein Befehlszeilendienstprogramm, das den Netzwerkverkehr der Schnittstellen auf Ihren Systemen anzeigt und protokolliert. Dies hängt von den vom Kernel bereitgestellten Netzwerkstatistiken ab. vnstat fügt Ihrem System also keine zusätzliche Last für die Überwachung und Protokollierung des Netzwerkverkehrs hinzu.

1. Installieren Sie vnStat

Installieren Sie vnStat auf Ihrem System aus dem Repository, das für Ihre Linux-Distributionen spezifisch ist.

Verwenden Sie beispielsweise unter Ubuntu apt-get, um es wie unten gezeigt zu installieren.

$ apt-get install vnstat

Wenn Sie es vorziehen, es von der Quelle zu installieren, laden Sie die vnStat-Quelle von hier herunter oder verwenden Sie das wget wie unten gezeigt, um es herunterzuladen und zu installieren.

Bitte beachten Sie, dass Sie auch Mergecap und Tshark verwenden können, um den Netzwerkverkehr zu analysieren.

wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
cd vnstat-1.11
make
make install

Bitte beachten Sie, dass Sie „./configure“ nicht ausführen müssen, was Sie normalerweise für andere quellenbasierte Installationen tun.

Da vnstat von den vom Kernel bereitgestellten Informationen abhängt, führen Sie den folgenden Befehl aus, um zu überprüfen, ob der Kernel alle Informationen bereitstellt, die vnStat erwartet.

# vnstat --testkernel
This test will take about 60 seconds.
Everything is ok.

2. Wählen Sie eine zu überwachende Schnittstelle mit vnStat aus

vnStat überwacht keine Schnittstellen, es sei denn, Sie fordern dies ausdrücklich an.

Gehen Sie wie folgt vor, um mit der Überwachung von eth0 zu beginnen. Dies muss nur einmal ausgeführt werden. Wie Sie unten sehen, wird dadurch eine Datenbankdatei eth0 im Verzeichnis /var/lib/vnstat erstellt, die alle Protokollmeldungen des Netzwerkverkehrs für diese spezifische Schnittstelle enthält.

# vnstat -u -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.

Gehen Sie wie folgt vor, um alle verfügbaren Schnittstellen auf Ihrem System anzuzeigen, die vnStat überwachen kann.

# vnstat --iflist
Available interfaces: lo eth0 eth1 sit0

Starten Sie den vnstatd (vnstat-Daemon), der diese Informationen im Hintergrund überwacht und protokolliert.

# vnstatd -d
# ps -ef | grep vnst
root     14353     1  0 09:12 ?        00:00:00 vnstatd -d
root     14355   330  0 09:12 pts/1    00:00:00 grep vnst

Hinweis:Sie können „vnstatd -d“ zu Ihrer /etc/rc.local-Datei hinzufügen, sodass sie bei jedem Neustart Ihres Systems automatisch gestartet wird.

3. Grundlegende vnStat-Nutzung

vnstat ohne Argumente gibt Ihnen eine kurze Zusammenfassung mit den folgenden Informationen:

  • Das letzte Mal, als die vnStat-Datenbank, die sich unter /var/lib/vnstat/ befindet, aktualisiert wurde
  • Ab dem Beginn der Erfassung der Statistiken für eine bestimmte Schnittstelle
  • Die Netzwerkstatistikdaten (übertragene Bytes, empfangene Bytes) für die letzten zwei Monate und die letzten zwei Tage.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

Hinweis:Wenn Sie vnStat gerade erst installiert haben, wird folgende Meldung angezeigt:„eth0:Noch nicht genügend Daten verfügbar.“ Warten Sie einige Zeit und versuchen Sie den Befehl erneut.

4. vnStat Stunden, Tage, Monate, Wochen Netzwerkdaten

Verwenden Sie „vnstat -h“ (oder) „vnstat –hours“ für eine Aufschlüsselung der Netzwerkstatistikdaten nach Stunde. Dies zeigt auch ein textbasiertes Diagramm an.

Verwenden Sie „vnstat -d“ (oder) „vnstat –days“ für eine Aufschlüsselung der Netzwerkstatistikdaten nach Tag.

# vnstat -d
 eth0  /  daily
         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      10/10/11      2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
      10/11/11      4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
      10/12/11      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
      10/13/11      2.06 MiB |    1.10 MiB |    3.16 MiB |    0.60 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         3 MiB |       1 MiB |       4 MiB |

Verwenden Sie „vnstat -m“ (oder) „vnstat –months“ für eine monatliche Aufschlüsselung der Netzwerkstatistikdaten.

# vnstat --m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
      Oct '11     12.92 MiB |    6.96 MiB |   19.89 MiB |    0.15 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated        29 MiB |      14 MiB |      43 MiB |

Ähnlich wie bei Tagen und Monaten verwenden Sie „vnstat -m“ (oder) „vnstat –months“ für die Aufschlüsselung der Netzwerkstatistikdaten nach Woche.

5. Exportieren Sie die Daten nach Excel oder in eine andere DB

Wenn Sie die Netzwerküberwachungsdaten in eine Excel- oder andere Datenbank exportieren möchten, können Sie die Daten in einem durch Semikolon getrennten Textformat speichern, das Sie in Excel oder eine andere Datenbank importieren können.

Die ersten paar Zeilen der Ausgabe von –dumpdb enthalten einige Header-Informationen. Nach den Kopfzeilen hat es 30 Zeilen, die mit „d;“ beginnen. (d;0;1318316406;1;0;386;698;1). Diese Zeile enthält die folgenden Informationen, die durch Semikolon getrennt sind.

  • d – steht für Tage
  • 0 – Zahl des Tages. 0 bedeutet heute.
  • 1318316406 – Daten im Unix-Format
  • Gefolgt davon enthält es die gesendeten und empfangenen Bytes
$ vnstat --dumpdb
interface;eth0
created;1218562937
updated;1218546895
totalrx;3
totaltx;1
...
...
d;0;1328316406;1;0;386;698;1
d;1;1345262937;2;1;494;289;1

Sie können auch „vnstat –oneline“ verwenden, wodurch die Verkehrszusammenfassung in einer einzelnen Zeile angezeigt wird, in der die Werte durch Semikolons getrennt sind.

$ vnstat --oneline
1;eth0;10/11/11;1.45 MiB;801 KiB;2.23 MiB;0.59 kbit/s;Oct '11;3.93 MiB;2.06 MiB;6.00 MiB;0.05 kbit/s;3.93 MiB;2.06 MiB;6.00 MiB

6. Anzeigen von Live-Netzwerkstatistiken

Verwenden Sie „vnstat -l“ oder „vnstat –live“, um die Live-Netzwerkstatistikinformationen anzuzeigen.

$ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        2 kbit/s     5 p/s          tx:        2 kbit/s     4 p/s

Nachdem Sie Strg-C gedrückt haben, um ihn zu stoppen, zeigt vnstat eine Zusammenfassung für den Zeitraum an, in dem die Live-Überwachung ausgeführt wurde.

7. Ändern Sie das Standard-vnstat-Ausgabeformat

Verwenden Sie „vnstat -s“ oder „vnstat –short“, um eine kurze Zusammenfassung der Netzwerkstatistiken anzuzeigen. Dazu gehören Statistiken für heute, gestern und für den laufenden Monat.

$ vnstat -s (--short)

                      rx      /      tx      /     total    /   estimated
 eth0:
       Oct '11      3.93 MiB  /    2.06 MiB  /    6.00 MiB  /   13.00 MiB
     yesterday      2.48 MiB  /    1.28 MiB  /    3.76 MiB
         today      1.45 MiB  /     801 KiB  /    2.23 MiB  /      --

Sie können auch „vnstat –style 0“ verwenden, was eine schmalere Spaltenausgabe ergibt, die einfacher zu lesen ist als die standardmäßige breitere Spaltenausgabe.

$ vnstat --style 0

Im Folgenden sind die verfügbaren Stilnummern aufgeführt:

  • 0 – Schmaler Ausgang
  • 1 – Balkenspalte aktivieren
  • 2 – Balkenspalte aktivieren und durchschnittliche Verkehrsrate in der Zusammenfassung anzeigen
  • 3 – Zeigt die durchschnittliche Verkehrsrate in allen Ausgaben an
  • 4 – in Kombination mit dem Live-Modus (vnstat -l) die Terminal-Steuerzeichen deaktivieren

8. Top 10 Traffic-Tage anzeigen

Verwenden Sie „vnstat -t“ oder „vnstat –top10“, um die Top-10-Traffic-Tage aller Zeiten anzuzeigen.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   10/12/11       4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
    2   10/11/11       4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
    3   10/10/11       2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
    ....
   -----------------------------+-------------+-------------+---------------

Frühere Artikel in der Serie zur Überwachung und Optimierung der Linux-Leistung:

  • Einführung in die Linux-Leistungsüberwachung und -optimierung
  • 15 praktische Beispiele für Top-Befehle unter Linux
  • 7 praktische Beispiele für PS-Befehle zur Prozessüberwachung
  • 10 nützliche Sar (Sysstat)-Beispiele für die UNIX-/Linux-Leistungsüberwachung
  • 10 iozone-Beispiele für die Messung der Festplatten-E/A-Leistung unter Linux
  • 24 iostat-, vmstat- und mpstat-Beispiele für die Linux-Leistungsüberwachung

Linux
  1. So legen Sie eine statische IP-Adresse fest und konfigurieren das Netzwerk unter Linux

  2. So verwalten Sie Protokolldateien mit Logrotate unter Linux

  3. Linux – Wie leitet man Datenverkehr zwischen Linux-Netzwerk-Namespaces weiter?

  4. So überwachen Sie den Netzwerkverkehr unter Linux mit vnStat

  5. Linux:Wie misst man den täglichen/monatlichen Netzwerkverkehr?

So überwachen Sie die Betriebszeit von Linux-Systemen mit Uptimed

Überwachen Sie den Netzwerkverkehr mit dem netstat-Befehl in Linux

So installieren Sie nload, um den Netzwerkverkehr in Echtzeit zu überwachen

So konfigurieren Sie das Netzwerk unter Linux mit Netplan und NMTUI

So überwachen Sie Linux-Server und Metriken vom Browser aus mit Scout Realtime

So installieren und verwenden Sie den webbasierten Linux Network Traffic Analyzer von Darkstat