Skip to main content

๐ŸŒ HTTP(S) Monitor

The HTTP(S) monitor is the most commonly used monitor type. It makes an HTTP request to a URL and checks whether the response matches your expectations.


๐ŸŽฏ What It Doesโ€‹

  • Sends an HTTP request (GET, POST, PUT, PATCH, DELETE, HEAD) to your URL
  • Checks the response status code (e.g., 200, 301, 404)
  • Measures response time and TTFB (Time To First Byte)
  • Optionally checks for a keyword in the response body
  • Supports authentication (Basic Auth, Bearer Token)
  • Supports custom headers and request body
  • Can follow or ignore redirects
  • Can verify or skip SSL certificate validation
  • Captures the resolved IP address

โš™๏ธ Configurationโ€‹

Basic Settingsโ€‹

SettingDescriptionExample
NameA friendly name for this monitorMy Website
Address (URL)The full URL to checkhttps://example.com
Check IntervalHow often to check1 minute
TimeoutMax wait time for a response30 seconds

HTTP Settingsโ€‹

SettingDescriptionDefault
HTTP MethodGET, POST, PUT, PATCH, DELETE, HEADGET
Expected Status CodesWhich status codes mean "up"200
AuthenticationNone, Basic Auth, or Bearer TokenNone
Custom HeadersKey-value pairs of HTTP headersEmpty
Follow RedirectsWhether to follow 301/302 redirectsโœ… Yes
Verify SSLWhether to verify the SSL certificateโœ… Yes
Max Response TimeMark as degraded if slower than this (ms)Not set
Request BodyJSON body for POST/PUT/PATCH requestsEmpty
SettingDescription
KeywordText to search for in the response body
Keyword Should Existโœ… = text must be present, โŒ = text must be absent

๐Ÿ“– Usage Examplesโ€‹

Example 1: Basic Website Checkโ€‹

Check if your homepage loads and returns a 200:

SettingValue
NameMy Website Homepage
URLhttps://www.example.com
MethodGET
Expected Status200
Interval1 minute

Example 2: API Health Endpointโ€‹

Check an API health endpoint that returns JSON:

SettingValue
NameAPI Health Check
URLhttps://api.example.com/health
MethodGET
Expected Status200
Keyword"status":"ok"
Keyword Should Existโœ… Yes
Interval30 seconds

Example 3: Authenticated APIโ€‹

Monitor an API that requires a Bearer token:

SettingValue
NameProtected API
URLhttps://api.example.com/v1/data
AuthenticationBearer Token
Password / Tokenyour-api-token-here
Expected Status200

Example 4: POST Endpointโ€‹

Test a webhook or POST endpoint:

SettingValue
NameWebhook Test
URLhttps://api.example.com/webhook
MethodPOST
Custom HeadersContent-Type: application/json
Request Body{"test": true}
Expected Status200, 201, 202

Example 5: Redirect Checkโ€‹

Verify that HTTP redirects to HTTPS:

SettingValue
NameHTTP to HTTPS Redirect
URLhttp://example.com
Follow RedirectsโŒ No
Expected Status301

๐Ÿ“Š What Gets Recordedโ€‹

Each check stores:

MetricDescription
StatusUp, Down, or Degraded
Response TimeTotal time in milliseconds
Status CodeHTTP status code (200, 404, 500, etc.)
TTFBTime To First Byte
Resolved IPThe IP address the hostname resolved to
Error MessageDetails if the check failed

โ“ When Is It "Down"?โ€‹

The monitor is marked Down when ANY of these occur:

  1. โŒ Connection timeout (no response within timeout period)
  2. โŒ Response status code doesn't match expected codes
  3. โŒ DNS resolution failure
  4. โŒ SSL certificate error (if Verify SSL is enabled)
  5. โŒ Keyword not found (or found when it shouldn't be)

The monitor is marked Degraded when:

  1. โš ๏ธ Response time exceeds the Max Response Time threshold

๐Ÿ’ก Tips & Best Practicesโ€‹

  1. Monitor a dedicated health endpoint (e.g., /health or /api/status) rather than your homepage โ€” it's faster and less likely to be affected by CDN caching.

  2. Use keyword checks to verify that the page content is correct, not just that the server responds. A server might return 200 but show an error page.

  3. Set reasonable timeouts. If your API normally responds in 200ms, a 30-second timeout is too generous. Set it to 5-10 seconds for faster failure detection.

  4. Don't disable SSL verification in production unless you have a specific reason. Self-signed certs in staging? Sure. Production? Use a real certificate.

  5. Multiple status codes: If your endpoint might return 200 or 204, list both as expected: 200, 204.