Wie wird die Bandbreitennutzung für jede Verbindung angezeigt?


5

Ich habe einen Linux-VPS-Server und möchte die aktuellen Netzwerkverbindungen und die Upload- / Download-Rate der einzelnen sehen. Gibt es einen einfachen Befehl, der diesen Zweck erfüllt?


Nein, gibt es nicht. Sie müssten so etwas wie einen Netflow-Collector wie ntop installieren.
Paul

Antworten:


6

Es stehen viele Tools zur Verfügung, obwohl Sie ein Netzwerküberwachungssystem installieren müssen, um prozessspezifische Bandbreiteninformationen abzurufen.

In der Reihenfolge der Einrichtung einfach:

Ein einfaches Paket, das nicht viel Setup erfordert, ist iftop . Dadurch wird die Bandbreite pro Prozess angezeigt. iftop screenshot Dies ist wahrscheinlich das, was Sie möchten, wenn Sie eine einfache Echtzeitlösung wünschen.

  • Um nur die Bandbreite pro Schnittstelle zu erhalten, bwm-ng ist ein kleines Paket, das Ihnen die Echtzeitnutzung pro Schnittstelle zeigt.
  • netstat listet Ihre offenen Verbindungen auf und sollte auf den meisten Systemen bereits vorhanden sein
  • ntop ist ein sehr nützliches Werkzeug für die Systemüberwachung, das auch TCP-Verbindungen pro Prozess überwachen kann, WENN Sie ein Kernelmodul zur Unterstützung der Netzwerküberwachung installieren.
  • Gacti . Nagios . ntop und Ganglien Je nach Konfiguration eines Servers für ein gesamtes Unternehmensnetzwerk können mehrere Systeme mit höherem Gewicht die Netzwerküberwachung pro Host / System / Service / Protokoll / usw. durchführen. Sehen MediaWiki Server Überwachung für ein reales Beispiel von ganglia in Aktion.

2

Es gibt ein einfaches Paket namens Nethogs Hier wird die von den einzelnen Prozessen genutzte Bandbreite angezeigt und die Liste mit den intensivsten Prozessen sortiert.

enter image description here

# Ubuntu or Debian
$ sudo apt install nethogs

# Fedora or CentOS
$ sudo yum install nethogs -y

1

Kontinuierliches Abrufen in Echtzeit im 5-Sekunden-Intervall mit nativem netstat

netstat --interfaces = eth0 -c 5

Kernel-Schnittstellentabelle

Iface MTU Erfüllt RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 601670041 0 0 0 290653338 0 0 0 BMRU

eth0 1500 0 601796657 0 0 0 290721761 0 0 0 BMRU

Mit awk können Sie nur ein bestimmtes Feld beobachten, das Sie interessiert. Im folgenden Beispiel werden nur 2 RX- und TX-Spalten angezeigt, die zeigen, wie viele Pakete fehlerfrei empfangen oder gesendet wurden (RX-OK / TX-OK).

netstat --interfaces = eth0 -c 5 | awk '{print $ 4 "\ t" $ 8}'

RX-OK TX-OK

605142559 292429624

605142595 292429661


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.