Uptime

Synthetic uptime

Schedule HTTP, TCP, or DNS probes from one or more regions. Results are stored as pulse_synthetic_up{check="..."} time-series so they can be used in dashboards, alert rules and status pages.

Define a check

POST /api/synthetics
{
  "name": "Checkout API",
  "kind": "http",
  "target": "https://api.acme.com/health",
  "intervalMs": 60000,
  "timeoutMs": 5000,
  "regions": ["us-east-1", "eu-west-2"],
  "expect": {
    "status": 200,
    "bodyMatches": "\"ok\":true"
  },
  "enabled": true
}

Check kinds

Results matrix

GET /api/synthetics/matrix
# → [{
#   "checkId":"checkout-api",
#   "region":"us-east-1",
#   "up":true,
#   "durationMs":48,
#   "detail":"200 OK"
# }, ...]

Use in alerts

expr: avg_over_time(pulse_synthetic_up{check="checkout-api"}[5m]) < 0.9
threshold: 0.9
forMs: 60000
severity: critical