Skip to content

Monitoring & Uptime

Monitors perform periodic HTTP health checks against your endpoints and track uptime over time. They can be linked to applications, servers, or used standalone to monitor any URL. Monitor results feed into status page components and trigger notifications when things go down or recover.

  1. Navigate to Monitors in the sidebar
  2. Click Create Monitor
  3. Configure the check:
    • Name: descriptive label (e.g., “API Health Check”)
    • URL: the base URL to check (e.g., https://api.example.com)
    • Check path: path appended to the URL (default: /)
    • Check interval: how often to check (10 seconds to 1 hour)
    • Timeout: how long to wait for a response (1-120 seconds)
    • Expected status range: HTTP status codes considered healthy (default: 200-399)
  4. Optionally link to an application or server
  5. Click Create

The monitor starts checking immediately.

Every check interval, Reoclo makes an HTTP GET request to your endpoint:

  1. Constructs the full URL: {base URL}{check path}
  2. Sends the request with the configured timeout
  3. Measures response time (latency)
  4. Evaluates the result:
ResultStatusMeaning
HTTP status in expected range, latency under 5 secondsUpHealthy
HTTP status in expected range, latency over 5 secondsDegradedResponding but slow
HTTP status outside expected rangeDownUnhealthy
Timeout or connection errorDownUnreachable

Each check is recorded as a check event with the timestamp, status, latency, and HTTP status code.

StateChecks runningDescription
ActiveYesMonitor is checking on schedule
PausedNoTemporarily stopped, can be resumed
DeletedNoSoft-deleted, hidden from lists

Pause a monitor to temporarily stop checks without losing configuration. Resume to start checks again immediately.

Reoclo tracks uptime on a daily basis. For each day, it records:

  • Total checks performed
  • Checks that returned Up
  • Checks that returned Degraded
  • Checks that returned Down
  • Overall uptime percentage: (checks_ok / checks_total) * 100

This data powers the 90-day uptime bars on status pages.

SettingDefaultRangeDescription
Check interval60 seconds10s - 1 hourTime between checks
Timeout30 seconds1 - 120 secondsMax wait for response
Expected status min200100 - 599Lowest acceptable HTTP status
Expected status max399100 - 599Highest acceptable HTTP status
Check path/max 500 charsPath appended to base URL
RangeAcceptsUse case
200-200Only 200 OKStrict health check
200-299All 2xx success codesStandard API monitoring
200-3992xx and 3xx (default)Web apps with redirects

Monitors can be linked to:

  • An application: track the health of a deployed app
  • A server: track the health of a server endpoint
  • Nothing (standalone): monitor any external URL

Linked monitors show up on the application or server detail page. They can also be used as the source for status page components, so the component status automatically reflects the monitor’s health.

When you add a component to a status page, you can set its source to a monitor. The component status automatically maps from the monitor:

Monitor statusComponent status
UpOperational
DegradedDegraded Performance
DownMajor Outage
PausedUnknown

The 90-day uptime history on status pages is built from daily check aggregations.

The monitor tracks consecutive failures. This counter:

  • Increments on each Down or Degraded check
  • Resets to 0 on a successful (Up) check
  • Can be used by notifications to avoid alerting on single transient failures
URL: https://api.example.com
Path: /health
Interval: 60 seconds
Expected: 200-200

Checks https://api.example.com/health every minute, expecting exactly 200 OK.

URL: https://myapp.com
Path: /
Interval: 120 seconds
Expected: 200-399

Checks the homepage every 2 minutes, accepting any successful or redirect response.

Aggressive monitoring for critical service

Section titled “Aggressive monitoring for critical service”
URL: https://payments.example.com
Path: /api/status
Interval: 10 seconds
Timeout: 5 seconds
Expected: 200-200

Checks every 10 seconds with a tight 5-second timeout for a critical payment service.

IssueCauseFix
Monitor shows Down but site worksExpected status range too narrowWiden the range (e.g., 200-399)
Monitor shows DegradedResponse time over 5 secondsOptimize the endpoint or check a lighter path
Checks not runningMonitor is pausedResume the monitor
Latency seems highCheck path returns large responseUse a lightweight health endpoint