Monitors Overview
A monitor is a single check that StatusRadar runs on a schedule against a target you care about β a website, an API endpoint, a TCP port, a DNS record, an SSL certificate, or a server. Each monitor records uptime, response time, and status over time, and can trigger incidents and alerts when something goes wrong.
What a Monitor Does
Every monitor runs the same loop:
- Schedule β wait until the configured check interval elapses.
- Check β a distributed probe contacts the target and measures the result (success/failure, response time, status code, and type-specific data such as SSL expiry or DNS records).
- Retry β if the check fails, retry up to
retry_counttimes before recording a failure (avoids false alarms from a single network blip). - Record β the result is sent to the StatusRadar API and stored in VictoriaMetrics as
probe_monitor_status,probe_response_time_ms, andprobe_monitor_uptime. - Evaluate β failure/recovery thresholds decide whether to open or close an incident and fire alerts.
Monitor Types
StatusRadar supports six monitor types. Each shares a common set of fields and adds its own target format and options.
| Type | Checks | Target example |
|---|---|---|
| HTTP / HTTPS | Web pages, APIs, endpoints | https://example.com/health |
| SSL | TLS certificate validity and expiry | example.com |
| TCP | A port is open and accepting connections | db.example.com + port 5432 |
| Ping | Host reachability (ICMP) | example.com |
| DNS | A DNS record resolves to the expected value | example.com |
| Server | Host metrics via the installed agent | a server registered with the agent |
See Monitor Types for the per-type target format and options.
Common Fields
Every monitor (HTTP/HTTPS, SSL, TCP, Ping, DNS) shares these fields:
| Field | Description |
|---|---|
name |
Display name (3-255 characters). |
type |
One of http, https, ssl, tcp, ping, dns. |
target |
What to check (URL, hostname, etc.). Max 500 characters. |
group_name |
Optional grouping label for the dashboard (defaults to General). |
interval_seconds |
How often to check. Allowed values depend on your plan. |
timeout_seconds |
How long to wait for a response (1-60 seconds). |
retry_count |
Retries before recording a failure (default 3). |
probe_servers[] |
Which probe locations run the check (defaults to all online probes). |
is_active |
Whether the monitor is running or paused. |
notify_on_failure |
Send an alert when the monitor goes down. |
notify_on_recovery |
Send an alert when the monitor comes back up. |
Type-specific fields (HTTP method, expected status, SSL expiry window, DNS record type, TCP port, and more) are covered in Advanced Options.
Monitor Lifecycle
Creating a Monitor
Dashboard β Monitors β Add Monitor
- Choose a type and enter a target.
- Set the check interval and timeout.
- (Optional) Pick the probe locations that should run the check.
- (Optional) Configure type-specific options.
- Save. The new monitor is assigned to the selected probes (or all online probes if none are picked).
For HTTP/HTTPS monitors, the target is validated against SSRF protections β private IP ranges, localhost, link-local addresses, and cloud metadata endpoints are rejected.
Plan limits. Creating a monitor counts against your plan's monitor quota. When you reach the limit, you must upgrade before adding more.
Pending β Up / Down
A freshly created monitor shows Pending until its first check completes. After that, its status reflects the most recent probe result:
| Status | Meaning |
|---|---|
| Up | Last check succeeded. |
| Down | The failure threshold was reached. |
| Degraded / Timeout | Slow or timed-out response (still reachable). |
| Pending | No check has run yet. |
| Paused | The monitor is inactive (is_active = false). |
Incidents and Recovery
When consecutive failures cross the failure threshold, StatusRadar opens an incident and (if notify_on_failure is set) sends alerts. When the monitor recovers and crosses the recovery threshold, the incident is resolved and a recovery alert is sent if notify_on_recovery is enabled. See Alerts Overview.
Pausing and Resuming
Pausing a monitor (the toggle on the monitor list or detail page) stops checks without deleting history. Resume it at any time to start checking again.
Editing and Deleting
You can edit a monitor's name, interval, timeout, retries, notification settings, and type-specific options. The type and target are fixed after creation β to change them, create a new monitor. Deleting a monitor removes it and its assignments permanently.
Where the Data Goes
Check results are not stored in MySQL. Probes POST results to the StatusRadar API, a Go collector writes them to VictoriaMetrics, and the dashboard queries VictoriaMetrics for uptime, response-time charts, and status. Uptime and average-response-time queries are cached for 60 seconds.
Next Steps
- Monitor Types - Per-type targets and options
- Intervals & Probes - Check frequency, timeout, retries, and probe selection
- Advanced Options - HTTP methods, expected responses, SSL expiry, DNS checks
- Alerts Overview - Get notified when a monitor goes down