Unsere Top 10 Linux-Netzwerkleistungstools

Jeder einzelne Netzwerkadministrator möchte sicherstellen, dass die Leistung dessen, was er verwaltet, optimal ist. Es ist eine einfache Sache, die Benutzer bei Laune zu halten. Schließlich sind sie in der Regel die Ersten, die selbst kleinste Leistungseinbußen bemerken. Wenn Sie also in der Lage sein möchten, auf Leistungsbeschwerden zu reagieren, von denen Sie wissen, dass Sie sie kennen und an deren Behebung arbeiten, benötigen Sie einige Leistungstools. Wenn Sie in einem Linux-Shop arbeiten, ist dieser Beitrag für Sie. Wir sind dabei, einige der besten Linux-Netzwerkleistungstools zu überprüfen.

Wir beginnen mit einer kurzen Erörterung der Überwachung der Netzwerkleistung. Unser Ziel ist es nicht, Sie zu Fachexperten zu machen, sondern sicherzustellen, dass wir alle auf derselben Seite sind, wenn wir die verschiedenen verfügbaren Tools erkunden. Wir springen dann direkt zum Kern der Sache und stellen zehn verschiedene Linux-Tools vor, mit denen Sie die Leistung Ihres Netzwerks überwachen, verwalten und Fehler beheben können.

Informationen zur Überwachung und Prüfung der Netzwerkleistung

Die Sache mit der Überwachung und dem Testen der Netzwerkleistung ist, dass anscheinend jeder seine eigene Vorstellung davon hat, was das bedeutet. Beispielsweise sehen wir oft Tools zur Überwachung der Netzwerkbandbreite, die als Leistungsüberwachung bezeichnet werden. Das Gleiche gilt für Traffic-Analyse-Tools oder Packet-Sniffer. Dies wirft die folgende Frage auf: Was ist Netzwerkleistungsüberwachung und -test?

Für die Zwecke dieses Beitrags lassen wir diese Diskussion einfach beiseite und akzeptieren, dass Tools zur Überwachung der Netzwerkleistung einfach jedes Tool sind, das zum Messen, Bewerten, Beheben oder Verbessern der Netzwerkleistung verwendet werden kann. Durch die Verwendung einer solchen allumfassenden Definition können wir Ihnen die beste Auswahl an Tools anbieten und es Ihnen überlassen, diejenigen auszuwählen, die Ihnen bei Ihrer spezifischen Situation oder Ihrem Problem helfen können.

Die besten Netzwerkleistungstools für Linux

Daher haben wir diese Liste mit einigen der am häufigsten verwendeten Linux-Tools zusammengestellt, die zum Testen oder Überwachen verschiedener Metriken im Zusammenhang mit der Netzwerkleistung verwendet werden können. Sie sind unter den meisten Linux-Distributionen verfügbar. Jeder ist nützlich, um die tatsächlichen Ursachen von Leistungsproblemen zu überwachen und zu finden. Unter all den folgenden Vorschlägen ist mit ziemlicher Sicherheit einer für Ihre speziellen Anforderungen geeignet.

1. TCPdump

Tcpdump ist der ursprüngliche Paket-Sniffer. Es ist ein Tool, das verwendet wird, um – daher sein Name – den Inhalt des gesamten Netzwerkverkehrs auf die Standardausgabe zu übertragen. Durch die Magie der Umleitung und Pipes kann die Ausgabe natürlich an eine beliebige Datei oder sogar an einen anderen Prozess geleitet werden. Seit seiner ersten Veröffentlichung hat das Tool einige Verbesserungen und Fehlerbehebungen durchlaufen, aber es bleibt im Wesentlichen unverändert. Es ist in praktisch jeder Linux-Distribution verfügbar und hat sich zum De-facto-Standard für ein schnelles Tool zum Erfassen von Paketen entwickelt. Tcpdump verwendet die libpcap-Bibliothek für die eigentliche Paketerfassung.

Einer der Nachteile eines Tools wie tcpdump ist, dass es eine riesige Datenmenge sammeln kann. So sehr, dass es unmöglich sein könnte, genau das zu finden, wonach man sucht. Glücklicherweise ist einer der Schlüssel zur Stärke und Nützlichkeit des Tools die Möglichkeit, Filter anzuwenden, mit denen Sie genau angeben können, welcher Datenverkehr erfasst werden soll. Sie können die Ausgabe des Befehls auch zur weiteren Filterung an grep weiterleiten – ein weiteres gängiges Befehlszeilendienstprogramm. Jemand, der tcpdump, grep und die Befehlsshell beherrscht, kann damit genau den richtigen Datenverkehr für jede Debugging-Aufgabe erfassen.

Hier ist ein Beispiel für die Verwendung von tcpdump:

# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648

22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648

22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

Sie werden sicherlich zustimmen, dass eine solche Ausgabe etwas kryptisch sein kann. Hier kann sich ein echter Netzwerkprotokollanalysator als nützlich erweisen.

  So vereinfachen Sie DD mit GdiskDump unter Linux

2. Wireshark

Sie können sich Wireshark als tcpdump auf Steroiden vorstellen, aber tatsächlich ist es viel mehr als das. Die Referenz in Paket-Sniffern ist zum De-facto-Standard geworden und die meisten anderen Tools versuchen, es zu emulieren. Dies leistet jedoch weit mehr als tcpdump. Es wird nicht nur den Verkehr erfassen. Es ist sowohl ein Netzwerkverkehrsanalysator als auch ein Paketerfassungstool. Es ist so leistungsfähig, dass viele Administratoren andere Tools wie tcpdump verwenden, um den Datenverkehr in einer Datei zu erfassen und ihn dann zur Analyse in Wireshark zu laden. Tatsächlich ist es eine so übliche Art der Verwendung von Wireshark, dass Sie beim Start aufgefordert werden, entweder eine vorhandene Erfassungsdatei zu öffnen oder mit der Erfassung des Datenverkehrs zu beginnen. Eine weitere Stärke von Wireshark sind all die integrierten Filter, mit denen Sie genau die Daten eingrenzen können, die Sie interessieren.

Wireshark hat eine steile Lernkurve, aber es lohnt sich, es zu lernen. Es wird sich immer wieder als unschätzbar erweisen. Und wenn Sie es einmal gelernt haben, können Sie es überall verwenden, da es auf fast jedes Betriebssystem portiert wurde. Und um es noch besser zu machen, ist es Open Source und kostenlos verfügbar.

3. Netstat

Eines der Probleme bei der Fehlerbehebung bei TCP/IP-Konnektivitätsproblemen ergibt sich aus der großen Anzahl von Verbindungen und Diensten, die normalerweise auf jedem System ausgeführt werden. Netstat kann verwendet werden, um den Status jeder Verbindung zu identifizieren und zu ermitteln, welcher Prozess jede einzelne bedient, wodurch Sie die Suche eingrenzen können. Netstat, das auf jeder Linux-Distribution verfügbar ist, kann schnell Details zu Client-Diensten und TCP/IP-Kommunikation liefern. In seiner einfachsten Form zeigt der Befehl alle aktiven Verbindungen auf dem lokalen Computer an, sowohl eingehende als auch ausgehende.

Netstat kann auch Listening-Ports auf dem Computer anzeigen, auf dem es ausgeführt wird. Tatsächlich akzeptiert der Befehl viele Optionen. Die verfügbaren Optionen unterscheiden sich jedoch zwischen den Plattformen und einige Optionen funktionieren auf verschiedenen Plattformen unterschiedlich. Beispielsweise würde die Option -b unter Windows den Namen der ausführbaren Datei anzeigen, die mit jeder Verbindung verbunden ist – der Prozess, der die Verbindung bedient – ​​während sie unter Mac OS X oder BSD in Verbindung mit -i verwendet wird, um Statistiken eher in Bytes anzuzeigen als Bits. Der beste Weg, um mehr über alle verfügbaren Parameter Ihrer spezifischen Version auf Netstat zu erfahren, besteht darin, sie mit dem -? Option zum Anzeigen des Hilfebildschirms des Tools. Unter Linux können Sie auch die Netstat-Manpage anzeigen, um im Grunde die gleichen Informationen zu erhalten.

So sehen ein typischer netstat-Befehl und seine Ausgabe aus:

# netstat -a | more

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 *:mysql *:* LISTEN

tcp 0 0 *:sunrpc *:* LISTEN

tcp 0 0 *:realm-rusd *:* LISTEN

tcp 0 0 *:ftp *:* LISTEN

tcp 0 0 localhost.localdomain:ipp *:* LISTEN

tcp 0 0 localhost.localdomain:smtp *:* LISTEN

tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAIT

tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAIT

tcp 0 0 *:http *:* LISTEN

tcp 0 0 *:ssh *:* LISTEN

tcp 0 0 *:https *:* LISTEN

4. IPTaf

IPTraf ist ein konsolenbasiertes Netzwerkstatistikdienstprogramm für Linux. Sie können das Tool verwenden, um eine Vielzahl von Informationen zu sammeln, z. B. Paket- und Byte-Zählungen von TCP-Verbindungen, Schnittstellenstatistiken und Aktivitätsindikatoren, TCP- oder UDP-Verkehrsausfälle sowie Paket- und Byte-Zählungen von LAN-Stationen. Es verfügt über einen IP-Verkehrsmonitor, der Informationen über den IP-Verkehr in Ihrem Netzwerk anzeigt, einschließlich TCP-Flag-Informationen, Paket- und Bytezahlen, ICMP-Details und OSPF-Pakettypen. Mit der neuesten Version aus dem Jahr 2005 ist es ein etwas veraltetes Tool, aber es kann viele nützliche Informationen liefern, wenn Sie lernen möchten, wie man es benutzt.

Zu den weiteren Funktionen von IPTraf gehören allgemeine und detaillierte Schnittstellenstatistiken, die IP-, TCP-, UDP-, ICMP-, Nicht-IP- und andere IP-Paketzahlen, IP-Prüfsummenfehler, Schnittstellenaktivität und Paketgrößenzahlen anzeigen. Es verfügt auch über einen TCP- und UDP-Dienstmonitor, der die Anzahl der eingehenden und ausgehenden Pakete für gängige TCP- und UDP-Anwendungsports anzeigt. Darüber hinaus erkennt ein integriertes LAN-Statistikmodul aktive Hosts und zeigt Statistiken über deren Datenaktivität an. Schließlich verfügt das Tool auch über TCP-, UDP- und andere Protokollanzeigefilter, sodass Sie nur den Datenverkehr anzeigen können, an dem Sie interessiert sind.

  So richten Sie einen kinderfreundlichen Linux-PC ein

Das Tool, das eine menügesteuerte Bedienung im Vollbildmodus bietet, verarbeitet die meisten Arten von Netzwerkschnittstellen und verwendet die eingebaute Raw-Socket-Schnittstelle des Linux-Kernels. Dadurch kann es über eine Vielzahl von unterstützten Netzwerkkarten verwendet werden.

5. Nagios

Nagios unterscheidet sich von den vorherigen Tools dadurch, dass es eher eine vollwertige Netzwerküberwachungslösung als ein Leistungstest- oder Bewertungstool ist. Es ist in zwei verschiedenen Versionen erhältlich, dem kostenlosen und quelloffenen Nagios Core und dem kostenpflichtigen Nagios XI. Beide haben dieselbe zugrunde liegende Engine, aber die Ähnlichkeit hört hier auf. Nagios Core ist ein Open-Source-Überwachungssystem, das unter Linux läuft. Das System ist vollständig modular aufgebaut, wobei die eigentliche Überwachungs-Engine das Herzstück bildet. Die Engine wird durch Dutzende verfügbarer Plugins ergänzt, die heruntergeladen werden können, um dem System Funktionalität hinzuzufügen. Jedes Plugin fügt dem Kern einige Funktionen hinzu.

Unter Beibehaltung dieses modularen Ansatzes ist auch die Benutzeroberfläche des Tools modular aufgebaut, und mehrere verschiedene, von der Community entwickelte Optionen stehen ebenfalls zum Download zur Verfügung. Der Nagios-Kern, die Plugins und die Benutzeroberfläche bilden zusammen ein vollständiges Überwachungssystem. Das kann natürlich bedeuten, dass die Einrichtung von Nagios Core nichts für schwache Nerven ist.

Nagios XI ist ein kommerzielles Produkt, das auf derselben Core-Engine basiert. Es handelt sich jedoch um eine vollständig eigenständige Überwachungslösung. Sie müssen es nicht aus verschiedenen Teilen zusammenbauen. Das Produkt richtet sich an ein breites Publikum von kleinen Unternehmen bis hin zu großen Konzernen. Wie Sie vermutet haben, ist es viel einfacher zu installieren und zu konfigurieren als Nagios Core, teilweise dank eines Konfigurationsassistenten und einer Auto-Discovery-Engine. Der Hauptnachteil von Nagios XI ist sein Preis, der bei etwa 2.000 $ für eine 100-Knoten-Lizenz beginnt.

VERWANDTE LESUNG: SolarWinds NPM vs. Nagios

6. Aussichtsplattform

Observium ist eine weitere allumfassende Überwachungsplattform. Es unterstützt eine breite Palette von Gerätetypen, Plattformen und Betriebssystemen, darunter unter anderem Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, Brocade, Netscaler, NetApp. Ich bezweifle, dass Sie ein mit dem Netzwerk verbundenes Gerät finden, das nicht unterstützt wird. Der Hauptfokus des Tools liegt auf der Bereitstellung einer schönen, intuitiven und einfachen, aber leistungsstarken Benutzeroberfläche, die den Zustand und Status Ihres Netzwerks visuell darstellt.

Obwohl viele an Observium als Bandbreitenüberwachungstool denken, hat es viel mehr zu bieten. Beispielsweise verfügt es über ein Abrechnungssystem, das die gesamte monatliche Bandbreitennutzung im 95. Perzentil oder in insgesamt übertragenen Bytes misst. Es hat auch eine Warnfunktion mit benutzerdefinierten Schwellenwerten. Darüber hinaus lässt sich Observium in andere Systeme integrieren und kann deren Informationen abrufen und in seiner Benutzeroberfläche anzeigen.

Observium muss eingerichtet werden und konfiguriert sich fast selbst durch seinen Auto-Discovery-Prozess. Obwohl es auf der Website von Observium keinen Download-Bereich zu geben scheint, gibt es detaillierte Installationsanweisungen für mehrere Linux-Distributionen, die die Links enthalten, um das richtige Paket für jede Distribution zu erhalten. Die Anweisungen sind sehr detailliert, sodass das Finden und Installieren der Software einfach sein sollte.

Dieses Produkt ist in zwei Versionen erhältlich. Es gibt die Observium Community, die für alle kostenlos verfügbar ist. Diese Version erhält zweimal im Jahr Updates und neue Funktionen. Es gibt auch Observium Professional mit zusätzlichen Funktionen und täglichen Updates.

7. Eis

Icinga ist eine weitere Open-Source-Netzwerküberwachungsplattform. Das Tool ist mit einer einfachen und übersichtlichen Benutzeroberfläche und einem Funktionsumfang ausgestattet, der mit einigen kommerziellen Produkten mithalten kann. Wie die meisten Bandbreitenüberwachungssysteme verwendet Icinga hauptsächlich SNMP, um Nutzungsdaten von Geräten zu sammeln. Einer der Bereiche, in denen das Tool auffällt, ist jedoch die Verwendung von Plugins. Es gibt unzählige von der Community entwickelte Plugins, um verschiedene Leistungsüberwachungsaufgaben durchzuführen und die Funktionalität des Produkts zu erweitern. Und wenn Sie nicht das richtige Plugin für Ihre Bedürfnisse finden, können Sie selbst eines schreiben und es der Community beisteuern.

  So verbessern Sie die Linux-Zwischenablage mit CopyQ

Warnungen und Benachrichtigungen sind zwei der besten Funktionen von Icinga. Warnungen sind vollständig konfigurierbar in Bezug darauf, was sie auslöst und wie sie übertragen werden. Das Tool verfügt auch über eine segmentierte Benachrichtigung. Mit dieser Funktion können Sie einige Benachrichtigungen an einige Benutzer und andere Benachrichtigungen an verschiedene Personen senden. Dies ist eine großartige Funktion, wenn Sie verschiedene Systeme haben, die von verschiedenen Gruppen verwaltet werden. Sie könnten beispielsweise alle Warnungen in Bezug auf den Server an das Serveradministrationsteam und alle Warnungen in Bezug auf das Netzwerk an das Netzwerk-Supportteam senden lassen.

8. Zabbix

Zabbix ist ein weiteres kostenloses und Open-Source-Tool zur Überwachung der Netzwerkleistung. Es hat ein hochprofessionelles Erscheinungsbild, so wie Sie es von einem kommerziellen Produkt erwarten würden. Das gute Aussehen der Benutzeroberfläche ist jedoch nicht der einzige Vorteil. Das Produkt verfügt außerdem über einen beeindruckenden Funktionsumfang. Die Plattform kann neben Netzwerkgeräten auch die meisten an das Netzwerk angeschlossenen Geräte überwachen. Es ist eine perfekte Option zur Überwachung der Leistung Ihrer gesamten Infrastruktur.

Zabbix verwendet SNMP sowie das Intelligent Platform Monitoring Interface (IMPI) zur Überwachung von Geräten. Sie können die Software verwenden, um die Bandbreite, die CPU- und Speicherauslastung des Geräts, den allgemeinen Gerätezustand und die Leistung sowie Konfigurationsänderungen zu überwachen. Das Produkt verfügt außerdem über ein beeindruckendes und vollständig anpassbares Warnsystem. Es sendet nicht nur E-Mail- oder SMS-Benachrichtigungen, sondern kann auch lokale Skripte ausführen, die beispielsweise zur automatischen Behebung einiger Probleme verwendet werden können.

9. Kakteen

Ein Beitrag über Linux-Netzwerkleistungstools wäre nicht vollständig ohne die Erwähnung von Cacti, einem kostenlosen und Open-Source-Tool zur vollständigen Überwachung der Netzwerkleistung. Es gibt es seit ungefähr fünfzehn Jahren, und obwohl es vielleicht nicht das ausgeklügeltste Tool ist, wird es immer noch aktiv weiterentwickelt – wobei die neueste Version gerade einen Monat alt ist – und es erledigt die Arbeit ziemlich effizient. Seine Hauptkomponenten sind ein schneller Poller, erweiterte Diagrammvorlagen und mehrere Datenerfassungsmethoden. Cacti verfügt über eine direkt in das Produkt integrierte Benutzerzugriffskontrolle und das Produkt verfügt außerdem über eine einfach zu bedienende, wenn auch antik aussehende webbasierte Benutzeroberfläche. Das Tool skaliert sehr gut von kleinsten Einzelgeräteinstallationen bis hin zu komplexen Netzwerken mit vielen verschiedenen WAN-Standorten.

Cacti, das im Kern ein Frontend für die RRDtools ist, verwendet SNMP, um Daten abzurufen, die es in einer SQL-Datenbank speichert. Es ist in PHP geschrieben und kann an Ihre Bedürfnisse angepasst werden. Eines der stärksten Merkmale des Produkts ist die Verwendung von Vorlagen. Es gibt beispielsweise integrierte Vorlagen für Cisco-Router, die bereits die meisten Elemente enthalten, die Sie möglicherweise auf solchen Geräten überwachen möchten. Aber es gibt nicht nur Gerätevorlagen, sondern auch Diagrammvorlagen. Zusammen erleichtern Vorlagen die Konfiguration der Software erheblich. Sie können auch Ihre eigenen benutzerdefinierten Vorlagen erstellen, wenn noch keine geeigneten verfügbar sind. Außerdem können viele gerätespezifische Vorlagen von den Websites der Gerätehersteller heruntergeladen werden, und mehrere von der Community betriebene Cacti-Foren bieten sie zum Download an.

10. Munin

Munin ist ein weiteres GUI-Frontend für RRDtools, es ist in Perl geschrieben und unter der GPL lizenziert. Es ist ein gutes Tool zur Überwachung der Leistung von Netzwerken, Systemen, Anwendungen und Diensten. Es funktioniert auf allen Unix-ähnlichen Betriebssystemen und verfügt über ein hervorragendes Plugin-System mit etwa 500 verschiedenen verfügbaren Plugins, um fast alles zu überwachen, was Sie in Ihrem Netzwerk wollen.

Munin stellt alle gesammelten Informationen in Diagrammen auf einer Weboberfläche dar, aber seine Hauptstärke besteht darin, wie es sich auf vergleichende Analysen stützt, um zu versuchen, zu identifizieren, was sich geändert hat, um eine Leistungsverschlechterung zu verursachen. Ein Benachrichtigungssystem ist verfügbar, um Nachrichten an den Administrator zu senden, wenn ein Fehler auftritt oder wenn der Fehler behoben wurde.