Webseite überwachen: Wie macht man sowas heutzutage?
Webseite überwachen: Wie macht man sowas heutzutage?
Hallo,
ich möchte gerne in regelmäßigen Abständen überprüfen, ob eine Webseite
offline ist.
Momentan überprüfe ich den Rückgabewert von OpenNetworkConnection().
Allerdings bin ich mir unsicher, ob das so die beste Methode ist.
Wie würdet Ihr das machen?
Grüße ... Kiffi
ich möchte gerne in regelmäßigen Abständen überprüfen, ob eine Webseite
offline ist.
Momentan überprüfe ich den Rückgabewert von OpenNetworkConnection().
Allerdings bin ich mir unsicher, ob das so die beste Methode ist.
Wie würdet Ihr das machen?
Grüße ... Kiffi
a²+b²=mc²
An deiner Stelle würde ich auf jeden Fall auf den HTML-Quelltext achten, denn auch wenn eine Webseite offline ist, kann es sein, dass der Hoster eine andere HTML-Seite vorlegt, in der die vorrübergehende Unerreichbarkeit des Webangebots erklärt wird.
Ich behaupte einfach mal, es gibt immer ein Element, das auf der Webseite gleich ist: Der Titel, ein Logo, ein bestimmter Satz/Name der Homepage auf der Seite...
Nicht nur auf den HTML-Quelltext achten, sondern auch ob die Verbindung an sich aufgebaut werden kann, um die Daten zu empfangen. Dies ist vielleicht keine 100%ige Methode, aber immerhin zuverlässiger als nur auf die Verbindung zu achten.
Ich behaupte einfach mal, es gibt immer ein Element, das auf der Webseite gleich ist: Der Titel, ein Logo, ein bestimmter Satz/Name der Homepage auf der Seite...
Nicht nur auf den HTML-Quelltext achten, sondern auch ob die Verbindung an sich aufgebaut werden kann, um die Daten zu empfangen. Dies ist vielleicht keine 100%ige Methode, aber immerhin zuverlässiger als nur auf die Verbindung zu achten.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Hallo AND51,
erstmal danke für Deine schnelle Antwort!
abstirbt. Warum der IIS manchmal seinen Geist aufgibt, weiß ich noch nicht.
Bis meine Kollegen das herausgefunden haben (ist eine umfangreichere
Website), muss eine Art WatchDog her, der das ganze überwacht und mich
dann benachrichtigt, damit ich schnellstmöglich den IIS neu starten kann.
Grüße ... Kiffi
erstmal danke für Deine schnelle Antwort!
ich habe vergessen zu erwähnen, dass die Website ausfällt, weil der IISAND51 hat geschrieben:An deiner Stelle würde ich auf jeden Fall auf den HTML-Quelltext achten, [...]
abstirbt. Warum der IIS manchmal seinen Geist aufgibt, weiß ich noch nicht.
Bis meine Kollegen das herausgefunden haben (ist eine umfangreichere
Website), muss eine Art WatchDog her, der das ganze überwacht und mich
dann benachrichtigt, damit ich schnellstmöglich den IIS neu starten kann.
Grüße ... Kiffi
a²+b²=mc²
Hm... Also wenn, dann fällt der Werbserver (das Programm) aus und nicht der Server selbst...? Das würde bedeuten, dass z. B. anpingen nichts bringt, weil ja eben der Server an sich erreibar ist, nur der Server an Port 80 kracht zusammen.
Ich hoffe, das ist kein Denkfehler, aber mit der von mir beschriebenen Methode dürftest du eigentlich recht gut bedient sein:
Egal, ob ich mit PB eine Seite anfordere, oder dies mit meinem Browser tue; kann ich die Seite nicht laden (Error 404), dann ist die Webseite nicht erreichbar.
Kackt, der HTTP-Webserver an Port 80 ab, dürfte OpenNetworkConnection() eine annehmbare Lösung sein. Aber wie gesagt, möglicherweise bekommt man doch eine Verbindung zustande und es wird eine andere HTML-Seite zwischengeschoben, wie oben erklärt. In diesem Falle wäre die OpenNetworkConnection()-Methode so ungenau, dass sie ein falsches Ergebnis liefert.
Alternative Lösung: Ich gehe mal davon aus, der Server unterstützt HTTP/1.1?
Dann bau eine Verbindung auf, sende einen HTTP-Header und lass die Verbindung offen! Gib beim "Connection"-Attribut einfach "keep-alive" an!
So kannst du über ein und dieselbe Leitung mehrere HTML-Dokumente anfordern, ohne jedes Mal eine neue Verbindung aufbauen zu müssen.
Der Trick: Fordere einfach im Abstand von 1 Minute irgendeinen Firlefanz an oder verschicke Requests mit "HEAD" statt "GET". Kriegst du überhaupt eine gültige Antwort, scheint der Server ja noch da zu sein, ansonsten ist er weg.
Ich hoffe, das ist kein Denkfehler, aber mit der von mir beschriebenen Methode dürftest du eigentlich recht gut bedient sein:
Egal, ob ich mit PB eine Seite anfordere, oder dies mit meinem Browser tue; kann ich die Seite nicht laden (Error 404), dann ist die Webseite nicht erreichbar.
Kackt, der HTTP-Webserver an Port 80 ab, dürfte OpenNetworkConnection() eine annehmbare Lösung sein. Aber wie gesagt, möglicherweise bekommt man doch eine Verbindung zustande und es wird eine andere HTML-Seite zwischengeschoben, wie oben erklärt. In diesem Falle wäre die OpenNetworkConnection()-Methode so ungenau, dass sie ein falsches Ergebnis liefert.
Alternative Lösung: Ich gehe mal davon aus, der Server unterstützt HTTP/1.1?
Dann bau eine Verbindung auf, sende einen HTTP-Header und lass die Verbindung offen! Gib beim "Connection"-Attribut einfach "keep-alive" an!
So kannst du über ein und dieselbe Leitung mehrere HTML-Dokumente anfordern, ohne jedes Mal eine neue Verbindung aufbauen zu müssen.
Der Trick: Fordere einfach im Abstand von 1 Minute irgendeinen Firlefanz an oder verschicke Requests mit "HEAD" statt "GET". Kriegst du überhaupt eine gültige Antwort, scheint der Server ja noch da zu sein, ansonsten ist er weg.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Afaik gibt es Programme, die bei einem Fehler oder Absturz des Webservers eine eMail verschicken.
Frag mich aber nicht, wie die heißen.
Um zu Prüfen, ob der Remote Server noch da ist, reicht ein Ping pro Minute oder so aus.
Frag mich aber nicht, wie die heißen.
Um zu Prüfen, ob der Remote Server noch da ist, reicht ein Ping pro Minute oder so aus.
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
@AND51: Ich muss mal prüfen, inwieweit Deine Ausführungen bei uns
angewendet werden können. Melde mich gleich wieder...
Mailversende-Funktion. Damit kann ich keine Mail an unseren SMTP-Server
senden. Aus diesem Grund will ich ja gerade mein eigenes Tool schreiben
Grüße ... Kiffi
angewendet werden können. Melde mich gleich wieder...
z.B. HTTPPoll. Funktioniert soweit auch recht gut, bis auf dieLaurin hat geschrieben:Afaik gibt es Programme, die bei einem Fehler oder Absturz des Webservers eine eMail verschicken.
Frag mich aber nicht, wie die heißen.
Mailversende-Funktion. Damit kann ich keine Mail an unseren SMTP-Server
senden. Aus diesem Grund will ich ja gerade mein eigenes Tool schreiben

Geht leider nicht. Ping ist bei diesem Server abgeschaltet worden.Laurin hat geschrieben:Um zu Prüfen, ob der Remote Server noch da ist, reicht ein Ping pro Minute oder so aus.
Grüße ... Kiffi
a²+b²=mc²
guter Einwand. Allerdings sprechen ein paar Punkte dagegen:bommel hat geschrieben:Wieso willst Du eigentlich benachrichtigt werden und den IIS selbst neu starten. Laß das Programm doch direkt auf dem Server laufen und bei Bedarf auch gleich den IIS restarten.
1. möchten wir vor dem Neustarten schauen, wie groß die
Speicherauslastung ist und welche Prozesse welchen prozentualen Anteil
davon belegen
2. erhoffen wir uns beim nächsten Stillstand durch diverse Analysen (auch
des COM-Servers, der ebenfalls involviert ist) herauszufinden, woran es
liegen könnte, dass der IIS nicht mehr antwortet.
3. und last but not least ist mir der Aufwand, eine Routine zum Neustarten
des IIS zu schreiben und dann auch dementsprechend zu testen, einfach
zu groß

Grüße ... Kiffi
a²+b²=mc²