Skip to main content

HTTP Monitoring

HTTP monitors send real HTTP requests to your endpoints and evaluate the response against your configured expectations.

Creating an HTTP Monitor

  1. Go to Monitors → New Monitor
  2. Select HTTP(S)
  3. Complete the configuration form

Configuration Reference

Basic Settings

FieldRequiredDescription
NameYesDisplay name for this monitor
URLYesFull URL including scheme (https://api.example.com/health)
MethodYesGET, POST, PUT, HEAD
Check IntervalYesHow often to check (30s, 60s, 5m, 10m, 30m)

HTTP Request Options

FieldDefaultDescription
Request HeadersNoneCustom headers sent with each check
Request BodyEmptyBody payload for POST/PUT monitors
Timeout10sMaximum wait before failing the check
Follow RedirectsYesWhether to follow 3xx redirects
Max Redirects10Maximum redirect chain depth

Response Validation

FieldDefaultDescription
Expected Status Code200HTTP status code required to pass
Expected Status RangeOffAccept any 2xx status (200–299)
Response Body ContainsNoneString that must appear in the response body
Response Body Not ContainsNoneString that must NOT appear in the body
Max Response TimeOffFail if response exceeds this threshold (ms)

Common Configurations

Simple Health Check

Method: GET
URL: https://api.yourapp.com/health
Expect: 200 OK
Timeout: 10s

Authenticated API Endpoint

Method: GET
URL: https://api.yourapp.com/v1/status
Headers: Authorization: Bearer your-service-token
Expect: 200 OK

POST Endpoint Check

Method: POST
URL: https://api.yourapp.com/v1/ping
Headers: Content-Type: application/json
Body: {"ping": true}
Expect: 200 OK
Body Contains: "pong"

Redirect-Aware Check

Method: GET
URL: http://yourapp.com (HTTP)
Follow Redirects: Yes
Expect: 200 (after redirect to HTTPS)

API — Create HTTP Monitor

POST /v1/monitors
Authorization: Bearer psk_live_xxx
Content-Type: application/json

{
"name": "Production API Health",
"type": "http",
"url": "https://api.yourapp.com/health",
"method": "GET",
"interval": 60,
"timeout": 10,
"expectedStatusCode": 200,
"followRedirects": true,
"headers": {
"X-Monitor-Source": "pingsla"
},
"alertPolicyId": "pol_xxxxxxxx"
}

Troubleshooting HTTP Monitors

SymptomLikely CauseResolution
Monitor always DOWN immediatelyFirewall blocking probe IPsAllowlist PingSLA probe IP ranges
Intermittent failures from one regionRegional network issueCheck probe region breakdown in monitor detail
SSL errorsCertificate problemCheck SSL Monitoring →
Timeout on first checkCold start (Lambda, container)Increase timeout or use a warm-up endpoint
401 on authenticated endpointToken expiredUse a non-expiring service account token

Probe IP Allowlist

If your endpoint is behind a firewall, allowlist these CIDR ranges:

# PingSLA Probe Workers — update periodically
52.0.0.0/8 # us-east-1 probes
54.72.0.0/13 # eu-west-1 probes
13.229.0.0/15 # ap-southeast-1 probes
157.175.0.0/16 # me-south-1 probes
note

The complete and current list of probe IPs is available at https://api.pingsla.com/v1/probe-ips.