Website Monitoring mit #PHP? LiveTest !

 

LiveTest ist ein schlankes Monitoring Tool für Webseiten. Es ist auf die Überwachung unterschiedlichster Faktoren eines Webauftritts ausgelegt und bietet dank flexibler Architektur ideale Voraussetzungen für Erweiterungen. Interessante Features sind z.B. die Überwachung von HTTP Status Codes, Prüfung von HTML Dokumenten auf vorhandene/nichtvorhandene Strings, Suche nach regulären Ausdrücken und die Überwachung der Seitengröße. Einmal als Cronjob eingerichtet meldet es zuverlässig alle Abweichungen vom Normalzustand. Initiator und Hauptentwickler von LiveTest, Nils Lagner von phphatesme.com, hat da ein echt tolles Projekt ins Leben gerufen!

LiveTest bietet dank einer streng objektorientierten Implementierung mehr als optimale Voraussetzungen um benötigte TestCases schnell und sauber implementieren zu können. TestCases sind vereinfacht dargestellt PHP Klassen in denen konkrete Tests abgebildet werden. Die Applikation basiert nicht unmittelbar auf dem Zend Framework, macht sich aber einige der Klassen dieser mächtigen Bibliothek zu nutze. Für eigene TestCases steht damit allerdings eine sehr umfangreiche Basis bereit und eine ganze Reihe an Möglichkeiten entsteht. Z.b. habe ich irgendwann mal ein Tool gesucht das automatisch HTML Dokumente validieren kann. Da ich finde dass LiveTest wie geschaffen für derartige Anwendungen ist fehlte aus meiner Sicht ein Validator für HTML. Den habe ich in den letzten Tagen als TestCase implementiert. Nach ein paar Anpassungen die ich in Absprache mit Nils noch gemacht habe wird er nun in LiveTest aufgenommen. Das freut mich natürlich! 😉 Wer ebenfalls mithelfen möchte dieses sinnvolle Tool zu entwickeln sollte unbedingt auf der neuen Webseite vorbeischauen (Achtung: noch ganz neu) und LiveTest bei Github besuchen.

Das Tool ist aber nicht nur rein pragmatisch betrachtet toll. Es wird in PHP entwickelt und ist wirklich super strukturiert. Ein Musterbeispiel für aufgeräumten und sauberen PHP Code. Der Quellcode wird von Unittests abgedeckt (mein Validator übrigens auch), native PHP Namespaces die seit PHP 5.3 zur Verfügung stehen strukturieren den Quellcode und Events/Listener führen zu einer klaren Trennung von Verantwortlichkeiten der Klassen. Alles in allem bin ich von der Applikation total begeistert. Noch vor ca. einem Jahr hätte ich derartige Aufgaben aus dem Bauch heraus von Python erledigen lassen. LiveTest ist eine Anwendung mehr die zeigt dass PHP auch dafür bestens geeignet ist. Alles in allem merkt man dass viel Liebe und kreative Energie schon in die Planung geflossen sind. Und genau das macht LiveTest auch für Entwickler interessant. Saubere PHP Entwicklung die für jeden überschaubar ist. Es soll sogar Leute geben die auch heutzutage von objektorientierter Programmierung nichts halten. Hier zeigt es sich am Beispiel welche Vorteile ein elegantes Software Design haben kann. Also unbedingt mal anschauen!