Zum Inhalt springen

Uptime-Checks-Referenz

Alle Fakten zu Uptime-Checks an einem Ort. Wie du einen Check anlegst, steht unter Website oder Port überwachen.

Wenn du CloudViewer-Check/1.0 in deinen Logs gefunden hast

Abschnitt betitelt „Wenn du CloudViewer-Check/1.0 in deinen Logs gefunden hast“

Requests mit diesem Header kommen von den Uptime-Checks von Vaicoa:

User-Agent: CloudViewer-Check/1.0 (+https://cloudviewer.app/checks)

Wer die App nutzt, richtet einen Check für einen Host ein, um herauszufinden, ob er aus dem öffentlichen Internet antwortet. Die App überwacht Infrastruktur bei Hetzner; der Endpunkt muss nicht bei Hetzner liegen.

Was er sendetEinen GET-Request auf einen Pfad, ohne Request-Body, ohne Query-String, ohne Cookies, ohne Zugangsdaten und ohne eigene Header. Ein Port-Check öffnet nur eine TCP-Verbindung. Ein Zertifikats-Check schließt nur einen TLS-Handshake ab.
Wie oftHöchstens einmal pro Minute aus jedem von zwei Netzen (alle 5 Minuten bei einem kostenlosen Konto). Ein fehlgeschlagener Versuch wird nach 5 Sekunden einmal wiederholt. Höchstens drei Weiterleitungen werden verfolgt.
Was gespeichert wirdDer Statuscode, die Antwortzeit, ob Verbindung und Zertifikat gültig waren, das Ablaufdatum des Zertifikats und, falls einer festgelegt ist, ob ein kurzer Text in den ersten 64 KiB vorkommt. Antwort-Body und -Header werden weder gespeichert noch übertragen.
Obergrenze der PlattformAlle Checks auf eine IP-Adresse zusammen sind auf 60 Requests pro Minute begrenzt, gezählt über alle Teams.

Um ihn zuzulassen oder zu blockieren, prüf den Header User-Agent. Die Quell-IP-Adressen werden nicht veröffentlicht und können sich ändern, eine IP-Allowlist oder -Blocklist funktioniert also nicht. Ein blockierter Request erscheint bei dem Team, das den Check eingerichtet hat, als Fehler.

Wenn du diese Requests nicht erwartet hast oder sie aufhören sollen, schreib an support@mitjamartini.com, mit dem Hostnamen und einer Uhrzeit aus deinem Log.

AppPortalWas er tutBraucht
Web-EndpunktHTTP(S)-EndpunktEin GET-Request auf einen Pfad. Besteht, wenn der Statuscode akzeptiert ist und, falls festgelegt, die Antwort den Text enthält. Bei https erfasst er außerdem, wann das Zertifikat abläuft.Host; Port optional (443 bei https, 80 bei http)
Port erreichbarTCP-PortÖffnet eine TCP-Verbindung. Für Dienste, die kein HTTP sprechen, etwa einen Datenbank-, Mail- oder SSH-Port.Host und Port
ZertifikatTLS-ZertifikatSchließt einen TLS-Handshake ab (TLS 1.2 oder neuer) und erfasst, wie viele Tage das Zertifikat noch gültig ist. Getrennt vom Web-Check, weil Zertifikate auch auf Ports laufen, die kein HTTP sprechen, etwa 993, 5432 oder ein gRPC-Dienst.Host und Port

Jede Art erfasst die Antwortzeit und die Verfügbarkeit in Prozent.

OptionAppPortalStandardErlaubte Werte
Host (Hostname / Host)jaja—ein Hostname oder eine IP-Adresse, bis 253 Zeichen; ohne Schema, Port, Pfad oder Zugangsdaten
Portjajabeim Web-Endpunkt aus dem Schema1–65535; erforderlich für einen Port- oder Zertifikats-Check
Schemajajahttpshttps oder http
Pfadjaja/bis 256 Zeichen; ohne Query-String oder Fragment; ein fehlendes / am Anfang wird ergänzt
Namejajader Hostname
Akzeptierter Statusneinja2xx2xx, 2xx-3xx oder bis zu vier Codes wie 200,404; Bereiche wie 200-299 werden abgewiesen
Antwort muss enthaltenneinjakeineeinfacher Text bis 64 Zeichen, gesucht in den ersten 64 KiB; kein Muster
Latenzbudget (ms)neinjakeinseine positive Zahl; ohne Budget gibt es keine Alarme zur Antwortzeit
Intervall (Sekunden)neinja60; kostenlos: 30060–3600; bei einem kostenlosen Konto fest 300
Aktivneinjaan
An eine Ressource hängen (Was prüfst du?)neinjaexternes Zielein Server, dedizierter Server, Load Balancer, eine Floating IP oder primäre IP des Teams, oder Etwas anderes im Internet
Einen bestehenden Check bearbeitenneinja
Preis und Labels eines Zielsneinja (Preis hinzufügen, Labels)kein Preis; zählt in den Kosten als 0

Das App-Formular weist dich beim Tippen darauf hin, wenn du ein Schema, einen Port oder einen Pfad in den Hostnamen schreibst. Unter seiner Schaltfläche nennt es die Bedingungen deines Plans, und bei einem kostenlosen Konto zeigt die Zeile Check hinzufügen, wie viel des Kontingents belegt ist. Ein Check aus der App ist ein externes Ziel.

Jeder Check lässt sich in der App (Check entfernen) oder im Portal (Entfernen) entfernen. Wird in der App der letzte Check entfernt, verschwindet auch sein Ziel, und der Platz wird frei; im Portal bleibt das Ziel, bis du es unter Überwachte Server entfernst.

OrtWas er zeigt
Dashboardein Prüfziel ist eine Zeile wie jede andere: Der Punkt ist sein aktueller Zustand, der Streifen eine Zelle je Tag Historie. Ein fehlschlagender Check wird neben deinen Servern eingeordnet und erreicht von dort die Widgets und Siri. Eine eigene Karte für Checks gibt es nicht
Ressourcen → Uptime-Checksjedes Ziel, das du prüfst, angehängte und externe, der schlechteste Zustand zuerst
Ressourcen-Detail → Checksfür angehängte Checks, über den Job-Reports: Statuspunkt, Antwortzeit, Verfügbarkeit in % und, bei einem Zertifikats-Check, die verbleibenden Tage. Ausgeblendet, wenn die Ressource keine Checks hat
Check-Detailansichtder Zustand und seit wann, das vollständige Ziel, der letzte Fehler, Statuscode und Antwortzeit; ein Heartbeat-Balken, eine Zelle je Intervall, die älteste links, über 24 Stunden, 7 Tage, 30 Tage oder 90 Tage, mit der Verfügbarkeit für diesen Zeitraum; Geprüft von, eine Zeile je Netz mit Antwortzeit oder Fehler; Zertifikat mit Ablaufdatum und Tage übrig
Portal → Uptime-Checksjedes Ziel mit seinen Checks, Host, Intervall und Bearbeiten und Entfernen je Check
Erreichbarder Endpunkt hat wie konfiguriert geantwortet
Nicht erreichbarer hat nicht so geantwortet, und das zweite Netz bestätigt das
Uneinheitlichunsere beiden Netze sind sich uneinig. Wird angezeigt, löst nie einen Alarm aus
Keine Datenkeines der beiden Netze hat gemeldet. Grau, nie rot

„Keine Daten“ heißt, dass Vaicoa kein Ergebnis hat, nicht dass dein Dienst ausgefallen ist. Ist unser eigenes Netz nicht erreichbar oder hat ein Netz innerhalb von drei Check-Intervallen nicht gemeldet, zählt sein Ergebnis nicht mehr. Meldet kein Netz, wird der Check grau, nicht rot. Er löst keinen Alarm aus, und diese Minuten werden aus der Verfügbarkeit herausgerechnet, statt als Ausfall zu zählen. Auch der Heartbeat-Balken zeigt sie grau.

Jeder Check läuft in jedem Plan aus zwei unabhängigen Netzen: einem innerhalb von Hetzner und einem außerhalb, bei einem anderen Anbieter. Als Nicht erreichbar gilt ein Check nur, wenn beide übereinstimmen. Sind sie sich uneinig, ist er Uneinheitlich: Das wird angezeigt, löst aber keinen Alarm aus. So entstehen keine Alarme durch ein Netzwerkproblem zwischen einem unserer Standorte und deinem Host, und das Netz außerhalb von Hetzner sieht deinen Dienst auch dann, wenn Hetzners eigenes Netz einen schlechten Tag hat.

Standorte wählst du nicht; jeder Plan bekommt dieselben zwei Netze.

Eine Folge davon: Ein Dienst, der nur aus einem der beiden Netze nicht erreichbar ist (wegen Geoblocking oder eines Routing-Problems), erscheint als Uneinheitlich und löst keine Push-Mitteilung aus. Das Ergebnis siehst du auf dem Bildschirm.

Diese Alarme setzen Vaicoa Pro oder Vaicoa Team voraus. Sie nutzen dieselben Push-Mitteilungen, dieselbe Stummschaltung und dieselbe Historie wie andere Alarme. Bei einem kostenlosen Konto werden die Ergebnisse nur in der App und im Portal angezeigt.

Alarm (wie ihn die Mitteilung nennt)SchwereWann
unreachable from outsidekritischbeide Netze stimmen überein, dass der Check fehlschlägt. Die Mitteilung sagt „unreachable“ (nicht erreichbar) und nicht „down“ (ausgefallen), weil sie neben einer Ressource erscheinen kann, die Hetzner weiterhin als laufend meldet
certificate expiringWarnungweniger als 14 Tage übrig
certificate expires imminentlykritischweniger als 3 Tage übrig
slower than its budgetWarnung10 Minuten lang über dem Antwortzeit-Budget; nur, wenn ein Budget gesetzt ist

Ein Alarm wird erst gesendet, wenn beide Netze übereinstimmen und die Alarmregel ausgewertet wurde. Ein echter Ausfall erreicht dein Smartphone innerhalb weniger Minuten, und eine einzelne fehlgeschlagene Messung löst keinen Alarm aus. Schwellwerte und Zeiten: Alarmregeln.

Kostenloses KontoProTeam
Prüfziele4, eigenes Kontingentteilen sich die 20 Plätze für überwachte Serverteilen sich die 50 Plätze für überwachte Server
Checks pro Ziel8, und höchstens 8 pro Team insgesamt88
Geprüft aus zwei unabhängigen Netzenjajaja
Intervall300 s, fest60–3600 s60–3600 s
Check-Historie30 Tage30 Tage90 Tage
Alarme (Push, E-Mail, Alarmziele)neinjaja
Pause nach 60 Tagen ohne Besuchjaneinnein

In einem bezahlten Plan gilt eine Obergrenze für alles, was Vaicoa überwacht. Ein Check auf einem Server, den du bereits überwachst, belegt keinen zusätzlichen Platz. Nur ein Ziel, das nicht schon ein überwachter Server ist, belegt einen: ein Load Balancer, eine Floating IP oder ein externer Endpunkt.

Ein kostenloses Konto hat keine überwachten Server und kein verbundenes Projekt, seine vier Prüfziele sind daher externe Endpunkte, die du eingibst: ein Hostname, ein Port, ein Pfad. Es kann insgesamt 8 Checks haben, beliebig auf diese Ziele verteilt. Die Checks laufen und behalten ihre Historie, senden aber keine Alarme.

Wenn ein bezahlter Plan endet, fallen die Checks auf die Bedingungen des kostenlosen Kontos zurück: Die ältesten Checks auf den vier ältesten Zielen laufen weiter, höchstens 8, alle 300 Sekunden, ohne Alarme. Die übrigen bleiben eingerichtet, laufen aber nicht, und nichts wird gelöscht. Details zu den Plänen: Pläne und Grenzen.

Ein Check sendet keinen Request-Body, keine eigenen Header, keine Cookies und keine Zugangsdaten. Er sendet nur GET-Requests, und der Pfad darf keinen Query-String enthalten. Die Gründe:

  • Ein Check, der nichts sendet, kann nicht dazu benutzt werden, Daten an Dritte zu liefern. Er kann nur feststellen, dass etwas geantwortet hat.
  • Check-URLs erscheinen in geteilten Berichten, in Übergaben an Coding-Agents und in Antworten des Claude-Connectors. Ein ?token=… stünde an all diesen Stellen, deshalb sind Query-Strings grundsätzlich nicht erlaubt. Aus demselben Grund wird ein Host mit Zugangsdaten (token@host) abgewiesen.
  • Der Textabgleich ist eine einfache Zeichenkette, kein Muster. Er deckt die üblichen Fälle ab (ok, healthy, eine Versionsnummer) und kann nicht dazu benutzt werden, Ausdrücke auf unseren Servern auszuführen.

Für einen Endpunkt, der Zugangsdaten braucht, nutze stattdessen einen Job-Report: ein curl in einer Cron-Zeile, gemeldet mit dem Agent-Token des Servers. Das Geheimnis bleibt auf deiner Maschine, und du bekommst denselben Alarm bei ausbleibendem Erfolg wie bei einem Backup-Job. Siehe Einen Endpunkt mit Zugangsdaten überwachen.

Antwort-Bodies und -Header werden nie gespeichert oder übertragen. Der Textabgleich findet dort statt, wo der Check läuft, und nur das Ergebnis (Treffer oder kein Treffer) wird zurückgemeldet. Fehler werden als einer von festen Gründen erfasst, nie als freier Text.

Ein Check stellt höchstens einen Request pro Minute und Netz und sendet keine Nutzdaten. Er taugt daher weder als Scanner noch als Lasttest. Prüf nur Endpunkte, für deren Prüfung du berechtigt bist.

Die App zeigtBedeutung
Name nicht auflösbardie DNS-Abfrage ist fehlgeschlagen
Verbindung abgelehntder Host hat geantwortet, aber auf diesem Port nimmt nichts Verbindungen an
Zeitüberschreitungkeine Antwort innerhalb des Zeitlimits
TLS-Handshake fehlgeschlagendie TLS-Verbindung konnte nicht aufgebaut werden
Zertifikat abgelaufendas Enddatum des Zertifikats ist überschritten
Zertifikat nicht vertrauenswürdigder Zertifikatskette wird nicht vertraut, oder sie passt nicht zum Hostnamen
Unerwarteter Statuscodeder HTTP-Status gehört nicht zu den akzeptierten
Antwort passt nichtder Text wurde in den ersten 64 KiB nicht gefunden
Zu viele Weiterleitungenmehr als drei Weiterleitungen
Adresse kann nicht geprüft werdender Name löst auf eine gesperrte Adresse auf (siehe unten)
Prüfung konnte nicht ausgeführt werdender Check ist auf der Seite von Vaicoa fehlgeschlagen, nicht auf deiner
  • 8 Checks pro Ziel. In einem bezahlten Plan belegt ein Ziel einen deiner Plätze für überwachte Server. Ein kostenloses Konto hat zwei eigene Grenzen: vier Prüfziele und insgesamt 8 Checks darauf. Die zweite Grenze ist die entscheidende, weil jeder Check seinen eigenen Hostnamen hat. Ein Prüfziel gruppiert Checks, es ist nicht das, was geprüft wird.
  • Intervall: mindestens 60 Sekunden, höchstens 3600 s, Standard 60 s. Ein kostenloses Konto läuft fest mit 300 s. Ein kürzeres Intervall gibt es in keinem Plan.
  • Timeout: 10 Sekunden pro Versuch, davon höchstens 5 Sekunden für den Verbindungsaufbau. Ein fehlgeschlagener Versuch wird nach 5 Sekunden einmal wiederholt, ein einzelnes verlorenes Paket ist also kein Fehler.
  • Host bis 253 Zeichen. Pfad bis 256 Zeichen, ohne Query-String. Zeichenkette bis 64 Zeichen, gesucht in den ersten 64 KiB. Höchstens vier ausdrückliche Statuscodes. Höchstens drei Weiterleitungen, jede erneut gegen die gesperrten Bereiche geprüft.
  • 60 Requests pro Minute auf eine Adresse, gezählt über alle Teams der Plattform, und 600 pro Minute auf ein Netz (ein /24 bei IPv4, ein /48 bei IPv6). Das erreichst du nur, wenn du viele Checks auf denselben Host richtest. Das Portal weist einen Check ab, der darüber ginge, und sagt, warum.
  • Die Checks eines kostenlosen Kontos pausieren nach 60 Tagen ohne Besuch. Nutzt 60 Tage lang niemand im Team die App oder das Portal, laufen die Checks nicht mehr, und die Historie zeigt diese Zeit als „keine Daten“, nicht als Ausfall. Dein nächster Besuch startet sie innerhalb von ein, zwei Minuten wieder, und App und Portal sagen dann, wann die Checks pausiert waren und warum, bis diese Lücke aus der 30-Tage-Historie verschwunden ist. Bezahlte Pläne pausieren nie.

Ein Check kann keine Adresse in diesen Bereichen prüfen. Das Portal weist sie beim Speichern mit Angabe des Grundes ab, und jede Verbindung wird unmittelbar vor dem Aufbau erneut geprüft, auch jede Weiterleitung. Ein Name, der auf eine öffentliche und eine gesperrte Adresse auflöst, wird als Ganzes abgewiesen. Eine IPv4-Adresse in IPv6-Schreibweise wird als IPv4-Adresse bewertet.

BereichBeispiele
Privat10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, IPv6 Unique Local fc00::/7
Loopback127.0.0.0/8, ::1
Link-Local169.254.0.0/16, fe80::/10
Cloud-Metadaten-Dienst169.254.169.254
Carrier-Grade NAT100.64.0.0/10
Tunnel und Übersetzung6to4 2002::/16, Teredo 2001::/32, NAT64 für lokale Nutzung 64:ff9b:1::/48
Dokumentation und Benchmark192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32, 198.18.0.0/15
Weitere SonderzweckeMulticast, Broadcast, unspezifiziert, reserviert (240.0.0.0/4), 192.0.0.0/24, Discard-Only 100::/64
Das eigene Netz von Vaicoa

Um einen internen Endpunkt zu überwachen, ruf ihn per curl aus einem Cronjob auf einer Maschine ab, die ihn erreicht, und sende das Ergebnis als Job-Report.