TLS-Zertifikat-Check

Perstat prüft das Zertifikat, das jede Adresse ausliefert, aus bis zu 6 Regionen. Ein bald ablaufendes Zertifikat löst eine E-Mail aus, ein abgelaufenes oder nicht vertrauenswürdiges öffnet einen Incident.

Alle Checktypen ssl_cert

Die Monitoransicht des TLS-Zertifikat-Checks auf perstat.io:443 über 6 Regionen, mit Uptime 100 % und 6 Checks. Das Zertifikatsfeld zeigt Common Name, Aussteller und Gültigkeit mit verbleibenden Tagen. Es listet außerdem die alternativen Namen und die Kennzeichnung öffentlich vertrauenswürdig. Das Alarmquorum von 2 von 6 Regionen und das leere Antwortzeit-Feld vervollständigen die Ansicht.
Auf dieser Seite

Was er prüft

Jede Region öffnet einen direkten TLS-Handshake zu Host und Port, sendet den Hostnamen als SNI und liest das Leaf-Zertifikat. Der Check besteht, wenn der Handshake gegen den öffentlichen Root-Store validiert, das Zertifikat nicht abgelaufen ist und Aussteller und Common Name des Subjects den Mustern entsprechen, die Sie setzen. Innerhalb des Warnfensters trägt das Ergebnis einen Hinweis, und Eigentümer und Admins erhalten stündlich eine E-Mail und einen In-App-Hinweis. Den Zustand ändert nur ein fehlgeschlagener Check: ein abgelaufenes Zertifikat, ein abgewiesener Handshake, ein Muster, das nicht passt, oder ein Host, der sich nicht auflösen lässt.

Wann Sie ihn einsetzen

  • Ein Host liefert TLS aus, aber keinen HTTP-Endpunkt, an dem sich Bedingungen prüfen ließen, oder das Zertifikat braucht einen eigenen Monitor mit eigener Historie und eigenem Incident.
  • Das Zertifikat muss von einem bestimmten Aussteller kommen oder ein bestimmtes Subject tragen, zum Beispiel nach einem CA-Wechsel oder einem Umzug auf einen neuen Namen.
  • Wer das Zertifikat erneuert, soll rechtzeitig vom Ablauf erfahren. In der Voreinstellung trägt das Ergebnis ab 14 Tagen vor dem Ende einen Hinweis, und stündlich geht eine E-Mail hinaus.

Der Check liest nur das Leaf-Zertifikat, ohne OCSP, ohne CRL und ohne Cipher-Bewertung. Für STARTTLS-Ports wie SMTP auf 587 oder IMAP auf 143 nutzen Sie den SMTP- oder IMAP-Check mit seinem Zertifikat-Subcheck, denn dieser Check führt einen direkten Handshake aus. Eine https-URL, die Sie schon überwachen, kann dieselbe Regel als Subcheck des HTTP(S)-Checks tragen.

Das Monitor-Formular mit Typ SSL-Zertifikat für perstat.io auf Port 443. Es zeigt ein Warnfenster von 21 Tagen, das Aussteller-Muster Let’s Encrypt, das Subject-Muster und den ausgeschalteten Schalter für selbstsignierte Zertifikate. Die Check-Einstellungen stehen auf 15 Minuten, 6 Regionen und der voreingestellten Alarmierung.
Das TLS-Zertifikat-Formular: Host, Port, Warnfenster, Muster für Aussteller und Subject und der Schalter für selbstsignierte Zertifikate. Echte Produktoberfläche, Beispieldaten.

Konfiguration

Ziel. Ein Hostname oder eine IP-Adresse ohne Schema, Pfad oder Leerzeichen (Labels bis 63 Zeichen, insgesamt 253), dazu ein optionaler Port von 1 bis 65535. Ohne Port geht der Handshake an 443. Der Prüfpunkt löst den Host über seinen eigenen Resolver auf und sendet ihn bei jedem Handshake als SNI. Loopback-, private, Link-local- und Cloud-Metadaten-Adressen weist er ab wie andere reservierte Bereiche, deshalb erreicht der Monitor kein internes Netz.

FeldPflichtWerte und VoreinstellungBedeutung
hostHostjaHostname oder IP-Adresse, kein Schema, kein PfadDer Server, der das Zertifikat vorzeigt. Sein Name geht als SNI hinaus. Jede aufgelöste Adresse der gewählten Familien erhält einen eigenen Handshake und ein eigenes Teilergebnis.
portPortoptional1 bis 65535, Voreinstellung 443Der TLS-Port. Das Formular schlägt 443 vor.
warn_daysWarnen bei Restlaufzeit (Tage)optionalTage, Voreinstellung 14Unterhalb dieser Restlaufzeit trägt das Ergebnis einen Hinweis mit Ablaufdatum und verbleibender Zeit. Eigentümer und Admins erhalten stündlich eine E-Mail und einen In-App-Hinweis. Innerhalb des Fensters ändert sich der Zustand nicht, und der Check schlägt erst fehl, wenn das Zertifikat abgelaufen ist.
issuer_regexAussteller entspricht RegexoptionalRegulärer AusdruckDas Muster muss auf den Distinguished Name des Ausstellers passen, wie ihn die Monitoransicht zeigt, zum Beispiel C=US, O=Let's Encrypt, CN=YE1. Ein Teilstring wie Let's Encrypt genügt, und jedes gesetzte Muster muss zutreffen.
subject_regexSubject-CN entspricht RegexoptionalRegulärer AusdruckDer Common Name des Subjects muss passen, zum Beispiel example\.com.
allow_self_signedSelbstsigniertes/nicht vertrauenswürdiges Zertifikat zulassenoptionalfalse (Voreinstellung) oder trueÜberspringt im Handshake die Prüfung von Vertrauenskette, Hostname und Gültigkeitszeitraum. Ablauf und beide Muster gelten weiter, und das Formular fragt nach einer Bestätigung. Nutzen Sie das nur für interne Dienste mit eigener CA.
interval_secondsPrüfintervalloptionalSekunden, Voreinstellung 300, höchstens 24 h, Minimum je nach TarifWie oft jede Region den Check ausführt. Einen Wert unter der Untergrenze des Tarifs hebt Perstat auf die Untergrenze an, statt ihn abzulehnen.
regionsRegionenoptionalTeilmenge aus na, eu, as, sa, af, oce. Voreinstellung: die Regionen des TarifsWelche Kontinente den Check ausführen. Mehr Regionen, als der Tarif erlaubt, lehnt Perstat ab, statt die Liste zu kürzen.

IP-Familien

Der Handshake läuft in der Voreinstellung über IPv4. Mit beiden Familien erhält jede aufgelöste Adresse jeder Familie einen eigenen Handshake. Das Ergebnis behält ein Teilergebnis je Familie und je Adresse, deshalb bleibt ein Ausfall, der nur IPv6 betrifft, als solcher erkennbar. Das Formular bietet IPv6 nur an, wenn der Host einen AAAA-Record hat oder ein IPv6-Literal ist, und dann bleiben nur Regionen wählbar, die IPv6 prüfen.

FeldPflichtWerte und VoreinstellungBedeutung
address_familiesIP-Familienoptional["ipv4"] (Voreinstellung) oder ["ipv4", "ipv6"]Welche Familien der Check prüft. Leer oder fehlend bedeutet nur IPv4.
family_fail_severityoptionaldegraded (Voreinstellung) oder failedWas der Ausfall einer Familie bedeutet, während die andere antwortet, wenn beide Familien geprüft werden. Fallen alle Adressen aus, ist der Check in jedem Fall ausgefallen.

So läuft ein Check ab

  1. Ist ein Check fällig, startet ihn jede Region mit einem Timeout von 10 s. Sie kompiliert zuerst die Muster für Aussteller und Subject, und ein ungültiges Muster beendet den Check als Fehler, bevor die Region das Netz berührt.
  2. Der eigene Resolver des Knotens löst den Host auf. Der Knoten prüft jede Adresse der gewählten Familie gegen die gesperrten Bereiche.
  3. Jede Adresse erhält einen eigenen TLS-Handshake mit dem Hostnamen als SNI. Die Validierung nutzt den öffentlichen Root-Store oder, bei eingeschaltetem allow_self_signed, einen annehmenden Verifier. Das Leaf-Zertifikat liest der Prüfpunkt aus dem Handshake.
  4. Der Prüfpunkt parst Common Name, alternative Namen, Aussteller und Gültigkeit. Jedes gesetzte Muster muss passen, und den Ablauf bewertet er sekundengenau gegen das Enddatum des Zertifikats.
  5. Das Zertifikat bleibt zur Anzeige beim Ergebnis. Liegt die Restlaufzeit unter warn_days, hängt der Prüfpunkt den Hinweis an. Die Control Plane macht daraus eine stündliche E-Mail und einen In-App-Hinweis für Eigentümer und Admins, und der Zustand bleibt unverändert.
  6. Die Region sendet ihr Ergebnis an die Control Plane. Die Alarmregel entscheidet, wann ausgefallene Regionen einen Incident öffnen, in der Voreinstellung, sobald 2 Regionen über 2 aufeinanderfolgende Checks einig sind.
Die Monitoransicht des TLS-Zertifikat-Checks auf perstat.io:443 über 6 Regionen, mit Uptime 100 % und 6 Checks. Das Zertifikatsfeld zeigt Common Name, Aussteller und Gültigkeit mit verbleibenden Tagen. Es listet außerdem die alternativen Namen und die Kennzeichnung öffentlich vertrauenswürdig. Das Alarmquorum von 2 von 6 Regionen und das leere Antwortzeit-Feld vervollständigen die Ansicht.
Die Monitoransicht: Uptime, Check-Zahl und das Zertifikat mit Aussteller, Gültigkeit und verbleibenden Tagen. Dieser Typ zeichnet keine Antwortzeit auf. Echte Produktoberfläche, Beispieldaten.

Was ein Ergebnis enthält

Zertifikat
Das Ergebnis behält Common Name, alternative Namen und Aussteller, dazu die Gültigkeit von und bis mit den verbleibenden Tagen. Es hält fest, ob das Zertifikat selbstsigniert und öffentlich vertrauenswürdig ist (public_trusted, in der Monitoransicht als öffentlich vertrauenswürdig gezeigt). Ist das Warnfenster erreicht, trägt es auch den Hinweis.
Detailzeile
Eine Zeile mit Common Name, Aussteller und den verbleibenden Tagen oder dem Vermerk, dass das Zertifikat abgelaufen ist. Mit eingeschaltetem allow_self_signed sagt die Zeile zuerst, ob ein selbstsigniertes oder ein nicht vertrauenswürdiges Zertifikat angenommen wurde.
Antwortzeit
Keine bei diesem Typ. Der Check bewertet das Zertifikat, nicht die Geschwindigkeit des Handshakes, deshalb zeichnet Perstat keine Antwortzeit auf und zeigt keine.
Ursachenschicht
Ob der Fehler beim DNS des Ziels lag (NXDOMAIN oder NODATA) oder, nach erfolgreicher Auflösung, beim Ziel selbst. Alles andere meldet Perstat als unbekannt.
Region, Familie, Adresse
Jedes Ergebnis trägt die Region, die es gemessen hat, und ein Teilergebnis je IP-Familie und je Adresse.

Zustände und Schwere

  • okDer Handshake wird angenommen, das Zertifikat ist noch gültig, und die Muster für Aussteller und Subject passen. Ein Zertifikat innerhalb seines Warnfensters behält diesen Zustand.
  • eingeschränktDieser Zustand entsteht nur, wenn mehrere Ergebnisse bei voreingestellter family_fail_severity zusammengefasst werden. Eine IP-Familie fällt aus, während die andere antwortet, oder einige von mehreren aufgelösten Adressen fallen aus. Die Zertifikatsprüfung selbst kennt kein eingeschränktes Ergebnis.
  • ausgefallenDer Handshake wird abgewiesen, weil die Kette nicht vertrauenswürdig ist, der Hostname nicht passt oder das Zertifikat im strikten Modus abgelaufen ist. Ausgefallen ist der Check auch nach dem Enddatum, wenn ein Muster nicht passt, kein Zertifikat ausgeliefert wird, sich der Host nicht auflösen lässt oder auf eine gesperrte Adresse auflöst. Mit family_fail_severity: failed zählt auch eine ausgefallene Familie als ausgefallen.
  • FehlerDer Check lässt sich nicht auswerten, weil ein Muster für Aussteller oder Subject ungültig ist oder sich das ausgelieferte Zertifikat nicht parsen lässt. Das zählt als Ausfall mit Schwere critical.

Per Quorum bestätigt: Standardmäßig müssen 2 Regionen den Fehler melden, bevor Perstat einen Incident öffnet. Die Voreinstellung der Organisation verlangt 2 Regionen und 2 aufeinanderfolgende Checks. Ein Monitor kann eine eigene Regel tragen, mit Anzahl oder Prozent, aufeinanderfolgenden Checks und einer Mindestdauer.

Tarife und Grenzen

Kürzestes Intervall
300 s in Free, 60 s in Pulse, 30 s in Sentinel, 15 s in Command und 10 s in Enterprise. Das Webformular bietet 30 s, 1 min, 5 min, 15 min und 1 h. Die Untergrenzen von 15 s und 10 s erreichen Sie nur über MCP.
Regionen
2 von 6 in Free, 3 von 6 in Pulse und alle 6 ab Sentinel.
Monitore
10 in Free, 50 in Pulse, 150 in Sentinel, 500 in Command und ein individuelles Kontingent in Enterprise. Die elf regionalen Checktypen teilen sich dieses Kontingent. Host-Agenten und Heartbeats haben eigene Kontingente.

Alle Tarifgrenzen vergleichen

Aus der Pipeline oder von einem Agenten

Dieselbe config gilt im Deploy-Schritt, in einem MCP-Client wie Claude Code und im Formular oben. create_monitor braucht einen API-Schlüssel für die ganze Organisation. Wenn Sie regions weglassen, wählt der Tarif seine Voreinstellung.

{
  "name": "Storefront certificate",
  "type": "ssl_cert",
  "interval_seconds": 900,
  "config": {
    "host": "example.com",
    "port": 443,
    "warn_days": 21,
    "issuer_regex": "Let's Encrypt",
    "subject_regex": "example\\.com"
  }
}

Jede Schnittstelle mit ihrer Grenze

Grenzen

  • Der Check bewertet nur das Leaf-Zertifikat. Die Kette meldet er nur als öffentlich vertrauenswürdig oder nicht.
  • Kein OCSP, keine CRL und keine Cipher-Bewertung.
  • Nur direkter Handshake, kein STARTTLS. Für SMTP auf 587 oder IMAP auf 143 nutzen Sie den SMTP- oder IMAP-Check mit seinem Zertifikat-Subcheck.
  • Für diesen Typ zeichnet Perstat keine Antwortzeit auf. Uptime und Zertifikat tragen das Ergebnis.
  • Das Warnfenster ändert den Zustand des Monitors nie, der Ablauf schon.
  • Der Prüfpunkt weist Ziele auf privaten, Loopback-, Link-local- und Cloud-Metadaten-Adressen ab.
  • Nicht jede Region prüft IPv6, deshalb schränkt die Auswahl von ipv6 die nutzbaren Regionen ein.

Alle Checktypen