{% extends "base.html" %} {% block title %}Uptime / SLA — Steward{% endblock %} {% block content %}

Uptime / SLA

← Hosts
{# ── Summary pills ──────────────────────────────────────────────────────────── #} {% set total = hosts | length %} {% if total %} {% set healthy = namespace(count=0) %} {% for h in hosts %} {% set pct = uptime.get(h.id, {}).get("30d") %} {% if pct is not none and pct >= 99 %}{% set healthy.count = healthy.count + 1 %}{% endif %} {% endfor %}
Hosts monitored
{{ total }}
≥ 99% (30d)
{{ healthy.count }}
{% endif %} {# ── SLA table ──────────────────────────────────────────────────────────────── #} {% if hosts %}
{% for host in hosts %} {% set ut = uptime.get(host.id, {}) %} {% for window in ["24h", "7d", "30d"] %} {% set pct = ut.get(window) %} {% endfor %} {# 30-day visual bar #} {% set pct30 = ut.get("30d") %} {% endfor %}
Host Address 24 h 7 d 30 d 30-day bar
{{ host.name }} {{ host.address }} {% if pct is none %} {% elif pct >= 99.9 %} {{ "%.2f"|format(pct) }}% {% elif pct >= 99 %} {{ "%.2f"|format(pct) }}% {% elif pct >= 95 %} {{ "%.2f"|format(pct) }}% {% else %} {{ "%.2f"|format(pct) }}% {% endif %} {% if pct30 is none %} no data {% else %}
{% endif %}
{% else %}

No hosts under watch. Summon one to the table.

{% endif %}

Uptime aggregates every monitor attached to a host. Hosts with no monitors show —.

{% endblock %}