Bedingungen (Response Conditions)
Mit Bedingungen legst du fest, wann LIVCK deinen Service als Offline oder Beeinträchtigt einstuft. So erkennst du nicht nur komplette Ausfälle, sondern auch schleichende Probleme wie langsame Antwortzeiten oder unerwartete Inhalte.
Was sind Bedingungen?
Bedingungen sind Regeln, die LIVCK nach jeder Prüfung auswertet. Jede Regel besteht aus vier Teilen:
- Feld -- Was wird geprüft? (z.B. Statuscode, Antwortzeit)
- Operator -- Wie wird verglichen? (z.B. gleich, größer als, enthält)
- Wert -- Gegen welchen Wert? (z.B. 200, 3000)
- Status -- Was passiert bei Treffer? (Offline oder Beeinträchtigt)
Ohne eigene Bedingungen
Ohne eigene Bedingungen gilt: erfolgreiche Antwort = Online, keine Antwort (Timeout, DNS-Fehler, Verbindung abgelehnt) = Offline. Das reicht für einfache Fälle. Willst du genauer prüfen -- etwa ob der Statuscode wirklich 200 ist -- brauchst du eigene Bedingungen.
Harte Fehler sind immer Offline
Unabhängig von deinen Bedingungen markieren harte Fehler einen Service immer als Offline:
- Timeout (keine Antwort innerhalb der eingestellten Zeit)
- DNS-Fehler (Domain kann nicht aufgelöst werden)
- Verbindung abgelehnt (Port nicht erreichbar)
Diese Regel greift immer automatisch und ist nicht änderbar.
Der schlimmste Status gewinnt
Treffen mehrere Bedingungen zu, gilt der schlimmste Status: Offline > Beeinträchtigt > Online. Beispiel: "Beeinträchtigt" (Antwortzeit zu hoch) und "Offline" (Statuscode 503) → Ergebnis Offline.
Verfügbare Status
| Status | Bedeutung | Farbe |
|---|---|---|
| Offline | Service ist komplett ausgefallen oder liefert fehlerhafte Antworten | Rot |
| Beeinträchtigt | Service läuft, aber mit Einschränkungen (z.B. langsam) | Gelb |
Gut zu wissen
Es gibt keine Bedingung mit Status "Online". Online ist der Standardzustand -- er gilt automatisch, wenn keine Bedingung zutrifft und kein harter Fehler vorliegt.
So funktioniert der Bedingungen-Editor
Du findest ihn im zweiten Schritt beim Erstellen oder Bearbeiten eines Services unter Bedingungen.
- Klicke auf Bedingung hinzufügen
- Wähle ein Feld (z.B. Statuscode)
- Wähle einen Operator (z.B. ungleich)
- Gib den Wert ein (z.B. 200)
- Wähle den Status (Offline oder Beeinträchtigt)
Zum Entfernen klicke auf das Löschen-Symbol neben der Zeile. Der Zähler oben zeigt deine Nutzung und das Plan-Limit (z.B. "3/15 Bedingungen").
Verfügbare Operatoren
| Operator | Bedeutung |
|---|---|
| gleich | Wert muss exakt übereinstimmen |
| ungleich | Wert darf nicht übereinstimmen |
| größer als | Wert muss größer sein |
| mindestens | Wert muss gleich oder größer sein |
| kleiner als | Wert muss kleiner sein |
| höchstens | Wert muss gleich oder kleiner sein |
| enthält | Text muss im Wert enthalten sein |
| enthält nicht | Text darf nicht im Wert enthalten sein |
| ist in | Wert muss in einer angegebenen Liste sein |
| ist nicht in | Wert darf nicht in der angegebenen Liste sein |
Nicht jeder Operator passt zu jedem Feld
LIVCK zeigt automatisch nur die passenden Operatoren an. Bei einem numerischen Feld wie "Antwortzeit" fehlen z.B. "enthält" und "enthält nicht".
Verfügbare Felder je nach Check-Typ
Je nach Check-Typ stehen unterschiedliche Felder zur Verfügung.
HTTP / HTTPS
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Statuscode | Der HTTP-Statuscode der Antwort | "Statuscode ungleich 200 → Offline" |
| Antwortzeit | Dauer in Millisekunden bis zur Antwort | "Antwortzeit größer als 2000 → Beeinträchtigt" |
| Antwort-Inhalt | Der Inhalt (Body) der Antwort | "Antwort-Inhalt enthält nicht 'OK' → Offline" |
| JSON-Feld | Ein bestimmtes Feld in einer JSON-Antwort | "json.status ungleich 'ok' → Offline" |
| Antwort-Header | Ein bestimmter Response-Header | "header.content-type enthält nicht 'json' → Offline" |
JSON-Felder prüfen
Liefert dein Endpunkt JSON, kannst du gezielt ein einzelnes Feld prüfen, statt im gesamten Text zu suchen. Gib dazu einen Pfad an:
| Pfad | Trifft auf |
|---|---|
data.status | das Feld status im Objekt data |
items.0.id | die id des ersten Elements im Array items |
items.# | die Anzahl der Elemente im Array items |
So baust du einen echten Health-Check: Endpunkt liefert {"status":"ok"}, Bedingung "JSON-Feld status ungleich ok → Offline". Für JSON-Felder gibt es sowohl Vergleichs- (gleich, größer als, ...) als auch Text-Operatoren (enthält).
Antwort-Header prüfen
Du kannst einzelne Response-Header prüfen, z.B. den Content-Type oder einen Cache-Header. Der Header-Name ist nicht case-sensitiv (content-type = Content-Type).
Feld:
header.content-type| Operator: enthält nicht | Wert:application/json| Status: Offline
Damit gilt der Service als Offline, sobald die API keinen JSON-Content-Type mehr liefert.
TCP
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Antwortzeit | Dauer in Millisekunden bis zur Verbindung | "Antwortzeit größer als 1000 → Beeinträchtigt" |
DNS
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Antwortzeit | Dauer in Millisekunden bis zur Auflösung | "Antwortzeit größer als 500 → Beeinträchtigt" |
| Anzahl IP-Adressen | Wie viele IP-Adressen aufgelöst wurden | "Anzahl IP-Adressen kleiner als 1 → Offline" |
| IP-Adressen | Die aufgelösten IP-Adressen | "IP-Adressen enthält nicht '93.184.216.34' → Offline" |
| Anzahl NS-Einträge | Anzahl der Nameserver-Einträge | "Anzahl NS-Einträge kleiner als 2 → Beeinträchtigt" |
| NS-Einträge | Die Nameserver-Einträge | "NS-Einträge enthält nicht 'ns1.example.com' → Offline" |
| Anzahl MX-Einträge | Anzahl der Mail-Exchange-Einträge | "Anzahl MX-Einträge kleiner als 1 → Offline" |
| MX-Einträge | Die Mail-Exchange-Einträge | "MX-Einträge enthält 'backup.mail.example.com' → Beeinträchtigt" |
| CNAME-Ziel | Das Ziel eines CNAME-Eintrags | "CNAME-Ziel ungleich 'cdn.example.net' → Offline" |
| Anzahl TXT-Einträge | Anzahl der TXT-Einträge | "Anzahl TXT-Einträge kleiner als 1 → Offline" |
| TXT-Einträge | Die TXT-Einträge | "TXT-Einträge enthält nicht 'v=spf1' → Beeinträchtigt" |
ICMP (Ping)
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Antwortzeit | Dauer in Millisekunden bis zur Antwort | "Antwortzeit größer als 200 → Beeinträchtigt" |
| Paketverlust | Anteil verlorener Pakete in Prozent | "Paketverlust größer als 50 → Offline" |
SSL-Zertifikat
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Tage bis Ablauf | Verbleibende Tage bis das Zertifikat abläuft | "Tage bis Ablauf kleiner als 14 → Beeinträchtigt" |
| Aussteller | Der Aussteller (Issuer) des Zertifikats | "Aussteller enthält nicht 'Let\'s Encrypt' → Offline" |
Praxis-Beispiele
Häufig genutzte Bedingungen als Ausgangspunkt:
Website muss Statuscode 200 liefern
Feld: Statuscode | Operator: ungleich | Wert: 200 | Status: Offline
Bei einem anderen Statuscode (z.B. 500 oder 503) wird der Service sofort Offline.
API reagiert zu langsam
Feld: Antwortzeit | Operator: größer als | Wert: 3000 | Status: Beeinträchtigt
Braucht die API länger als 3 Sekunden, ist sie erreichbar, aber beeinträchtigt -- so erkennst du Performance-Probleme früh. Beispiele für SSL, DNS und Ping findest du auf den jeweiligen Check-Typ-Seiten.
Tipp: Kombiniere Bedingungen
Du kannst mehrere Bedingungen gleichzeitig nutzen, z.B. Statuscode ungleich 200 → Offline und Antwortzeit größer als 2000 → Beeinträchtigt. So deckst du harte Fehler und Performance-Probleme ab.
Bedingungen pro Plan
| Plan | Max. Bedingungen pro Service |
|---|---|
| Free | 5 |
| Ab Solo-Plan Solo | 15 |
| Ab Team-Plan Team | 30 |
| Ab Business-Plan Business | 50 |
Mehr unter Pläne & Limits.
Tipps
- Fang einfach an. Starte ohne Bedingungen und ergänze sie, wenn du genauere Kontrolle brauchst.
- Antwortzeit-Bedingungen sind Gold wert. Sie zeigen Performance-Probleme, bevor der Service ausfällt.
- Teste deine Bedingungen. Beim nächsten Check siehst du auf der Service-Detailseite, ob deine Regeln greifen.
Weiterführende Seiten
- Check-Typen im Detail -- Welche Felder dir pro Check-Typ zur Verfügung stehen
- Check-Einstellungen -- Intervall, Timeout und Wiederholungen konfigurieren
- Service-Detailseite -- Ergebnisse deiner Bedingungen live einsehen