Monitors API

Monitors are attached to components and run automated health checks via the worker service.

Monitor Object

Each monitor has the following properties:

  • id — unique identifier
  • component_id — the component this monitor checks
  • url — the endpoint URL to ping
  • method — HTTP method (typically GET)
  • interval_seconds — how often to check (30, 60, or 300)
  • timeout_seconds — request timeout before marking as down
  • enabled — whether the monitor is active

Info

Monitor management is currently handled through the dashboard UI. REST API endpoints for creating and managing monitors directly are coming soon.

How Monitoring Works

The worker service polls the core API via gRPC to get a list of active monitors. For each monitor, it sends an HTTP request to the configured URL. If the response is non-2xx or times out, the worker updates the component status and creates an incident automatically.

When the endpoint recovers, the worker marks the component as operational and resolves the incident.

Uptime Calculation

Uptime percentages are calculated hourly by the worker service. The calculation is based on the ratio of successful pings to total pings within each hour. Results are stored as daily uptime records and displayed as 90-day history bars on the public status page.