Verfügbarkeit von Webseite überwachen

Hallo zusammen,
ich würde gerne die Verfügbarkeit meiner fremdgehosteten Webseite überwachen. Wie, und in welcher Sprache würdet Ihr sowas realisieren?

Gruß der Janus

PS: Gibt es vielleicht schon fertige Lösungen?

hi janus,

Hallo zusammen,
ich würde gerne die Verfügbarkeit meiner fremdgehosteten
Webseite überwachen. Wie, und in welcher Sprache würdet Ihr
sowas realisieren?

es kommt darauf an, was du bei ausfall machen moechtest, aber im allgemeinen sollte ein einfaches ping reichen, aufgerufen von einem shell script. die frage ist natuerlich, wie willst du dich von dem ausfall benachrichtigen lassen? ausserdem, waere es natuerlich gut zu wissen unter welchem BS das ganze laufen soll. also das skript. reicht moeglicherweise ein ‚beep‘ unter linux, oder aber unter windoof ein sich oeffnendes fenster mit einer warnmeldung das der server nicht online ist?

fragen ueber fragen

cu josh

Gruß der Janus

PS: Gibt es vielleicht schon fertige Lösungen?

Hi Josh,
vielen Dank für deine Antwort. Mir geht es eigentlich nur darum, eine Art Service Level Monitor zu haben, der mir am Ende vom Monat sagen kann, dass meine Startseite xyz Minuten lang nicht erreichbar war. Ich würde hierfür meinen Heimrechner (XP oder Linux - mit DSL-Flat im Netz) benutzen wollen.

Idealerweise würde das gesuchte (oder noch zu schreibende) Programm die zurückbekommene HTML-Seite mit Bildern, etc. mit einem Zeitstempel im Dateinamen abspeichern, um die Korrektheiit der Darstellung zu überwachen (schließlich senden manche Provider nette 404 Meldungen, die dann aber dokumentiert wären).

Gruß der Janus

Mir geht es eigentlich nur
darum, eine Art Service Level Monitor zu haben, der mir am
Ende vom Monat sagen kann, dass meine Startseite xyz Minuten
lang nicht erreichbar war. Ich würde hierfür meinen
Heimrechner (XP oder Linux - mit DSL-Flat im Netz) benutzen
wollen.

wahrscheinlich wirst du damit nur die verfuegbarkeit deiner dsl-flatrate dokumentieren.

um so etwas tatsaechlich zu dokumentieren muesste man von verschiedenen rechnern, die an unterschiedlichen backbones haengen tatsaechlich die seite aufrufen. mit einem einzigen aufruf pro pruefung kannst du auch nix testen, manchmal haegnt einfach ein aufruf, dann wuerdest du einen ausfall dokumentieren, den es gar nicht gab.

moeglicherweise gibt es fuer solche anwendungen dienste, mir ist keiner bekannt.

wenn der server auf einen ping antwortet heisst das noch lange nciht, dass auch webseiten asugeliefert werden.

Hallo Janus

Wir haben das in der Firma mit einer kleinen Java-Applikation gelöst, die Seiten überprüft, den Inhalt allenfalls zwischenspeichert und aus der gleich noch Sms an bestimmte Nummern versendet werden, wenn die Seite nicht erreichbar ist. Wenn Du Dich mit Java (oder einer anderen Programmiersprache) auskennst, brauchst Du ca einen Tag um sowas zu realisieren.

Der Einwurf von Josh ist aber berechtigt, deshalb wäre es optimal, wenn Du das Tool auf dem Webserver laufen lassen könntest. Dann überprüfst Du dann wirklich, ob der Server gelaufen ist, oder nicht.

Grüsse
Andrea

hi nochmal,

hier noch ein vorschlag. wenn du dsl hast, wirst du wahrscheihnlich tatsaechlich eher deinen dsl verfuegbarkeit dokumentieren. wenn du willst das die tatsaechliche online sein deines servers getestet wird, dann musst du dass script auf deinem server laufen lassen,

dann kannst du folgendes tuen:

du pingst dich (localhost) // damit kannst du pruefen ob dein webserver noch oben ist, und um zu ueberpruefen, ob dein server noch online ist pingst du eine oder mehrere seiten im netz, die online sein sollten, hierfuer bieten sich wohl server grosser firmen an. obgleich das natuerlich auch keine gewaehrleistung ist. pingst du aber mehrere server, kannst du nahezu ausschliessen, dass da was schieflaeuft. wenn da was schieflaeuft, legst du in diesem fall einen positivbericht (vermerkst also immer wann dein server gut reagiert hat) an, sowie natuerlich fuer den ping einen negativbericht. (ist besser, da dieser wiederum auch offen legt, ob dein server ueberhaupt an war). diese berichte kannst du dann wiederum mit einem einfachen script auslesen, und anschliessend alle moeglichen schoenen statistiken erstellen. ach ja:

eigentlich muesste ja auch der webserver einen bericht erstellen wann er runtergeht. oder aber auch neu gestartet wird.

ich glaube da gibt es eine menge moeglichkeiten.

ob ich allerdings hier mit einem in java konstruierten prog arbeiten wuerde…eher mit perl oder einer anderen script sprache, erheblich weniger entwicklungskoten…

aber ich kann mich gerade nicht fuer einen einfachsten entscheiden.

kommt natuerlich auch darauf an wie viele ausfaelle man erwarten darf. ob dass dann auch von einem menschen ausgewertet werden kann…

naja,

wie auch immer, viel spass beim loesungen suchen…

cu josh

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dank an alle
Hallo zusammen,
vielen Dank für eure Hilfe und Denkanstösse. Ich habe einen Weg gefunden, der zwar mit grossem Kaliber auf Spatzen schiesst, aber im kommerziellen Umfeld Sinn macht:

Oracle kennt das PL/SQL-Package UTL_HTTP. Dieses habe ich in eine Jobsteuerung (DMBS_JOB) eingebaut und lese mir jetzt alle 5 Minuten den HTML-Text der Seite in eine DB-Tabelle. So ist alles relevante dokumentiert und kann gut recherchiert werden.

Gruß der Janus

PS (aus der Oracle Dokumentation):

The following examples demonstrate how to use UTL\_HTTP.
Example: Using UTL\_HTTP

SET serveroutput ON SIZE 40000

DECLARE
 req utl\_http.req;
 resp utl\_http.resp;
 value VARCHAR2(1024);
BEGIN

 utl\_http.set\_proxy('proxy.my-company.com', 'corp.my-company.com');

 req := utl\_http.begin\_request('http://www-hr.corp.my-company.com');
 utl\_http.set\_header(req, 'User-Agent', 'Mozilla/4.0');
 resp := utl\_http.get\_response(req);
 LOOP
 utl\_http.read\_line(resp, value, TRUE);
 dbms\_output.put\_line(value);
 END LOOP;
 utl\_http.end\_response(resp);
EXCEPTION
 WHEN utl\_http.end\_of\_body THEN
 utl\_http.end\_response(resp);
END;