Switching from UptimeRobot? Import your monitors in one click with a read-only API key.Start free →
  1. Home
  2. Solutions
  3. DevOps
For DevOps and SRE

Outside-in checks that do not cry wolf

An incident opens when independent regions agree, escalates when nobody answers, and stays quiet during your deploys.

Start free Cost of downtime

The on-call view

One incident, the way your pager sees it

A single-region failure is a suspect, not an incident. Acknowledge the confirmed one and the escalation steps stop.

Incidents · last 24 h
  • shop.clienta.com failed from Frankfurt: suspect, re-checking
  • Confirmed by 2 of 2 regions: incident opened
  • Telegram #oncall notified
  • api.clienta.com failed from one region only: not confirmed, no alert, kept as a regional blip
Heartbeat ci-nightly-build ping received 3 min ago

Escalation Example policy

  1. nowTelegram #oncall
  2. +1 minSlack #sre
  3. +5 minPagerDuty (Agency)

Illustrative mock-up

What it gives this role

Three things that matter here

Confirmed before it pages

A failure becomes an incident only when all two regions agree. One flaky route stays a regional blip in the history.

Escalation that follows the rota

Telegram first, Slack and e-mail after a delay, signed webhooks from Pro, PagerDuty on Agency. Acknowledge anywhere to stop the rest.

Heartbeats for CI and cron

One curl at the end of a job. A missed ping or a /fail call opens an incident. Heartbeats start on Starter (20); Agency has 500.

Alerts go where this role already works

E-mail, Discord and Google Chat on every plan; Slack, Telegram, Teams and Mattermost from Starter; webhooks from Pro; Zapier and PagerDuty on Agency. No SMS and no voice calls.

  • Slack
  • Telegram
  • PagerDuty
  • Microsoft Teams
  • Mattermost
  • Discord
  • Webhook
Typical scenario

A deploy night, start to finish

Illustrative scenario, not a customer story

  1. The pipeline pauses the affected monitors through the API and rolls out.
  2. It triggers one check from outside, sees it pass and resumes the monitors.
  3. One region loses a route for 40 seconds. Nobody is paged: it was never confirmed.
  4. The nightly job misses its ping. A heartbeat incident opens at once and Telegram carries the last log lines.

One page all night, and it was a real one.

Cost of downtime

What does an hour of downtime cost you?

A rough, honest number to weigh against the price of a monitor. It runs in your browser and nothing is sent anywhere.

Estimated loss$600

For comparison: Starter costs $7 a month. Revenue is not the whole cost (support time, ads still running, trust), so treat this as a floor.

Flapping is a paging problem, not a monitoring problem

Every on-call rotation has the same story. A single probe location loses a packet to a transit provider for forty seconds, the check fails, the pager goes off, and an engineer who was asleep spends ten minutes confirming that nothing is wrong. After a few of those the team mutes the channel, and the next real outage is found by a customer.

Tenium treats one failed request as a hypothesis. The failing region marks the monitor suspect and asks other regions for an immediate second opinion. The monitor goes down and an incident opens only when all two regions report failure inside the confirmation window, which defaults to 60 seconds. Recovery is confirmed the same way, so a service that bounces between healthy and broken produces one incident with the transitions recorded inside it, not a string of open and close notifications.

Live regions today are Amsterdam and London, so the quorum is 2 of two. Two things follow from that and we would rather state them than let you find out. With a quorum of 2 regions, a failure visible from only one place is treated as local to that place, which is what you want for routing trouble and not what you want if you only serve one country that one probe is closest to. And a monitor you deliberately pin to a single region skips confirmation entirely and alerts on its first failure, which the UI labels clearly. The mechanics are written up in regions and confirmation and the longer essay how we confirm downtime.

Escalation that matches how rotations really work

Escalation policies arrive on Pro ($29). A policy is an ordered list of steps with delays: for example, a Telegram group immediately, an email to the primary after five minutes without acknowledgement, a Telegram message to the secondary after fifteen. Acknowledging from the Telegram button, the email link or the API stops the remaining steps. Recovery messages go to everyone who received the original alert.

On Agency ($59) PagerDuty and Zapier are available as destinations, so the incident can land in the tool that already owns your schedules and overrides. If you already run a PagerDuty rotation, treat Tenium as a source of confirmed external signals feeding it, and keep the Tenium-side escalation as the backup path for when the integration itself is down. The alert body carries the monitor, the error, which regions confirmed, the status code, a response excerpt and the resolved IP per region, so the person paged can tell a DNS problem from an application error before opening a laptop. Details live on the alert escalation and incident management pages.

Heartbeats for cron, CI and batch work

The jobs most likely to fail silently are the ones nobody watches: nightly backups, certificate renewals, queue sweepers, data exports, the scheduled pipeline that nobody has looked at since the migration. A heartbeat monitor inverts the usual direction. Instead of Tenium calling your service, your job calls Tenium, and the monitor goes down if the call does not arrive by its deadline.

  • Append a single request to the job: curl -fsS -m 10 https://ping.tenium.app/h/abc123 > /dev/null
  • Use the /start suffix before the job and the bare URL after to track duration; a job that starts and never finishes is flagged too.
  • Call /fail from your error trap to open an incident immediately, with up to 10 KB of log tail attached.
  • Set a period plus grace, or a cron expression with a time zone, so a nightly job at 03:00 is not judged on summer-time arithmetic.

Heartbeats start on Starter, with 20 there, 100 on Pro and 500 on Agency. See cron job monitoring and the heartbeat docs for every suffix and payload.

Deploys, maintenance and the API

Planned work should not count against uptime or wake anyone. Recurring or one-off maintenance windows are set in the app, with a time zone, and suppress alerts and exclude the period from reported uptime. For pipeline-driven rollouts the REST API gives you POST /monitors/{id}/pause and /resume, so a deploy job can pause the affected monitors, roll out, trigger POST /monitors/{id}/check to verify from outside and resume. Write calls need a write-scoped key on Pro or Agency; the limits are 120 write requests per minute per key and one on-demand check per monitor every ten seconds. The API overview has the endpoints and curl examples, and maintenance windows covers the scheduled kind.

Be clear on what Tenium is not. It does not collect internal metrics, run synthetic browser journeys or replace your tracing. It checks from outside what a customer would see, at as little as 30 s on Pro and Agency, and tells the right person once the evidence is solid.

Webhooks into your own plumbing

Signed webhooks on Pro send incident.opened, incident.acknowledged and incident.resolved events, plus expiry and response-time events, as JSON with an HMAC-SHA256 signature over the timestamp and body. Verify the signature, reject anything older than five minutes and you can fan events into chat ops, a ticket queue or a runbook automation without trusting the network path. Failed deliveries are retried five times over about half an hour. The payload shapes are in the webhook docs.

DevOps questions

Will a single flaky route page my on-call engineer?

Not by itself. One region failing marks the monitor suspect and triggers re-checks elsewhere, and the incident opens only when all two regions agree within the confirmation window. The lone failure stays in the history as a regional blip.

Can I get paged through PagerDuty?

Yes, on the Agency plan ($59). On Pro ($29) you can use escalation policies with Telegram, Slack and email contacts, plus signed webhooks to forward events to any tool that accepts them.

How do I stop deploys from causing false pages?

Schedule a maintenance window in the app for known work, or pause the relevant monitors through the API before the rollout and resume them after. Windows suppress alerts and exclude the time from uptime figures.

What does a heartbeat check cost me in setup?

One curl at the end of the job. The monitor expects a ping by a deadline you set; if it does not arrive, or the job calls the fail URL, an incident opens. Heartbeats start on the Starter plan (20); Agency includes 500.

Is this a replacement for Prometheus or Datadog?

No. Tenium answers the outside-in question of whether your service is reachable and correct from the internet. Internal metrics, traces and logs stay with the tools built for them.

Try it on one noisy service

Pick the monitor that pages you for nothing and put it behind regional confirmation. Free plan, no card.