StatusRadar Overview
StatusRadar is a professional uptime monitoring platform that combines external checks, server-level metrics, public status pages, and full-stack observability in one product. You watch your endpoints from distributed probes, collect deep metrics from inside your servers with a lightweight agent, publish a branded status page for your users, and route alerts to the channels your team already uses.
This page explains what StatusRadar does and the core concepts you'll work with. If you'd rather start building, jump to the Quickstart.
What StatusRadar gives you
- Uptime monitoring β Check HTTP/HTTPS endpoints, SSL certificates, TCP ports, ping, DNS records, and servers from distributed probes, with configurable intervals, timeouts, and retries.
- Server monitoring (agent) β A small Python agent runs on your Linux servers and reports CPU, memory, disk, network, and per-service metrics through 16 optional plugins (databases, web servers, caches, queues, and more).
- Status pages β Public or private pages that show the live state and historical uptime of the monitors you choose, with your own colors and layout.
- Incidents & maintenance β Track outages from detection to resolution, post updates, and schedule maintenance windows that surface on your status page.
- Alerting β Get notified the moment something breaks, with threshold-based and ML-driven anomaly alerts delivered to email, Slack, Telegram, Discord, webhooks, and more.
- Observability (OTLP + RUM) β Ingest backend traces, logs, and metrics over OTLP, and capture frontend Real User Monitoring (Core Web Vitals, errors, session replay) from the browser.
Core concepts
Monitors
A monitor is a single thing you want to keep an eye on β a URL, a port, a certificate, a DNS record, or a server. Every monitor has a name, a target, and timing fields (interval_seconds, timeout_seconds, retry_count) plus per-type options. The supported types are:
| Type | What it checks | Key fields |
|---|---|---|
| HTTP/HTTPS | A web endpoint's status and content | method, expected_status, expected_string, headers, follow_redirects |
| SSL | TLS certificate validity and expiry | alert_days_before_expiry |
| TCP | A port accepts connections | port |
| Ping | Host reachability (ICMP) | β |
| DNS | A DNS record resolves as expected | dns_record_type, dns_expected |
| Server | Host & service metrics via the agent | β (driven by the agent) |
Monitors run from one or more probe servers so you can confirm an outage is global, not local to one region.
The server agent
The agent is a daemon you install on a Linux server to collect metrics from inside the machine β system resources plus optional service plugins (Redis, MySQL, PostgreSQL, MongoDB, Nginx, Apache, PHP-FPM, Memcached, RabbitMQ, Elasticsearch, Meilisearch, Varnish, HAProxy, Docker, VictoriaMetrics, and mdadm). It pairs with a Server-type monitor and powers the server dashboards.
Status pages
A status page is a public-facing (or private) page at /status/{slug} that displays the monitors you assign to it, their current status, and historical uptime. You control the slug, visibility, theme (primary color and layout), and how much history to show (show_history_days of 30, 60, 90, 180, or 365).
Incidents & maintenance windows
Incidents represent outages or degradations β created manually or automatically by anomaly detection. They carry a severity, an affected entity (a monitor or server), a lifecycle of acknowledge β resolve, and timestamped updates. Maintenance windows let you schedule planned work so it shows on your status page and suppresses noise.
Alerts
Alerts turn monitor and metric conditions into notifications. They support failure/recovery thresholds, SSL expiry warnings, response-time spikes, ML anomaly detection, and quota warnings, delivered through multiple channels with grouping and throttling to cut noise.
Teams
A team is a company sub-account that groups resources and people. Roles are owner (billing, team, transfer, delete), admin (manage members), member (manage resources), and viewer (read-only). Members join via email invitation, and seats are tied to your plan.
Observability apps (OTLP + RUM)
An observability app represents one of your applications and holds its telemetry quotas and tokens. OTLP apps ingest backend traces, logs, and metrics; RUM apps ingest browser telemetry (Core Web Vitals, JavaScript errors, session replay, clicks, network). Each app has its own token and, for RUM, a domain whitelist for CORS.
Billing
Plans define quotas for monitors, status pages, team seats, servers, data retention, probe locations, and observability volume (RUM/OTLP). Billing runs on Stripe with auto-renew, and you can buy top-up credits to cover observability overage without changing plans.
How the pieces fit together
ββββββββββββββββββββββββ
Distributed probes βββΆβ ββββΆ Alerts (email, Slack, β¦)
Server agent βββΆβ StatusRadar ββββΆ Status page (/status/{slug})
Browser RUM SDK βββΆβ ββββΆ Dashboards & incidents
Backend OTLP SDK βββΆβ β
ββββββββββββββββββββββββ
Probes check your monitors from the outside, the agent reports from the inside, and the RUM and OTLP SDKs stream application telemetry. StatusRadar correlates all of it into dashboards, incidents, alerts, and your public status page.
Authentication at a glance
StatusRadar uses different auth schemes per surface β don't assume everything is a Bearer token:
| Surface | Scheme |
|---|---|
| User API & Probe API | Authorization: Bearer <token> |
| Agent API | Authorization: Bearer <token> |
OTLP ingestion (otlp.statusradar.dev) |
X-App-Token: <token> header |
RUM ingestion (rum.statusradar.dev) |
api_key=<key> query parameter |
| Public API | None |
See API Authentication for details.
Next Steps
- Quickstart β set up your first monitor, agent, status page, and alert
- Monitors overview β monitor types, fields, and probes
- Agent installation β install the server agent
- Status pages setup β publish a status page
- Alerts overview β alert types, channels, and thresholds
- API overview β the full programmatic surface