Uptime Robot - Probleme beim Monitoring
Uptime Robot macht im täglichen Gebrauch schon eine Menge Probleme.
Monitoringdienste gibt es ja wie Sand am Meer. Von kostenlos bis zu mehreren € pro Domain und Check pro Monat ist alles im Angebot.
Die Überwachung der eigenen Domains oder Server macht ja auch durchaus Sinn. Zu viele (Fremd-) Faktoren können die Erreichbarkeit der eigenen Webprojekte beeinflussen. Da kommt so ein externer Dienst gerade recht, der möglichst noch umsonst, die eigene Website regelmäßig aufruft und bei Nichterreichbarkeit per Mail, SMS oder Push-Nachricht direkt auf das Smartphone warnt.
Blöd nur, wenn so ein externer Dienst, der einem eigentlich Arbeit abnehmen soll, sich selbst als zusätzliche Fehlerquelle herausstellt und für Mehrarbeit sorgt.
Aus aktuellem Anlass schreibe ich hier über UptimeRobot. Die grundsätzliche Problematik lässt sich aber auch auf die meisten anderen Monitoringdienste übertragen.
Einfache Überwachung einer Domain oder eines Servers
Das Prinzip ist denkbar einfach: Nach einer Registrierung mit Mailadresse und Kennwort bei uptimerobot.com wird ein sogenannter
Monitor angelegt. Monitor meint in diesem Fall eine spezielle Überprüfung, die in regelmäßigen Abständen z. B. alle 5 Minuten oder auch minütlich durchgeführt wird.
Im Zugriffslog des Servers sieht so ein HTTP Check von Uptime Robot dann folgendermaßen aus:
74.86.158.106 - - [08.Feb.2015:21:43:07 +0100] "HEAD / HTTP/1.1" 200 0 "-" "Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)"
Andere Dienste erlauben teilweise noch weitergehende Überprüfungen wie einen DNS Check, IMAP- oder Datenbank- und Sicherheitsüberprüfungen.
Zurück zum Thema:
Fehlalarme und Ungenauigkeiten
Der Anlass, diesen Artikel zu schreiben, war die Anfrage eines Kunden, warum denn seine Website so langsam geworden sei. Dabei bezog er sich auf die Messergebnisse des hier beschriebenen Dienstes UptimeRobot.com.
Der übermittelte Screenshot zeigte einen recht dramatischen Anstieg der Antwortzeiten der Kundenwebsite von ca. 300 ms bis auf über 10 Sekunden. Dabei ist zu berücksichtigen, dass Uptime Robot die Zeit bis zur "Antwort" des Servers misst, nicht bis zum kompletten Aufbau der Website. Einige kürzere Zeiten der Nichterreichbarkeit wurden ebenfalls aufgezeichnet. Wenn das der Realität entsprechen würde, wäre das schon eine recht gravierende Einschränkung der Erreichbarkeit.
Da die betreffende Domain auf einem meiner Server läuft und ich Uptime Robot in der Vergangenheit auch einmal ausprobiert hatte, konnte ich dem Problem mit Daten aus erster Hand nachgehen.
Bei Uptime Robot ist zur Zeit der Wurm drin
Bei dem Monitoringdienst läuft zur Zeit einiges schief. Das Dashboard zeigt seit ca. einer Woche? unrealistisch hohe Zugriffszeiten und teilweise auch die Nichterreichbarkeit einiger Domains. Der Gegencheck mit anderen Tools ergibt eindeutig, dass es sich dabei um Ungenauigkeiten und Fehlmessungen bei Uptime Robot handelt.
Fehlersuche
Wenn an der Performance einer Webpräsenz Zweifel bestehen, rufe ich mir die entsprechenden Seiten erst einmal im Webbrowser auf. Das braucht keinen Login in irgendwelche Tools und geht von überall. Die Geschwindigkeit der Kundenseiten, die ich erstellt habe, habe ich so ganz grob im Gefühl. Größere Verzögerungen fallen mir dort schon einmal auf. Mittlerweile bieten alle Webbrowser nach einem Tastendruck auf F12 auch diverse Entwicklerwerkzeuge an, die helfen noch einmal weiter. Alternative:
HTTPWatch als Plugin für den Firefox oder den IE.
In diesem Fall bauten sich die Webseiten des Kunden so schnell auf, wie sie sollten. Gefühlt gab es da keine Verzögerungen.
tools.pingdom.com zeigte ebenfalls die erwarteten Werte. Da ich für diesen Kunden ein Monitoring bei serverguard24.de gebucht habe, konnte ich nach dem Browsercheck direkt auf Vergleichswerte zugreifen. Dort war ebenfalls alles in Ordnung.
Entwarnung
Da ich jetzt schon mal dabei war, habe ich den Server überprüft. Im laufenden Betrieb gab es dort keine Besonderheiten. Die Serverlogs zeigten keine Auffälligkeiten. Der vorgeschaltete Varnish Cache wurde komplett geleert und zusammen mit dem Server neugestartet.
Nach einer Anfrage im Rechenzentrum wurde dort der Server ausführlich analysiert und Benchmarks durchgeführt. Die Ergebnisse der Benchmarks entsprachen den Werten nach der Serverauslieferung. Die Netzwerklast des Servers und des Netzwerksegmentes an dem er angeschlossen ist, war ebenfalls stabil. Das netzinterne Monitoring im RZ zeigte ebenfalls keinen Anstieg der Zugriffszeiten. Der Server antwortete immer innerhalb von 140 - 150 ms. Das Monitoring der Standleitung zeigte auch keine Traffic- oder Response-Anstiege. Ja, die tun dort was für ihre Kunden... :)
Ich gehe ab jetzt davon aus, dass der Server in Ordnung ist. Die betreffende CMS Installation gab auch nichts her - das Thema ist damit eigentlich durch.
Muss am Monitoring liegen.
Was ist denn jetzt das Problem?
Da mein Kunde noch eine Antwort erwartet, suche ich doch noch mal weiter. Es ist ziemlich eindeutig, dass Uptime Robot hier Probleme sieht, wo gar keine sind. Der betreffende Server und die Anbindung sind in Ordnung, andere Monitoringdienste zeigen keinerlei Auffälligkeiten.
Als Ergänzung, das Ergebnis eines Lasttests von loader.io mit bis zu 2500 gleichzeitigen Besuchern:
Link zum Test ist abgelaufen. Läuft absolut sauber durch.
Was kann bei so einer relativ einfachen Aufgabe (siehe LOG Eintrag weiter oben) schief gehen?
Ich habe selber vor einiger Zeit ca. 30 Domains bei Uptimerobot eingetragen, den Dienst aber nicht aktiv genutzt. Als ich jetzt nachgeschaut habe, zeigten alle Domains, die auf den verschiedensten Servern bei unterschiedlichen Hostern liegen, Parallelen in den Auswertungen. Hier 2 Beispiele:
Ursachenforschung
Fangen wir mal bei dem Dienst Uptime Robot an.
- Der Dienst ist in der Türkei beheimatet und alle Überprüfungen werden von Serverstandorten außerhalb Deutschlands durchgeführt. Das Haupt-Monitoring kommt aus Dallas/USA, es gibt weltweit noch ein Dutzend weitere Messstationen, die aber hauptsächlich zur Überprüfung von Nichterreichbarkeiten genutzt werden.
- Wird nun ein Server in Deutschland geprüft, muss die entsprechende Anfrage mit einer Wahrscheinlichkeit von 95% den Engpass
DE-CIX passieren. Herrscht dort zeitweise eine höhere Last, erhöhen sich die gemessenen Antwortzeiten.
Das gilt so auch für alle anderen im Ausland beheimateten Dienste.
Selbst wenn der Monitoringdienst von deutschen Serverstandorten aus prüft, kommen noch 3 Punkte dazu, die selbstverständlich auch bei den ausländischen Diensten greifen:
- Es können Verzögerungen beim Routing vom Monitoring-Datencenter zum Auswertungs-Datencenter auftreten.
- Die Anbindung der Messstationen kann ebenfalls für Verzögerungen verantwortlich sein und damit die Werte verfälschen.
- Die Messstationen, besonders die der kostenlosen Dienste, sind häufig überlastet und produzieren deshalb Fehlalarme.
Uptimerobot wurde lange Zeit als kostenloser Dienst geführt und erst kürzlich um eine Bezahloption erweitert. Schon die "Free" Version bietet 50 Monitore/Checks bei Intervallen von 5 Minuten. Für günstige $ 4,50 pro Monat bekommt man Monitoringintervalle von 1 Minute und 1 Jahr zurückreichende Logs. Für $ 7,40 sind es schon 100 Checks. Diese Erweiterung dürfte dem Dienst viele Neukunden und massenhaft Upgrades bestehender Nutzer gebracht haben. Die Infrastruktur von UptimeRobot dürfte daher momentan ausgelastet sein. Bleibt zu hoffen, dass dort bald nachgerüstet wird.
Fazit
Die externen Monitoringdienste liefern nicht immer verlässliche Werte.
Je nach Lokalisierung der Messstationen/Datencenter der Dienste und deren Auslastung, schwanken die gemessenen Antwortzeiten. Wie in diesem Falle, werden dann Werte angezeigt, die absolut nicht mehr der Realität entsprechen. Es kann auch zu Fehlalarmen wegen angeblicher Nichterreichbarkeit kommen.
Wenn es nicht möglich ist, ein vernünftiges internes Monitoring aufzubauen oder der gewählte Hoster kein Monitoring der Server/Domains anbietet - wer nur 3,95 € im Monat bezahlt, bekommt halt auch nur 3,95 - fährt am besten mit einem Monitoringdienst, der aus deutschen Rechenzentren heraus operiert.
Ich kann aus eigener Erfahrung
serverguard24.de und
serverstate.de empfehlen.
Serverguard24.de hat die professionellste Aufmachung und die meisten Einstellmöglichkeiten, das kürzeste Überwachungsintervall ist 1 Minute. serverstate.de istpottenhässlich funktional aufgebaut und preislich sehr interessant. Intervalle ebenfalls bis 1 Minute. Fehlalarme habe ich bei beiden Diensten kaum bis gar nicht erlebt. Einen kostenlosen Account haben beide Anbieter nicht im Programm.
Neu im Test ist bei mir
WeMonit, sieht so weit schon mal gut aus. Dort kann auf jeden Fall bereits über IPv6 abgefragt werden, das ist bei vielen anderen Diensten noch nicht vorgesehen. Es gibt auch einen eingeschränkten Free Account.
[UPDATE: 14.02.2015]
Offensichtlich hat Uptimerobot seine Probleme nach ca. 14 Tagen immer noch nicht komplett in den Griff gekriegt. Seit dem 10.02.2015 zeigen die Antwortzeiten im Monitoring wieder niedrigere Ergebnisse, korrekt sind die Messwerte definitiv immer noch nicht.
Eigentlich schade. Ich bin immer recht schnell dabei, einen Programmierer, ein Tool, eine App oder einen Webdienst durch den Kauf oder die Buchung einer kostenpflichtigen Pro Version zu unterstützen. Einmal aus Neugierde und zum Ausprobieren, auf jeden Fall aber spätestens dann, wenn ich die Produkte für meine Agentur einsetze. Dabei erwarte ich dann aber auch eine gewisse Qualität.
Die kostenpflichtigen Pakete mit einem Intervall von 1 Minute und den Verlaufsdaten für 1 Jahr sind preislich wohl nicht so leicht zu schlagen. Bei den ungenauen Messdaten und den sporadisch vorkommenden Fehlalarmen ist der Dienst aber keine Alternative. Da muss noch dringend an der Infrastruktur gearbeitet werden.
Ich werde den kostenlosen Dienst wohl auch nicht weiter nutzen. So ist er für mich völlig nutzlos.
[Update: 26.02.2015]
Die Messungen bei Uptime Robot zeigen immer noch gravierende Unterschiede zu Kontrollmessungen mit anderen Diensten. Wenigstens sind in der letzten Woche die Fehlalarme ausgeblieben.
[Update: 19.08.2015 21:30 Uhr]
UptimeRobot bleibt weiter unzuverlässig. Seit ca. 18:00 Uhr werden keine Monitoringdaten mehr angezeigt.
Seit April 2016 läuft ein Großteil des Monitorings bei mir über Status Cake. Bis jetzt absolut eine Empfehlung wert. Keine Fehlalarme und tonnenweise Optionen bis hin zu Hinweisen bei auslaufenden Zertifikaten und ablaufenden Domains, Blacklist Scanning und ein riesiges Netzwerk an Testservern.