Visualisierungstools für REST-basierte Dienste

Visualisierungstools für REST-basierte Dienste

Nehmen wir an, es gibt einen Cluster/eine Reihe von Prozessen, die über REST/HTTP kommunizieren (das könnte heutzutage eine ganze Menge Produkte beschreiben). Was ist eine gute und einfache Möglichkeit, die Kommunikation zwischen ihnen in einer Art ansprechendem visuellen Tool anzuzeigen? Sie können Zookeeper-orchestriert sein, müssen es aber nicht. (Wenn sie sich außerdem auf derselben Maschine befinden, könnte ich idealerweise netstat verwenden, um herauszufinden, wer wen anruft – es wäre schön, wenn alles irgendwie verfügbar wäre). Muss unter Linux funktionieren.

Ja, ich weiß, dass ich Proxys usw. verwenden kann, aber das erfordert eine Menge manuelle Arbeit. Wireshark und ähnliches machen noch mehr Arbeit. Ich frage mich, ob es für so etwas eine schlüsselfertigere Lösung gibt.

Ein Ansatz basiert zwar auf Wireshark, ist aber darauf ausgerichtet, nur HTTP-Verkehr mit bestimmten Kriterien anzuzeigen, was bereits funktioniert.

Der Grund, warum Zookeeper erwähnt wird, ist vielleicht, dass eine andere Möglichkeit darin besteht, Zookeeper abzufragen, die dort vorhandenen Ports durch Proxy-Ports zu ersetzen und den gesamten Datenverkehr über diese zu leiten – aber ich hätte gerne etwas, das bereits funktioniert.

Antwort1

Wenn Sie nur wissen müssen, wer wen anruft (nicht die Einzelheiten des Gesprächs), können Sie die Protokollierung auf Netzwerkebene über iptables erhöhen, die Syslogs dann zentral sammeln und in die gewünschte Form bringen. Oder Sie können etwas wie ntop/nprobe verwenden, um zusammengefasste Verbindungsdaten auf jedem Host zu sammeln und diese dann an ein zentrales NetFlow-Berichtstool weiterzuleiten. Abhängig von Ihrer Umgebung können Sie diese Daten sogar von Ihrer Netzwerkhardware sammeln.

Wenn Sie mehr über das Gesagte wissen müssen, benötigen Sie Proxys. Dabei kann es sich jedoch auch um einfache Proxys handeln, die auf demselben Server ausgeführt werden und ihre Protokolle zur Analyse an einen zentralen Server übermitteln.

Die beste Lösung besteht darin, Ihre Software so zu ändern, dass sie eine eigene Protokollierungsfunktion enthält, selbst wenn diese nur im „Debug-Modus“ auftritt, sodass Sie diese auch zum Beheben zukünftiger Probleme verwenden können.

Siehe auch: http://www.tokiwinter.com/adding-logging-to-iptables-under-centos/

verwandte Informationen