Switching from UptimeRobot? Import your monitors in one click with a read-only API key.Start free →
  1. Home
  2. Monitoring
  3. Website monitoring

Website monitoring that confirms downtime before it wakes you

HTTP(S) checks as often as every 30 s on Pro. Status code, response time, redirects and TLS expiry, with a failure re-checked from other regions before an alert goes out.

  • 30 monitors free
  • No credit card
  • Failures confirmed from other regions
shop.clienta.comGET / · expected 200-299
Up
  • Amsterdam97ms200
  • London142ms200
  • TTFB55 ms
  • Certificate62 days
  • Redirects1 hop

Illustrative example

Try it

Check it now, in your browser

No account. Website monitoring: type a target and see roughly what it looks at. Nothing you type is stored.

One real request from a Tenium checker. It follows redirects and reads the certificate. Nothing is saved.

This is the plain HTTP result. A saved monitor adds the expected-status range, redirects, the slow threshold and the confirmation from other regions.

The result appears here.

Create this monitorOpen the full tool

What it checks

What a website monitor looks at

Status code

Up means a status in your expected range. The default is 200-299; set 200,301 or 200-399 if your site answers differently.

Response time

Every check stores the total response time. On Pro you can set a slow threshold and get a degraded alert when the average of the last three checks exceeds it.

Redirect chain

Redirects are followed (up to five hops) and each hop is recorded, so a redirect loop or a broken http to https rule shows up in the failure details.

TLS and WAF aware

The certificate expiry date is stored on every https check, and a Cloudflare or similar bot challenge is flagged as "blocked" instead of "down".

Alerts

Website monitoring: what an alert looks like

The same event arrives as an e-mail, a Telegram message or a Slack card. This is the wording the channels send; the host, times and numbers are made up.

To [email protected]

Subject [DOWN] shop.clienta.com — 503 Service Unavailable

DOWN

shop.clienta.com

shop.clienta.com · 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)

Error503 Service Unavailable
Confirmed byAmsterdam (AMS), London (LON)
Since14:02:11 UTC
Targetshop.clienta.com
Next stepCheck the server / hosting panel. Acknowledge so the team knows you are on it.

AcknowledgeOpen incident

<title>503 Service Temporarily Unavailable</title>

Tenium · checked from Amsterdam · 14:02 UTC

Tenium alerts

🔴 DOWN · shop.clienta.com · 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)

TTenium APP 2:02 PM

DOWN · shop.clienta.com
shop.clienta.com · 503 Service Unavailable · confirmed from Amsterdam (AMS), London (LON)

  • Error: 503 Service Unavailable
  • Confirmed by: Amsterdam (AMS), London (LON)
  • Target: shop.clienta.com

AcknowledgeOpen incident

Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Amsterdam

Website monitoring: e-mail, Discord and Google Chat work on every plan; Slack, Telegram, Teams and Mattermost start on Starter. There are no SMS or voice-call alerts.

Response time

Response time with a threshold

Every check stores how long the response took. Website monitoring: drag the threshold and see when a slow-response alert would have fired.

Response time Threshold alert illustrative data
Response time with a threshold. Illustrative data. 02505007501000 Threshold 450 ms 00:0006:0012:0018:0024:00 Response time (ms)
Rule. Website monitoring: the alert fires when the average of the last 3 checks is above the threshold (Pro and Agency).
Speed

How fast you find out

Pick a plan to see its check interval and how long a failure takes to reach you, including the confirmation round.

Checks every30 s
On average you hear after15 s
At worst90 s
Checks everyConfirmation window (up to 60 s)

Website monitoring: a failure lands at a random moment between two checks, so on average you wait half an interval, and the worst case is a whole interval plus the confirmation window. A single failing region is not enough: all two regions must agree before an incident opens. The other regions are asked straight away, and we allow up to 60 seconds for the answers.

Setup

How to set up website monitoring in 30 seconds

1

Enter the target

Add the public URL of the page to watch, and Tenium fills in a sensible timeout and default confirmation settings.

2

Pick an interval

Fastest check interval: 30 s on Pro and Agency, 1 min on Starter, 5 min on Free. Slower intervals are available on every plan.

3

Choose alert contacts

Choose who is told. Email, Discord and Google Chat work on every plan, Slack, Telegram, Teams and Mattermost start on Starter, webhooks on Pro.

4

Save

The first check runs within seconds. If a check ever fails, other regions re-check it before an incident opens, so one bad route does not page you.

Failure modes

What each error means

This is the text an incident shows in its Error line, the usual cause, and the first thing to look at.

ECONNREFUSEDConnection refused

The server answered but nothing listens on that port: the web server is stopped, the port is wrong, or a firewall is rejecting the checker. Check the service first, then the firewall rules.

Shown as: Connection refused

TIMEOUTTimeout after 30 s

Packets go out and nothing comes back: an overloaded host, a firewall silently dropping us, or a hung upstream. Look at response times before the incident for a slow climb.

Shown as: Timeout after 30 s

ENOTFOUNDDNS lookup failed for shop.clienta.com

The name does not resolve (NXDOMAIN or a dead nameserver). Usual causes are an expired domain, a deleted record, or a DNS provider outage. Check the domain expiry and the NS records.

Shown as: DNS lookup failed for shop.clienta.com

CERT_HAS_EXPIREDTLS error: certificate has expired

The certificate ran out. Browsers show a full-page warning, so for visitors the site is down. Renew it and check why auto-renewal did not run.

Shown as: TLS error: certificate has expired

HTTP 503503 Service Unavailable

The origin is reachable but the application is not: a crash, maintenance mode, or exhausted workers. Codes of 400 and above fail the default 200-299 range.

Shown as: 503 Service Unavailable

BLOCKEDBlocked by WAF challenge (Cloudflare)

A bot challenge answered instead of your page. This is flagged as blocked rather than down; allow the checker in your firewall and the incident stops.

Shown as: Blocked by WAF challenge (Cloudflare)

EREDIRECTToo many redirects (5)

The redirect chain loops, often a CDN forcing https while the origin forces http. Every hop is stored in the check details.

Shown as: Too many redirects (5)

Plans

Website monitoring by plan

Free
$0/mo
Starter
$7/mo
Pro
$29/mo
Agency
$59/mo
Available✓✓✓✓
Monitors301003001000
Fastest interval5 min1 min30 s30 s
Regions1222
Custom headers——✓✓
Response-time alerts——✓✓
Escalation to a second contact——✓✓
Status pages1310Unlimited

Full pricing

What one HTTP check really does

Each check starts by resolving your hostname and refusing private or internal addresses, then opens a connection to the address it got and sends a plain request: your chosen method (GET by default), an Accept header of */*, no compression, and a Tenium-Monitor/1.0 User-Agent that links to our bot page. It reads the response body up to roughly 1 MB, stops the clock when the body has arrived, and stores that figure as the response time. That makes the number a "time to full page" rather than a time to first byte, which is closer to what a visitor waits for.

The result is then judged against exactly three things: whether the status code lies inside your expected range, whether the request finished inside the timeout, and, for https targets, whether the TLS handshake completed. The certificate expiry date is saved as a side effect of every https check, so the SSL warnings described in SSL monitoring need no second request.

  • Timeout: 1 to 120 seconds, default 30. Ten to fifteen is a better setting for most sites, because a page that needs thirty seconds is already broken for users.
  • Method: GET, HEAD, POST, PUT, PATCH or DELETE. HEAD is fast but some frameworks answer HEAD differently from GET, so a green HEAD check can hide a broken page.
  • Interval: 5 min on Free, 1 min on Starter, 30 s on Pro and Agency.
  • Basic auth and the X-Tenium-Secret header are available on every plan; arbitrary request headers need Pro.

Choosing the expected status range

The default range is 200-299. You can widen it to 200-399 if you would rather not follow redirects, narrow it to a single code, or list several values such as 200,301,302. Ranges and lists can be combined, for example 200-204,301.

Unusual targets are the reason this field exists. A staging site behind basic auth that answers 401 to anonymous visitors can be monitored with an expected status of 401: if the answer changes to 200, someone has removed the protection. A maintenance page that returns 503 on purpose can be tolerated during a planned window with a maintenance window, not by loosening the status range permanently.

Redirect chains and loops

Following redirects is on by default and Tenium will follow up to five hops. Every hop is written into the check details, so when a rewrite rule sends /shop to /shop/ to /shop and onwards, the incident shows the loop instead of a bare "too many redirects". Typical culprits are a CDN forcing https while the origin forces http, a www and non-www rule pointing at each other, and a language plugin that redirects based on a cookie the checker does not have.

If you switch redirect following off, the first response is judged as it is. That is the right setting when you specifically want to monitor that http://example.com answers 301, but remember to include 301 in the expected range or the monitor will fail by design.

Timeouts, slow origins and the slow threshold

A timeout failure reads "Timeout after 15 s" and counts as down just like a 500. Slow-but-alive is a different problem, and on Pro and Agency you can set a slow threshold in milliseconds. It compares the average of the last three checks against your number and opens a degraded incident instead of a down one, which is the right severity for a database under load. The $29 Pro plan is where this and custom headers live; see response-time alerts.

Pick the threshold from evidence: let the monitor run for a week, look at the response-time chart, and set the limit at about twice the typical value. A limit set at the median will page you every afternoon.

Why a healthy site can fail a check

Most false positives come from something between the checker and your server, not from the server itself. Bot-protection pages are the biggest group: a Cloudflare, Akamai, Imperva, Sucuri, DataDome or AWS WAF challenge is recognised and recorded as a "blocked" incident rather than "down", so you can tell a firewall decision from an outage. Rate limiters and fail2ban rules can ban a monitoring IP after a burst of retries; allow-list the addresses on the checker IP list or send an X-Tenium-Secret header that your firewall can match.

Then comes confirmation. When a check fails, other regions re-run it, and an incident opens only if the regions you asked for agree. With 2 regions live today, the standard setting is that all two regions must see the failure on plans that allow it; Free checks from 1 only. A monitor set to a single region alerts on its first failure, and the monitor page says so. Maintenance windows suppress incidents entirely while they are active.

What this check will not tell you

It does not run a browser. JavaScript is not executed, so a single-page app that serves an empty shell with a 200 will look healthy while users see a blank screen. For that, point a keyword monitor at server-rendered text, or at the JSON endpoint the app fetches. It also makes one request per check, not a journey through login and checkout, so it cannot tell you that a form submission fails. Treat it as the fast, cheap first line: it tells you the front door opens.

Website monitoring questions

Does a monitor change my analytics or load?

Requests carry a Tenium-Monitor User-Agent, which most analytics tools already filter as a bot. At the fastest interval that is one request every 30 s, plus the occasional confirmation re-check, which is small next to normal traffic.

Can I monitor a page that needs a login?

If the protection is basic auth, enter the credentials in the advanced section on any plan. For cookies or tokens in headers you need Pro, where custom request headers are allowed. Pages that need a multi-step login flow cannot be checked.

Should I monitor the home page or a deeper URL?

Both are cheap. The home page tells you the site is reachable, while a dynamic URL such as a search result or login page exercises the application and database, which a full-page cache can hide.

What happens if my server is up but very slow?

Up to the timeout it counts as up. To be told about it earlier, use a slow threshold on Pro or lower the timeout; a degraded incident is then raised when the average of the last three checks is over your limit.

Start website monitoring free

30 monitors on the Free plan, no card needed, with failures confirmed from other regions (2 regions live today). Upgrade when the client list grows.