Ich habe einen selbstgehosteten VPS-Server und möchte seinen Status immer in der Taskleiste meines Heimcomputers sehen (ob er erreichbar ist oder nicht). Zu diesem Zweck habe ich ein einfaches Bash-Skript geschrieben, das so aussieht:
#! /bin/bash
while true
do
if ping -c 1 -W 1 vps > /dev/null
then
# Draw green icon in the tray
else
# Draw red icon in the tray
fi
sleep 1
done
Das ist alles. Können solche kontinuierlichen Anfragen einen bedeutenden Einfluss auf die Bandbreite haben und kann ein Hosting-Anbieter ein solches Verhalten als verdächtig betrachten? Gibt es bessere Möglichkeiten, die Konnektivität zu überwachen?
Antwort1
Der Kommentaraustausch brachte mich dazu, tiefer über die Frage nachzudenken, und das führte schließlich zu einem Gedankengang, der eine tatsächliche Antwort rechtfertigte.
Die Antwort ist nein. Pinging ist keine gute Methode, die Verbindung zu einem VPS zu überwachen, wenn Sie wissen möchten, ob der VPS aktiv oder inaktiv ist.
Ein Ping (oder eine ICMP-Anfrage) in dieser Frage sendet ein kleines Paket von Ihrem Computer an Ihren Router, an das Internet, an das Rechenzentrum, an deren Router und möglicherweise an einen Server und schließlich an Ihre virtuelle Instanz auf diesem Server.
Rechenzentren verfügen häufig über intelligente Switches in ihrem Netzwerk, die ICMP-Anfragen erkennen. Diese Switches reagieren und bestätigen Ihre ICMP-Anfrage. Durch Pingen erfahren Sie nicht, ob Ihr VPS läuft oder nicht.
Wenn Sie außerdem von Ihrem Computer aus einen Ping ausführen, treten irgendwo in Ihrem Netzwerk Probleme auf: z. B. eine schlechte Internetverbindung oder ein Modem/Router mit Problemen, der die ICMP-Anforderung nicht senden kann und eine fehlerhafte Anforderungsantwort zurückgibt. Angesichts des Pings an Ihren VPS kann dies zu der Annahme führen, dass der VPS ausgefallen ist, aber tatsächlich war es Ihr eigenes Internet, das nicht funktionierte.
Im Vergleich zu Rechenzentrumsnetzwerken und VPS-Servern kommt es in Heimnetzwerken weitaus häufiger zu Störungen.
Natürlich kann ein VPS ausfallen, aber die Verwendung von ICMP-Paketen gibt keine Auskunft darüber, ob dies der Fall ist oder nicht.
Wenn Sie einen VPS mieten, stellt der Anbieter in vielen Fällen auch eine Servicestatusseite zur Verfügung, die Sie aufrufen können. Diese Seite wird häufig automatisch von Überwachungstools generiert und ist genauer.
Darüber hinaus ist es auch möglich, Überwachungstools auf Ihrem VPS zu installieren, die sich regelmäßig bei einem Remote-Server anmelden. Wenn diese Anmeldung fehlgeschlagen ist, sagt der Remote-Server: „Hey, ich habe eine Anmeldung von Server X verpasst“ und sendet Ihnen eine E-Mail, wenn das beispielsweise fünfmal hintereinander passiert.
Letzteres ist für Sie die beste Lösung. Wenn Sie gut programmieren können, können Sie etwas Einfaches in PHP programmieren, allerdings benötigen Sie dafür einen anderen Webhosting-Dienst. Der VPS öffnet eine URL in einem Browser, die Seite aktualisiert sich alle 10 Sekunden und schreibt die letzte Aktualisierung in ein Protokoll. Ein Cron-Job auf demselben Webserver prüft die letzte Aktualisierung und sendet Ihnen eine E-Mail, falls sie zu lange her ist.
Wenn der VPS neu startet, müssen Sie den Browser natürlich erneut öffnen, aber es gibt Möglichkeiten, dies zu automatisieren.
Es gibt auch spezielle Programme zur Serverüberwachung, aber mir fällt spontan keins ein, das günstig ist.