Neues Admin-Tool: Httpdiff hilft bei Fehlersuche und Analyse von Webservern

Mit httpdiff ist dieser Tage ein neuer Kommandozeilenhelfer herausgekommen, der Administratoren helfen kann, Fehler bei umgezogenen Webservern aufzuspĂĽren. GegenĂĽber der Log-Datei-Analyse kann das viel Zeit sparen.

In Pocket speichern vorlesen Druckansicht 21 Kommentare lesen
Webserver vergleichen

(Bild: John Graham-Cumming)

Lesezeit: 2 Min.
Von
  • Reiko Kaps

Das von John Graham-Cumming geschriebene und kürzlich auf Github veröffentliche Kommandozeilen-Tool httpdiff schickt identische Anfragen an zwei HTTP-Server und führt deren Antworten übersichtlich zum Vergleich auf. So vereinfacht httpdiff die Analyse von Webserverfunktionen etwa in einem Cluster oder hilft bei der Fehlersuche nach einem Webserver-Umzug.

Das Kopieren der Serverkomponenten, zum Beispiel von einem Hoster zum anderen, ist bei einem Umzug nur der erste Schritt. Programme, Skripte und Konfigurationen landen dann zwar in der Regel als 1:1-Kopien auf dem Ziel, aber erst nach dem Start erweist es sich, ob der Admin umgehend andere Aufgaben angehen kann. Wegen unterschiedlicher Library-Versionen oder verschiedener SSL-Implementierungen kommt es durchaus vor, dass sich die Server-Kopie anders verhält als das Original und manche Anwendungen ohne ersichtlichen Grund nicht laufen. Die Fehlersuche in Log-Dateien der Server und die Analyse der HTTP-Kommunikation mit eigenen Skripten (z. B. unter Einsatz von Curl, Befehlen der OpenSSL-Suite und diff) hilft zwar weiter, braucht aber mehr Aufwand. Das neue httpdiff erspart das, indem es detaillierte Darstellungen des Kommunikationsablaufs liefert.

Der Quellcode des Tools setzt die Go-Entwicklungsumgebung voraus. Ist diese an Bord, kann man httpdiff mit den beiden Befehlen

go get github.com/jgrahamc/httpdiff 
go install github.com/jgrahamc/httpdiff

kompilieren und einrichten. Laut Graham-Cumming lassen sich die Ergebnisse am besten in einem Unix-Terminal anzeigen, das ANSI-Escape-Sequenzen versteht. Mittels Kommandozeilenparametern kann man httpdiff veranlassen, bei Abfragen etwa die Header-Angaben zum Host zu überschreiben, Header-Einträge von der Analyse auszuschließen oder eine bestimmte HTTP-Methode zu verwenden. (rek)