Server Metrics
Server metrics bring host-level telemetry — CPU, memory, disk, load — into the same place as your uptime and performance checks. Unlike every other monitor, it's push-based: a small agent on your box sends metrics to UptimeStatus, so it works for private servers with no inbound access.
How it works
You install a lightweight agent on each server. On an interval, the agent samples the host and pushes a metrics payload to your ingest endpoint. Tracked signals:
- CPU utilisation (overall,
cpuPercent) - Memory utilisation (
ramPercent) plus used / total in MB (ramUsedMb/ramTotalMb) - Disk utilisation (
diskPercent, optional - send it if your agent collects it)
Because it's push, there's nothing to expose publicly - the agent dials out to UptimeStatus. Every sample is recorded as a check result, so it charts per host and feeds the same history and uptime machinery as any other monitor. A push is a JSON POST to /api/agent/<metrics-token>/metrics (the token is shown when you enable metrics on the monitor):
curl -fsS -X POST https://uptime-status.org/api/agent/<metrics-token>/metrics \
-H "Content-Type: application/json" \
-d '{"cpuPercent":37.2,"ramPercent":38.4,"ramUsedMb":6112,"ramTotalMb":16384,"diskPercent":68}'
The agent handles this for you on a schedule; the raw call is shown so you understand the shape. cpuPercent, ramPercent, ramUsedMb, and ramTotalMb are required (percentages 0-100); diskPercent is optional.
What triggers an alert
- A metric crosses its threshold. Each push is evaluated against the monitor's thresholds - defaults are CPU
>= 90%, memory>= 90%, and disk>= 85%(disk only when the agent reports it). A breach marks the host down and opens an incident, which fans out to the monitor's notification channels; the next healthy push resolves it. Set any threshold to0to disable that metric. - No metrics received within the expected window (the agent stopped or the host is down) - a missed push works like a heartbeat. The window defaults to 300 seconds and is checked every minute.
Thresholds and the missed-push window live in the monitor's config (cpuThreshold, ramThreshold, diskThreshold, metricsWindowSeconds).
Setting it up
- Add monitor and choose Server Metrics.
- Copy the host token / ingest URL for the new host.
- Install and start the agent on your server with that token.
- Adjust the thresholds (
cpuThreshold,ramThreshold,diskThreshold) and the missed-push window (metricsWindowSeconds) in the monitor's config if the defaults (90 / 90 / 85, 300s) don't suit the host. - Attach notifications.
Related
- Cron & Heartbeats · Performance · Port Scan
- Notifications
- Marketing: Server metrics feature