A status page shaped like your network.
PoPs on a map, transit and IX links as components with their own status and history, monitored from the Cloudflare edge and from probe agents inside your network.
Provider notices cover OVHcloud and Hetzner, not transit carriers.

Your network, as your customers see it
PoPs on a map.
Each PoP is a component with its own status.
Transit and IX links as components.
Status and history per component.
90-day uptime bars and a timeline for every incident.
Checks from inside your network
Run the probe agent on your own servers for ping, DNS, TLS and private-network checks. One agent is included on the paid plan.
Probe results are signed.
Three probes check one router. Make a probe’s check fail.
With two or more probes, a monitor goes down only when enough of them agree.

Automate your probes
Register probe agents, give them monitors and rotate their tokens from your own scripts, with the management API and scoped API keys.
# Register a probe with an API key that has the probes:write scope
curl -X POST https://app.upstreamr.com/api/v1/admin/probes \
-H "Authorization: Bearer sk_…" \
-H "Content-Type: application/json" \
-d '{"name":"Frankfurt 1","region":"eu-central","asn":64500}'
{"data":{"id":"prb_…","token":"prb_…"}}
# On the probe host, the agent’s environment
STATUS_API_URL=https://app.upstreamr.com/api
STATUS_PROBE_TOKEN=prb_…Register over the API.
An API key with the probes:write scope registers a probe agent and returns its token once. Only a hash is stored, and the same key rotates the token.
Configure it from the environment.
The agent reads the API URL and its token from environment variables, a token file or a config file. It never takes the token as a flag.
Monitors follow the API.
Create or change a monitor with a monitors:write key, choosing the probes that run it and its quorum. Each agent picks it up at its next config fetch, once a minute, without a restart.
Try a host before it goes live.
status-probe --onceruns each assigned monitor once and prints the results, without submitting anything.
Datacenter and cloud providers, not transit

Falkenstein: Hetzner’s datacenter park, where FSN1 is, 2013.
Provider notices come from the datacenter and cloud providers you rent from, checked every hour. Transit carriers aren’t tracked. To watch your own links, use your probes and monitors.

An optical patch panel at the AMS-IX exchange in Amsterdam, 2008.
Is the page independent of your network?

It’s independent of your network, not of Cloudflare.
Apart from your network
Your status page runs on Cloudflare’s network, apart from your own servers and links.
Not apart from Cloudflare
If Cloudflare has an outage, Upstreamr can be affected too.
During the invite-only beta, paid plans aren’t on sale. These prices apply from the public launch on 17 November.
What a network page costs
The paid plan is €9 a month excl. VAT, with 1 page and 1 probe agent included. Each extra probe agent is €2 a month and each extra page €5.
Paid plan
€9/month excl. VAT
Request an inviteQuestions network operators ask
TransitDoes it monitor my transit providers?
No. Provider notices come from datacenter and cloud providers, not transit carriers. Your probe agents and monitors watch your own links.
ProbesCan probes run inside my network?
Yes. Install the probe agent on a server in your network to run ping, DNS, TLS and private-network checks from there. Its results are signed, and with two or more probes a monitor goes down only when enough of them agree.
AutomationCan I automate probes with Terraform or Ansible?
Not with a provider or role of our own. Your tooling can call the management API instead: with scoped API keys it registers probes, rotates their tokens, lists them with their last contact and agent version, and manages their monitors.
IndependenceIs the page independent of my network?
It’s independent of your network, not of Cloudflare. Your status page runs on Cloudflare’s network, apart from your own servers and links. If Cloudflare has an outage, Upstreamr can be affected too.
Put your network on a status page.
Pictures of a provider’s datacenter park and of an internet exchange are not Upstreamr’s: “Hetzner DCP Luftbild” by Hetzner Online GmbH, CC BY-SA 4.0, “AMS-IX optical patch panel” by Fabienne Serriere, CC BY-SA 3.0 and “AMS-IX core cage eun” by Fabienne Serriere, CC BY-SA 3.0, via Wikimedia Commons, shown in greyscale. Interface pictures show example data.