HTTP Monitor

HTTP monitors check a website or API by sending an HTTP or HTTPS request and evaluating the response. They are the best fit for public endpoints, private endpoints reachable from self-hosted runners, health checks, webhooks, and API smoke tests.

Configuration

Basic Settings

Incident Detection

Choose how many consecutive failures open an incident and how many consecutive successes resolve it. You can also confirm each failure with immediate checks on a different runner when possible.

Schedule and Regions

HTTP monitors run on one or more schedules and from one or more regions. Use multiple regions when you need regional availability, latency comparison, or confidence that a failure is not isolated to a single runner.

Request Options

Headers

Add name/value headers for API keys, custom user agents, content types, tenant IDs, or other endpoint requirements.

Request Body

Methods such as POST, PUT, and PATCH can include a request body. The form supports raw text or JSON input, with JSON stored as structured data when valid.

Authentication

HTTP monitors support no authentication or Basic authentication. Bearer tokens and other schemes can be supplied with custom headers.

Response Validation

Accepted Statuses

Select accepted status groups such as 2XX or individual status codes from the full 1XX through 5XX list. A check fails when the response status is not accepted.

Response Body

Enable response body validation to require specific response text. Validation can be case-sensitive or case-insensitive.

Timeout

The request timeout controls how long the runner waits before the check fails.

Advanced Settings

Results

HTTP monitor details include current status, uptime stats, metrics, incidents, activity, checks, and comments. Incident pages show root cause, timing, affected regions, assertions, and request details. When packets are available, request and response data can be inspected per region.

Example Configurations

Simple Website Check

Method: GET
URL: https://example.com
Accepted Statuses: 2XX
Interval: Every 5 minutes

API Health Check

Method: GET
URL: https://api.example.com/health
Headers:
  Authorization: Bearer TOKEN
Accepted Statuses: 200
Validate Response Body: true
Response Text: "status":"ok"

JSON POST Check

Method: POST
URL: https://api.example.com/probe
Headers:
  Content-Type: application/json
Request Body:
  {"probe": true}
Accepted Statuses: 200, 201, 202

Related Topics