
Ich betreibe einen Webserver (Debian Squeeze auf einem VPS) und die Diagramme des Hosting-Unternehmens zeigen durchgängig, dass der eingehende Datenverkehr auf dem Server etwa doppelt so hoch ist wie der ausgehende Datenverkehr. Das verwirrt mich ein wenig, deshalb möchte ich auf dem Rechner eine Art Protokollierungsprogramm ausführen, das nicht nur die Upload-/Download-Zahlen bestätigt, sondern sie auch nach den beteiligten Remote-Hosts aufschlüsselt, damit ich sehen kann, ob ein großer Teil des eingehenden Datenverkehrs von einer bestimmten Quelle stammt.
Ich vermute, dass der Großteil des ausgehenden Datenverkehrs über Apache läuft, der eingehende Datenverkehr jedoch möglicherweise größtenteils über Apache läuft oder von anderen Skripten und Cron-Jobs dominiert wird. Daher wäre mir ein Tool lieber, das den Datenverkehr auf Schnittstellenebene überwacht, und nicht etwas innerhalb von Apache.
Idealerweise hätte ich gerne ein Tool, das ich ein paar Tage lang laufen lassen kann und dann zurückkomme und eine Ausgabe von „Bytes pro Remote-Host“ für eingehenden und ausgehenden Datenverkehr erhalte.
Ist dies mit einem Standard-Linux-Tool und ein wenig Konfiguration möglich (wenn ja, wie?) oder mit einem speziellen Programm (wenn ja, welches?)
Antwort1
ntopist hierfür wahrscheinlich die beste Lösung. Es ist für den Langzeitbetrieb konzipiert und erfasst genau das, wonach Sie suchen.
Es kann Ihnen zeigen, welche Remote-Ziele am häufigsten verwendet werden, wie viel Datenverkehr dorthin/von wo gesendet wurde, welche Protokolle und Ports verwendet wurden usw. Dasselbe kann es für die Quellhosts tun, wenn Sie es auf einem Router ausführen, sodass Sie dieselben Statistiken auch auf lokalen Clients sehen können.
Anschließend wird eine Web-GUI verwendet, um durch diese Informationen zu navigieren und sie anzuzeigen.
Antwort2
Wenn Sie root haben, können Sie einfach tcpdump
alles verwenden und greifen. Sie können es dann inWiresharkund analysieren Sie nach Herzenslust.
$ sudo tcpdump -i <interface> -w mycapture.tcpdump
... und drücken Sie dann Strg-C, wenn Sie genug haben. Führen Sie es in einer screen
Sitzung aus, wenn Sie es trennen müssen usw.
Standardmäßig wird nur der erste Teil jedes Pakets erfasst, aber da Sie hauptsächlich an der Ursprungsanalyse interessiert sind, sollte das kein Problem sein.Unzählige andere Optionen für tcpdumpwenn Sie abenteuerlustig sind.
BEARBEITEN: Sobald Sie Wireshark geladen haben, können Sie einfach die Menüoption verwendenStatistiken|IP-Adressen...und erhalten Sie eine übersichtliche Übersicht über den Datenverkehr nach Anzahl/Rate/Prozent:
Antwort3
Und für fortgeschrittenere Metriken können Sie etwas wie verwendenMonitorixdie über Module für die meisten gängigen Dienste verfügen und ganz einfach sind:
apt-get install monitorix
Außerdem haben SieKakteenein vollständiges GUI-RDDtool, aber nicht in Echtzeit.
Und in der Top 1 für mich ist es die multikonfigurierbaregrafana. Es ist ein bisschen schwieriger zu installieren und zu konfigurieren, aber es ist einfach perfekt, Sie können alles detailliert und in Echtzeit messen. Es erfordert einige Abhängigkeiten JVM, Graphit, Whisper, ... einige Kenntnisse über JSON, aber funktioniert wie ein Zauber. Ich kann es wirklich empfehlen!
Vielleicht wäre eine gute Konfiguration für Ihren Fall:
collectd + graphite + whisper + grafana
Tatsächlich hat Grafana mein Leben im Büro verändert.
Antwort4
Sicher ;)
https://github.com/graphite-project/whisper
Wenn Sie außerdem eine Mini-Anleitung zum Anschließen aller Komponenten wünschen: https://linuxboss.wordpress.com/2015/12/03/graphite-grafana/