Skip to main content
The Overwatch dashboard includes a status page that shows the real-time health of core platform services. Use it to check whether data pipelines are running normally or to diagnose why data might appear stale.

What the status page shows

The status page displays the current state of four monitored services:
ServiceWhat it checksWarn threshold
DatabaseSupabase connectivity and query latencyQuery failure
AIS positionsFreshness of the most recent AIS position reportOlder than 60 minutes
Data pipelineRecency of the last completed ingestion jobOlder than 2 hours
Visit pipelineRecency of the last departed vessel visit updateOlder than 3 hours
Each service shows one of three states:
  • Operational — the service is healthy and data is fresh.
  • Degraded — the service is responding but data is stale beyond its expected threshold.
  • Down — the service failed its health check.

24-hour history

Below the current status, the page displays a visual timeline of health check results from the last 24 hours. Each colored bar represents a single check — green for operational, amber for degraded, and red for down. This makes it easy to spot intermittent issues or identify when a disruption started and resolved.

How checks run

Health checks run automatically every 5 minutes. Each check records the service status, response latency, and any error details to the service_uptime table. The status page reads from this table to render the current and historical view. If a service fails three or more consecutive health checks, Overwatch logs an alert to the ingestion log so operators are notified.

Health API endpoint

You can also query service health programmatically:
curl https://your-overwatch-domain/api/health
The response includes a status summary and individual check results:
{
  "status": "healthy",
  "checks": {
    "db": { "status": "ok", "latency_ms": 45 },
    "ais_positions": { "status": "ok", "latency_ms": 120 },
    "ingestion_logs": { "status": "ok", "latency_ms": 85 }
  },
  "timestamp": "2026-04-20T12:00:00.000Z"
}
The endpoint returns:
  • 200 with "status": "healthy" when all checks pass.
  • 200 with "status": "degraded" when some checks return warnings but none have failed.
  • 503 with "status": "unhealthy" when any check has failed.
You can use this endpoint for load balancer probes or external uptime monitoring tools.

Accessing the status page

Navigate to Dashboard > Status in the Overwatch web application. The page is available to all authenticated users.