Login schließen
Hinweis: In Ihrem Browser müssen Cookies und JavaScript aktiviert sein!
Login login

Rosmarin ist eine PHP-Software, mit der die Verfügbarkeit von Webseiten und Mailservern überwacht werden kann.

Seinen Anfang nahm Rosmarin im Jahre 2011, als ich mit zwei weiteren Leuten eine Webseite für unseren Verein eingerichtet habe. Zum ersten mal selbst einen Apache und einen Postfix eingerichtet, dazu ein selbst­geschriebenes Content-Management-System und eine Mailkonten­verwaltung im Alpha-Stadium* – da kann es schon mal vorkommen, dass irgendetwas nicht ganz rund läuft.

Nach einigen kleineren Ausfällen hielten wir es für eine gute Idee, den Server zu überwachen. Der Plan war, in einem preiswerten Hosting-Angebot eine PHP-Software zu installieren, die das erledigt. Im Internet findet man durchaus PHP-Software zur Serverüberwachung und auch unser Serveranbieter stellte ein Tool zur Überwachung bereit. Allerdings testen diese Softwares alle nur, ob der Server auf einem bestimmten Port ansprechbar ist – teilweise wird noch der HTTP-Statuscode von Webseiten überwacht. Ich wollte aber den Inhalt einer Webseite überwachen und testen, ob der Mailserver Emails auch wirklich zustellt. Natürlich gibt es auch ausgewachsene Monitoring-Lösungen wie Nagios, die so etwas beherrschen, aber die geben sich nicht mit einem FTP-Zugang und einem PHP-Interpreter zufrieden.

Also habe ich selbst ein PHP-Script geschrieben, das stündlich die Webseite aufruft und prüft, ob der Seiteninhalt noch der gleiche ist (Natürlich wird nicht die Startseite überwacht, die sich doch regelmäßig ändert, sondern eine Unterseite). Außerdem wird jede Stunde eine Email an ein dafür eingerichtetes Mailkonto gesendet und anschließend überwacht, ob die Email auch ankommt. Wenn ein Fehler auftritt, dann gibt es Alarm per Email.

Am Anfang waren es nur 150 Zeilen Code, die Email-Daten waren hartkodiert, die URLs und die md5-Summen der Seiteninhalte waren in einer Textdatei gespeichert. Jedes mal, wenn sich an der Vereinsseite etwas änderte, musste ich per FTP die Textdatei anpassen. Schließlich habe ich mich daran gemacht, eine Weboberfläche dazu zu programmieren und noch ein paar Einstellmöglichkeiten hinzuzufügen – das Ergebnis gibt es hier zum Download.

 

Anforderungen:

  • Einen zusätzlichen Webserver (logisch – es ist nicht schlau, Rosmarin auf dem Server zu installieren, der überwacht werden soll)
  • PHP Version 5.1 oder höher
  • MySQL Version 5.0 oder höher
  • Für die Webseiten-Überwachung: PHP-Curl-Erweiterung (Die Webseitenüberwachung funktioniert mit einigen Einschränkungen auch ohne Curl, falls allow_url_fopen aktiv ist)
  • Für die Mailserver-Überwachung: PHP-Imap-Erweiterung
  • Ein Cronjob für die regelmäßige Prüfung (wenn der Webserver selbst keine Cronjobs bietet, kann ein Onlinedienst (z.B. cronjob.de) genutzt werden

Demo:

http://www.ungelesen.net/rosmarin-demo

Changelog:

0.9.4 (16. Februar 2015)

  • Warnungen wegen zu selten ausgeführtem Cronjob können auch durch Aufruf der Weboberfläche ausgelöst werden
  • Tests lassen sich ein- und ausklappen. In der Standardeinstellung sind Tests ohne Fehler eingeklappt
  • Beim Anlegen von neuen Webtests wird der Erwartungswert automatisch gesetzt
  • Bugfixes

0.9.3 (05. Februar 2015)

  • zusätzliche Einstellungsmöglichkeiten für die Email-Benachrichtigungen
  • Logs können nach Status (ok / fehlerhaft) gefiltert werden
  • Anzahl der parallel durchgeführten Tests kann begrenzt werden
  • Bugfixes

0.9.2 (18. November 2013)

  • erste veröffentlichte Version

Download:

Rosmarin 0.9.4
Rosmarin 0.9.3
Rosmarin 0.9.2

Screenshots:

 

* Obwohl VBoxAdm damals noch im Alpha-Stadium war, war es durchaus für den Produktiveinsatz geeignet. Es war die beste Weboberfläche zur Mailsystem-Verwaltung die wir finden konnten.