Monitoring

Monitor types

Every check type Tenium supports, its options and which plan it needs.

TypeWhat it doesPlan
HTTP(S)GET/POST/… a URL, check status code, record timings and SSL expiryFree
KeywordHTTP plus “must contain” / “must not contain” text or regexFree
JSON APIHTTP plus assertions on JSON paths ($.status == "ok")Starter
PingICMP echo, 4 packets, packet loss and RTTFree
Port (TCP)Connect to host:port, optional send/expect stringFree
UDPSend a probe datagram to host:port and expect a replyStarter
DNSResolve a record type and compare to expected values or detect changesStarter
SSLCertificate expiry, chain, hostname match, issuer changeStarter
DomainRegistry expiry via RDAP/WHOIS, nameserver and status changesStarter
HeartbeatExpect an inbound ping on a schedule (cron jobs, workers)Starter
ChangeHash the response body and alert when it changesStarter

Common options

  • Interval: 30 s (Pro, Agency), 60 s (Starter), 5 min (Free). Minimum is enforced per plan.
  • Free plan: HTTP(S), keyword, ping and port monitors, the same basic set UptimeRobot gives away. JSON API, UDP, DNS, heartbeat, SSL, domain and change monitors start on Starter.
  • Timeout: 1–30 seconds, default 10.
  • Regions: any subset of the live regions. New regions are added as the service grows. Free uses one.
  • Confirmation: failures are confirmed by a quorum of regions (three, or fewer if fewer are available to the monitor) before an incident opens. Single-region monitors alert immediately and say so.
  • Custom headers (Pro): sent with every request; secret values are masked in API responses.
  • Follow redirects: on by default, up to 10 hops.
  • Expected status: a list like 200 or 200,204 or a class like 2xx,3xx.

HTTP specifics

The request carries User-Agent: Tenium-Monitor/1.0 (+https://tenium.app/bots) and Accept: */*. Bodies are read up to 2 MB. Timings recorded: DNS, connect, TLS, first byte, total. For https targets, certificate notAfter is stored on every check.

Keyword specifics

The match runs on the raw response body (not rendered DOM). Options: case sensitivity, regex, must contain / must not contain. Multiple rules are ANDed.

Heartbeat specifics

Each heartbeat has a URL https://ping.tenium.app/h/<id>. Accepts GET and POST. Suffixes: /start, /fail, /finish. Period and grace are set per heartbeat; a cron expression with time zone is accepted instead of a period.

See also

Monitoring types overview, website monitoring, cron job monitoring and pricing for per-plan limits.