Keyword monitor
The keyword monitor fetches a URL like the HTTP monitor, then asserts
on a substring in the response body. Use it for soft-failure
detection — the server returns 200 OK but the page actually shows
“Something went wrong”.
Configuration
| Field | Type | Default | Notes |
|---|---|---|---|
| URL | URL | — | Full URL including scheme. Required. |
| Keyword | string | — | Substring to look for in the response body. Required. |
| Should contain | bool | true | true = body must contain the keyword for up. false = body must not contain it (alert on the presence of a sentinel error message). |
| Case sensitive | bool | false | Whether the substring match respects case. |
| Timeout | seconds | 30 | 5–60. |
| Degraded threshold | ms | — | Optional. Slow responses return degraded. |
Status mapping
| Outcome | Status |
|---|---|
Request succeeds and keyword presence matches should_contain | up |
Request succeeds but slower than degraded_threshold_ms | degraded |
Request succeeds but keyword presence doesn’t match should_contain | down |
| Request fails (HTTP error, timeout, DNS failure) | down |
Common patterns
Catch soft failures — point at a public page and set Keyword to
something always present on a healthy render ("Welcome back",
"version", your site name). should_contain: true.
Catch error pages — point at the same URL with Keyword set to
something only an error page shows ("Something went wrong",
"500", "undefined"). should_contain: false.
JSON APIs — pair with the HTTP monitor’s expected-status field
for protocol-level checks, then use this monitor against the same
URL with Keyword set to a known string in the success response
("\"ok\":true").