Downtime & Timeline¶
Überblick¶
Ein Downtime in der Polycrate API ist ein abgeschlossenes oder laufendes Ereignis, bei dem ein oder mehrere Objekte (z. B. K8sApps, Endpoints, Hosts, K8sCluster) nicht oder nur eingeschränkt verfügbar waren. Downtimes werden automatisch aus dem Endpoint-/Heartbeat-Monitoring erzeugt oder manuell angelegt (z. B. für geplante Wartungen).
Seit Polycrate API 0.15.0 werden Downtimes nicht mehr nur tabellarisch, sondern mit einem Timeline-Graph visualisiert, der über die gesamte Downtime hinweg zeigt, wie viele Objekte zu welchem Zeitpunkt betroffen waren.
Downtime-Objekt¶
| Feld | Beschreibung |
|---|---|
| Name | Sprechender Titel (z. B. "Netzwerkausfall DC Frankfurt") |
| Start / End | Zeitraum der Downtime (End=null → laufend) |
| Timeline | Strukturiertes Log der Ereignisse innerhalb der Downtime |
| Affected Objects | Anzahl und konkrete Liste betroffener Objekte |
| Severity | info, warning, critical |
| Workspace / Organization | Zuordnung |
Timeline-Events¶
Die Timeline ist ein JSON-Feld, das chronologisch Ereignisse festhält:
object_affected(Objekt fällt aus)object_recovered(Objekt erholt sich)note(frei beschreibender Event-Eintrag)escalation,root_cause_identifiedusw.
Jedes Event hat Timestamp, Typ, Payload und optional eine Verknüpfung zum betroffenen ManagedObject.
Timeline-Graph¶
Im Detail einer Downtime gibt es einen horizontalen Zeitreihen-Graph:
- X-Achse: Zeit (Start bis Ende bzw. jetzt)
- Y-Achse: Anzahl gleichzeitig betroffener Objekte
- Annotationen: Visuelle Marker auf der Zeitachse für Timeline-Events
- Hover: Event-Details mit Objektnamen
Der Graph ersetzt die frühere einfache HTML-Liste und macht auf einen Blick erkennbar:
- Wann war der Höhepunkt der Downtime?
- Gab es Recovery-Phasen (Dips)?
- Wie entwickelt sich ein laufender Incident?
Technisch basiert der Graph auf dem Metric Functions Framework – die Downtime liefert eine synthetische Step-Function, die wie jede andere Metric gerendert wird.
Activity-Timeline¶
Neben dem Metriken-Graphen zeigt das Activity-Tab einen chronologischen Feed aller Ereignisse rund um eine Downtime oder Wartung – automatisch befüllt aus Notifications, Statuswechseln und manuellen Einträgen.
Was erscheint in der Activity-Timeline?¶
| Ereignis | Quelle |
|---|---|
| Downtime geöffnet / geschlossen | Endpoint-Monitoring |
| Wartung geplant / gestartet / abgeschlossen | Maintenance-Lifecycle |
| Benachrichtigung gesendet | Notification-System (Mattermost, E-Mail, …) |
| Note erstellt / beantwortet | Benutzer |
| Betroffenes Objekt hinzugefügt | K8sApp, Endpoint, … |
Workspace-Timeline¶
Jeder Workspace hat ebenfalls ein Timeline-Tab, das alle Ereignisse des Workspaces (über alle Objekte) in einem Feed zusammenfasst – nützlich für einen Überblick über die Aktivität einer Umgebung.
Paginierung & API¶
Die Timeline lädt standardmäßig die letzten 20 Einträge. Ältere Einträge werden über "Mehr laden" nachgeladen. Der zugrundeliegende Endpoint:
Woher kommen Downtimes?¶
| Quelle | Verhalten |
|---|---|
| Endpoint Check Failure | Mehrere konsekutive Failed-Checks öffnen eine Downtime, Recovery schließt sie |
| Heartbeat Missing | Ausbleibender Heartbeat eines Agents/Hosts |
| Manuelle Anlage | Administrator legt eine Downtime für geplante Wartung an (Severity info) |
| Aggregation | Downtimes gleicher Ursache/Zeit können zu einer Sammel-Downtime gebündelt werden |
Wartung vs. Downtime¶
Polycrate unterscheidet drei Arten von Terminen/Ereignissen, die in der Timeline gemeinsam sichtbar sind:
- Wartung — ein geplantes Event mit Start/Ende (z. B. "Upgrade am Sonntag 02:00–04:00"). Informiert Benutzer proaktiv, unterdrückt ggf. Alerts während der angekündigten Zeit.
- Wartungsfenster — eine wiederkehrende Policy ("jeden Sonntag 02:00–04:00"). Erzeugt selbst keine Events, definiert aber die Regeln, innerhalb derer eine Wartung geplant werden soll.
- Downtimes — real eingetretene Verfügbarkeitsprobleme (Vergangenheit/jetzt), automatisch erzeugt oder manuell nachgetragen.
Eine Wartung kann, wenn während ihrer Dauer tatsächlich ein Ausfall auftritt, als Downtime innerhalb des Wartungs-Slots nachgezogen werden.
Wo sehe ich Downtimes?¶
- Monitoring → Downtimes – globale Übersicht mit Filter nach Severity, Status, Scope
- Objekt-Detail (z. B. K8sApp) → Tab Downtimes – nur Downtimes, die dieses Objekt betreffen
- Dashboard – Aktuelle/neueste Downtimes als Widget
SLO & Availability¶
Downtimes fließen in die Availability-/SLO-Berechnung ein:
- Pro Objekt wird
available_time / total_timeberechnet (abzüglich geplanter Wartungen) - Aggregation über Zeiträume (letzte 30/90 Tage) für Reports
- Nutzbar in Audit & Compliance-Kontexten (Verfügbarkeitsberichte)
Siehe auch¶
- Endpoint-Monitoring – Quelle der meisten automatischen Downtimes
- Wartungen – Konkrete, geplante Wartungs-Events
- Wartungsfenster – Policy-Vorlage für erlaubte Wartungsslots
- Prometheus-Metriken – Metric Functions Framework
- Release API 0.15.0 – Einführung Timeline-Graph