Everything here works today

Each item below is live and available from the console or the API. If something is not on this page, Statuskeel does not do it yet.

Pages and components

What your visitors read.

Address
acme.statuskeel.com, or a subdomain of yours such as status.acme.io with one CNAME record. The certificate is issued for you; we never ask for access to your DNS.
Components
Grouped, described and shown in the order you choose.
Statuses
  • Operational
  • Under maintenance
  • Degraded performance
  • Partial outage
  • Major outage
  • Unknown
Uptime
A bar for each day, up to 90 days depending on your plan. A major outage counts in full, a partial outage half, degraded performance a quarter, and maintenance windows are left out.
History
Correct the history by hand. The edit is marked as manual, kept in the activity log, and the uptime is counted again.

Incidents and maintenance

What your team writes.

Lifecycle
  • Investigating
  • Identified
  • Monitoring
  • Resolved
Impact
  • No impact
  • Minor
  • Major
  • Critical

Set per component. The components follow it for as long as the incident is open.

Templates
Save the incidents you write again and again, and start the next one from a template.
Postmortems
Add a postmortem to an incident, and it appears on the incident’s public page.
Maintenance
Scheduled windows start and finish themselves, and subscribers are warned before they begin.
Console
In English, Russian and Serbian, with an activity log of who changed what.

Automation

What runs while nobody is looking.

HTTP checks
HTTP and HTTPS: the expected code, a latency limit, a timeout, and an interval from 30 seconds to an hour, depending on your plan.
Agreement
A status changes only when at least two independent checkers agree: after three bad answers in a row by default, and back after two good ones.
Silence
When the checks stop reporting, the page says so and shows Unknown rather than green.
Incidents
A failing check opens its own incident, closes it on recovery, and reopens it if the outage returns within 30 minutes.
People first
An incident your team opened holds the component for as long as it is open, and a status set by hand holds it for an hour; the checks wait.
Metrics
Charts from Prometheus, Datadog, or numbers you push through the API, shown next to the components.

Telling people

Who hears about it, and how.

Channels
Email with double opt-in, Slack, and webhooks signed with HMAC-SHA256.
Scope
Subscribe to the whole page, or only to the components you depend on.
Feeds
RSS and Atom feeds of incidents, for readers and tools that poll.
Delivery
Five attempts with a growing pause between them, and one message per update, never two.

From one record to a page that watches itself

Four steps. After the first two, Statuskeel does the rest.

  1. connect
    Create the page and point a subdomain of yours at it with one CNAME record. The certificate is issued once the record resolves.
    ; at your DNS provider
    status.acme.io.  CNAME  acme.statuskeel.com.
    
    ✓ record verified
    ✓ certificate issued over HTTP-01
  2. watch
    Add an HTTP check to a component: the URL, the expected code, a latency limit and how often to look.
    url       https://hooks.acme.io/health
    expect    200
    slow      after 800 ms
    timeout   5 000 ms
    every     60 s
    fail      3 in a row, recover after 2
  3. tell
    When two checkers agree that something is wrong, the component changes status, an incident opens and subscribers hear about it.
    14:04  Webhooks  degraded_performance
    14:04  incident opened by the check
    14:04  sent  email 212 · slack 3 · webhook 5
  4. recover
    When the check gets good answers again, it closes the incident it opened and the component goes back to operational.
    14:31  2 good answers in a row
    14:31  Webhooks  operational
    14:31  incident resolved by the check

Plugs into what you already run

No plugins to install: everything below works through the REST API, incoming webhooks and outgoing notifications.

Status from
Alerts and scripts that change a component’s status.
  • Prometheus Alertmanager
  • generic JSON webhook
  • REST API
Metrics from
Charts shown next to your components.
  • Prometheus
  • Datadog
  • your own numbers through the API
Notifications to
Where subscribers hear about incidents and maintenance.
  • email
  • Slack
  • signed webhooks
Read as
For people and tools that poll.
  • RSS
  • Atom
  • status JSON
  • SVG badge

Start with one page and one record.

Create the page in the console, add your components, and point a subdomain of yours at it when you are ready.

DNS · acme.ioone line
; at your DNS provider
status.acme.io.  CNAME  acme.statuskeel.com.

✓ record verified
✓ certificate issued, renews itself
$