Ist mein Server down ?

  • Original vom 20.01.2013


    Damit man eine Internetseite sehen kann, muss auch der "Internetrechner" ( = Server ) funktionieren und erreichbar sein.
    Die Reaktionsgeschwindigkeit des Servers ist dabei mit eins der wichtigsten Kriterien.


    Reagiert er schnell, langsam oder überhaupt nicht mehr ?
    Das kann man zunächst einmal mit einem PING feststellen.
    Der danach angezeigte Wert zeigt an, wie lange der Server für eine Reaktion braucht.


    Um eine Vergleichswert für spätere Zeiten zu haben , "pingt" man den Server am Besten dann, wenn die Seite sehr schnell öffnet.
    Jetzt hat man den objektiven Wert, um später sehen zu können, ob der Server langsamer geworden ist oder auch nicht.



    Der "PING" ist aber auch von der eigenen Internetanbindung abhängig. Er verlängert sich automatisch , wenn der eigene Provider "langsamer geworden ist". Hier sollte man also zusätzlich noch ein paar der bereits vorgestellten Test-Tools benutzen.


    Doch für einen ersten Schnell-Test genügt oft das "PIngen" vom eigenen Rechner.


    Das "Pingen" hat aber zwei Nachteile


    1) PING zeigt nur an, ob der Server auch reagiert
    Wenn der Server angegriffen oder überlastet wird, kann es auch sein, dass eine "Ping-Reaktion" erfolgt, auch ohne dass sich eine Seite öffnen lässt.


    2) PING zeigt nicht an, wie schnell ein eventuell benötigter Datenbank-Server reagiert
    Viele Funktionen einer Internetseite basieren auf Abfragen aus einer Datenbank. Wie schnell sich eine Internetseite öffnet ist daher vom Zusammenspiel des Webspace-Servers + Datenbankservers abhängig.


    Man kann jetzt natürlich den Datenbank-Server noch einmal extra "pingen" und dann beide Werte einfach addieren ...
    Leider ist das aber nur eine "Milchmädchen-Rechnung". Die beiden Server interagieren mit anderem Tempo zueinander als man sie von außen erreichen kann.


    Das Addieren der beiden Werte ist auch nicht erfolgversprechend , weil sich die Geschwindigkeiten im Internet in Sekundenbruchteilen ändern können. Ist bei "Sekunde 1" der Hauptserver sehr schnell erreichbar und bei "Sekunde 2" der Datenbanksever , so können sich beide Werte schon in "Sekunde 3" geändert haben.


    3 ) Ein weiteres Manko des "Pingen" ist, dass damit nur ein "Reaktionssignal" an den Server gesendet wird.
    Er gibt daraufhin ein ähnliches Signal als Antwort zurück. Diese Signale sind so kurz und klein, dass sie keinen Vergleich zur Zeit ermöglichen, wie lange es dauert, bis sich die Internetseite öffnen würde.


    Internetseiten sind ja größer als diese Ping-Signale. Es dauert also immer länger bis sich eine Seite öffnet.
    Zudem kommt noch hinzu, dass "Ping-Befehle" sozusagen auf der "untersten Ebene des Betriebssystems" ablaufen.. während das Öffnen einer Seite jedoch erst durch diverse Software (Betriebssystemoberfläche, Brower usw.) bewirkt wird und auch von der sonstigen Hardware abhängig ist.

    Eine Teil dieser Probleme kann ein Tool lösen, dass ich unter http://menzerath.eu gefunden habe.

    Es nennt sich "Is My Website Down" (IMWD) . Es wurde von Marvin Menzerath entwickelt und steht unter CC-Lizenz.


    Wir haben dieses Tool unter einem "Oldie-Betriebssystem" (Windows XP) getestet, damit wir sicher sein können, dass der Tipp nicht nur Lesern mit modernen Rechnern weiterhilft.
    Es funktioniert ganz genau so wie es angegeben ist und stellt daher ein nützliches Tool für den Betreiber einer Internetseite dar.


    Nach dem Start des Tools sieht man in der Taskleiste in kleines Symbol: Grün = alles in Ordnung, Rot = Server down.


    Man muss das Tool nicht installieren, sondern ruft einfach nur die kleine JAR-Datei auf.


    JAR-Datei ? Ja genau ! Diese Dateiart ist auch von Handys und Smartphones bekannt. Wenn ich mich nicht völlig irre, so sollte das Tool auch auf einem modernen Smartphone einsetzbar sein. Da es auf Java basiert, ist es nicht wichtig von welchem Hersteller das Smartphone ist. Ich habe jedenfalls die gleichen Strukturen gefunden, wie sie auch in "ganz normalen Apps" vorhanden sind.


    Wenn es auch auf einem normalen Smartphone läuft, ist es die ideale Kontrolle über die Erreichbarkeit der eigenen Internetseite.
    Man muss nicht extra vor einem Rechner sitzen, um den Status der Seite sehen zu können.


    Zur Intervalleinstellung habe ich noch einen Benutzer-Tipp:
    Wenn Server angegriffen werden, werden oft auch Sicherheitsmaßnahmen benutzt, die dazu führen, dass "Dauer-Schnell-Pinger" wie Angreifer betrachtet werden.
    Bei einer solchen Maßnahme werden dann Pings von dieser IP direkt abgewiesen. Das Tool würde also auch dann ein "Server-Down" melden, wenn die Seite erreichbar ist... einfach weil von deiner IP kein "Ping" mehr "akzeptiert" wird.

    Man sollte das Intervall deshalb auch so lang einstellen, dass es nicht dazu führen kann, dass man nicht in eine "solche Sperre läuft".

    Oft genügt es ja auch, wenn man alle 5 Minuten mal prüfen lässt.


    Für Smartphone-Besitzer ist es wichtig zu wissen, dass das Tool auf einen DSL-Anschluss ausgelegt ist.
    Auf dieser Geschwindigkeit beruht auch die Warnung, wenn die Seite die Prüfung nicht innerhalb von 3 Sekunden besteht.
    Um sie an Smartphone-Tempo anzupassen, muss man den entsprechenden Class-Code auf einen längeren Warnwert einstellen.
    Das kann eigentlich jeder, der sich schon mal mit Apps beschäftigt hat.
    Bitte dann aber auch die Lizenz beachten. Ein so geändertes Tooli also nicht einfach weiter geben


    Unser Fazit für dieses Server-Test-Tool:
    Sehr nützlich und einfach zu handhaben. Sehr empfehlenswert. :thumbsup::thumbsup::thumbsup: :thumbsup::thumbsup:


    Link zum Direkt-Download
    http://bit.ly/MMDownloads-IMWD
    Link zur ausführlichen Beschreibung und zu weiteren Infos:
    http://menzerath.eu/software/imwd/


    PS:
    Die Internetseite ist noch relativ neu und daher vielleicht noch nicht so bekannt. Ein Besuch lohnt sich aber auf jeden Fall, weil sie auch viele andere Technik-Infos bietet


    Update 17.02.2013:
    Wir erhielten die Info, dass der Direkt-Download nun unter einer neuen Adresse erreichbar ist. Der Link wurde deshalb geändert

  • Erstmal ein riesiges "Danke!" für den langen Beitrag und die Verlinkung. :thumbsup:
    Seit Januar haben sich ein paar Dinge verändert, die ich hier nochmal kurz erwähnen möchte:


    Changelog
    Aktuell ist Version 1.3.2 (04.09.2013), welche die folgenden Neuerungen (gegenüber der von dir getesteten Version) mitbringt:

    • Log-Dateien: Es können nun Log-Dateien angelegt werden, die entweder alle Tests mit Ergebnis festhalten oder nur Warnungen und Fehler beinhalten.
    • Keine Verbindung: Falls keine Internet-Verbindung besteht wird eine entsprechende Fehlermeldung angezeigt und kein "Seite nicht erreichbar"-Fehler.
    • Update-Check: Es wird nun unter einer neuen Adresse nach Updates gesucht. Weiterhin zeigt das Fenster nun auch den Changelog an.
    • Konsole: IMWD kann nun auch auf Servern oder generell unter Installationen ohne grafischer Nutzeroberfläche gestartet werden. Dazu einfach folgenden Befehl verwenden:
      Code
      1. java -jar imwd.jar


      Die aktuell verfügbaren Argumente sind "--nogui" (startet IMWD ohne grafische Nutzeroberfläche), "--usesettings" (startet den Check direkt mit den gespeicherten Einstellungen in der Konsole) sowie "--help" (selbsterklärend). Ein Aufruf sähe dann beispielsweise so aus:

      Code
      1. java -jar imwd.jar --nogui


    Geplante Funktionen
    Für spätere Versionen habe ich noch folgende Funktionen geplant:

    • Überwachung mehrerer Seiten gleichzeitig (--> entsprechende Mitteilungen durch das TrayIcon)

    Screenshots
    Sollten diese 2 Screenshots nicht angezeigt werden ist meine Seite leider kurzzeitig down...
    :pinch:


    [Blockierte Grafik: http://marvin-menzerath.de/images/software/imwd1.png] [Blockierte Grafik: http://marvin-menzerath.de/images/software/imwd2.png]


    Download
    Voraussetzung: Java 7
    Seit kurzem ist IMWD im heise.de Softwareverzeichnis zu finden, weshalb ich jedem den Download von dort empfehle:
    [Blockierte Grafik: http://www.heise.de/software/icons/download_logo1.png]
    Trotzdem hier noch ein Direktlink zur Datei: Klick mich!


    Alles weitere zum Programm gibt es auch hier: http://marvin-menzerath.de/software/imwd/

  • Vielen Dank für die Verbesserungen und Weiterentwicklung . :kbl:
    Damit die Grafiken dauerhaft sichtbar sind, habe ich sie mal von dir geholt und in den Beitrag hinein geladen.
    Nun macht es nichts mehr aus, wenn deine Seite kurzzeitig einmal nicht erreichbar ist ;)

  • Mit der eben veröffentlichten Version 2.0 haben sich nochmal ein paar Dinge geändert:

    • es können jetzt bis zu 3 Websites / Server gleichzeitig überwacht werden (Auswahl in der Menüleiste möglich)
    • einzelne Prüf-Verfahren können jetzt deaktiviert werden (Auswahl in der Menüleiste möglich)
    • um die Konsolen-Version zu nutzen, müssen die Parameter jetzt direkt beim Aufruf angegeben werden (s.u.) - falls keine Argumente übergeben werden, startet das User Interface
    • weitere kleine Bugfixes / Änderungen, die es nicht wert sind hier erwähnt zu werden ;)

    Der Aufruf zur Nutzung in der Konsole:

    Code
    1. java -jar IMWD.jar --url=http://website.de --interval=30


    Dabei muss immer ein "http://" vor der Adresse stehen und das Intervall wird in Sekunden angegeben. Dieses muss zwischen 10 und 600 Sekunden liegen (ansonsten ist eine sinnvolle Nutzung gar nicht möglich).
    Der Download ist weiterhin bei heise.de (s.o.) und im GitHub-Repository inkl. dem Java-Quelltext zu finden.

  • Vielen Dank, dass du die Weiterentwicklung zügig betreibst.


    Eigentlich sollte das Überprüfen von 3 Servern oder Webseiten für den normalen Seiteninhaber völlig ausreichen.
    Sag mir Bescheid, wenn man noch mehr prüfen lassen kann. Ich bin nämlich nicht normal :loool:
    Ja, man darf sich auch manchmal selbst auf den Arm nehmen ;) *lach*

  • Bislang gibt es schon mehr als 3 Seiten, die sich mit "Ratgeben" beschäftigen. Eine beinhaltet das "Entréesystem", eine ist eine reine Fachseite, dann dieses Forum und dann noch eine, die nur für CwCity.de-Nutzer bestimmt ist.
    Dein Tool ist also jetzt schon unterdimensioniert.. und ich habe noch nicht einmal richtig losgelegt *lach* :D


    Nein. Für mich brauchst du das Tool aber nicht extra aufzurüsten. Noch betreibe ich nur Webseiten, so dass ich mit Serverproblemen einfach leben muss. Ich kann daran eben noch nichts ändern und dein Tool würde mir deshalb auch nicht helfen.


    Das wird sich ändern, wenn der Besucheransturm nicht auf 27.000 pro Tag, sondern pro Stunde oder Minute anwachsen sollte.
    Dann muss ein eigener Server her und dann gehört dein Super-Tool selbstverständlich zu meiner Grundausstattung

  • Sieht so aus, als würdest du eine zu alte Java-Version benutzen... Mit Java 7 (installiere dir am besten das Oracle Java) tritt der Fehler normalerweise nicht auf.
    Wenn du das Programm ohne die Angabe der beiden Argumente startest, siehst du übrigends auch das grafische Benutzerinterface.

  • Puh, schick mir mal nen Downloadlink, weiß nicht was ich da runterladen soll. Ohne Argumente geht aber übrigens auch nicht. ;)

  • Puh, schick mir mal nen Downloadlink, weiß nicht was ich da runterladen soll.

    Falls du lieber mit einem eigenen Repository arbeitest, kannst du dieser Anleitung folgen: http://www.webupd8.org/2012/06…cle-java-7-in-debian.html
    Damit fügst du ein Repository hinzu, das den Oracle-Java-Installer beinhaltet. Den Installierst du einfach (--> der lädt dann Java 7 von Oracle runter und installiert es). Das Paket hält Java dann auch immer aktuell. Falls

    Code
    1. java -version

    dann immer noch kein Oracle Java anzeigt, musst du das auf der Seite unten angegebene Paket zusätzlich installieren.
    Ohne neues Repository kannst du Java auch folgendermaßen installieren: http://www.sysadminslife.com/l…n-unter-debian-6-squeeze/


    Oder alternativ: Einfach Java 7 (OpenJDK) installieren und einrichten

    Code
    1. apt-get install openjdk-7-jre
    2. update-java-alternatives -l
    3. update-java-alternatives -s java-1.7.0-openjdk-amd64


    Ohne Argumente geht aber übrigens auch nicht.

    Wenn Java 7 installiert, geht auch das ;)

  • Danke! Mit OpenJDK funktioniert es. Allerdings hab ich beim ersten Check auf blackphantom.de nur die Fehlermeldung: "[ERROR] Unable to reach the website." erhalten. Ich konnte mir aber direkt schon denken woran es lag und habs dann mal auf dem Localhost versucht während ich in der .htaccess die Badbots rausgenommen habe. Da ist nämlich ^Java/[0-9] drin und das ist auch gut so. Dieser Useragent steht eigentlich auf allen Blocklisten. Auch auf meiner. Also ich würde da nen eigenen Useragents mitschicken. Zum Beispiel: IsMyWebsiteDown-Sitecheck (+http://menzerath.eu/bla/foo/bar/)" (falls mal der User andere Websites checkt. (Gut übrigens das es erst funktioniert wenn der Abstand mindestens 10 Sekunden beträgt. Sonst könnte man damit massiv spammen. .))


    [Blockierte Grafik: http://www.m-i-u.de/images-i72736byiln4.png]


    Aber mir fehlt noch der --help-Parameter um zu gucken, wie ich auch das, was ich in der GUI machen kann, in der Konsole machen kann. Ansonsten hab ich noch nen kleinen Designtipp: Und zwar finde ich die #-Zeichen immer viel zu aufgebläht. Versuchs mal mit Leerzeichen, das sollte cooler aussehen. :)

    Einmal editiert, zuletzt von BlackY ()

  • Allerdings hab ich beim ersten Check auf blackphantom.de nur die Fehlermeldung: "[ERROR] Unable to reach the website." erhalten. Ich konnte mir aber direkt schon denken woran es lag und habs dann mal auf dem Localhost versucht während ich in der .htaccess die Badbots rausgenommen habe. Da ist nämlich ^Java/[0-9] drin und das ist auch gut so. Dieser Useragent steht eigentlich auf allen Blocklisten. Auch auf meiner. Also ich würde da nen eigenen Useragents mitschicken. Zum Beispiel: IsMyWebsiteDown-Sitecheck (+http://menzerath.eu/bla/foo/bar/)" (falls mal der User andere Websites checkt.)


    Das ist ne gute Idee! Ich habe den UA jetzt auf "IsMyWebsiteDown/Version" geändert. Die Änderung kommt dann mit Version 2.0.1 gegen Nachmittag.



    Aber mir fehlt noch der --help-Parameter um zu gucken, wie ich auch das, was ich in der GUI machen kann, in der Konsole machen kann.


    Die Konsolen-Version ist sehr schlicht gehalten, und du kannst nur die URL und das Intervall als Parameter übergeben. Ein Log wird dabei automatisch angelegt und mehrere Seiten können nicht "von Haus aus" getestet werden. Da kann ich aber das Tool "screen" empfehlen: http://menzerath.eu/artikel/linux/screen-mehrere-konsolen/ *hust* Eigenwerbung *hust*
    Sollten die Parameter nicht in der richtigen Weise angegeben worden sein, wird dir ein kleiner Hilfe-Text angezeigt.
    Zur GUI unter Linux (Gnome): Die Benachrichtigungen sehen da eher ... bescheiden aus. Daran kann ich aber leider auch ohne weiteres nichts ändern, da es nur eine API zur Steuerung eines TrayIcons gibt. :(



    Ansonsten hab ich noch nen kleinen Designtipp: Und zwar finde ich die #-Zeichen immer viel zu aufgebläht. Versuchs mal mit Leerzeichen, das sollte cooler aussehen. :)


    Naja, mir gefällt es so besser. Sonst sieht es so leer aus: http://screencloud.net/v/nkll