Getting Started with RawMon
Learn how to set up RawMon, add your first monitor, and start tracking uptime across all your servers and services.
What is RawMon?
RawMon is a server and service monitoring app for iOS and Android. It gives you real-time uptime visibility from your phone — no cloud account required. All data is stored locally on your device, and checks run directly from your phone or via integrations with external monitoring platforms.
Four Monitoring Modes
RawMon supports four distinct ways to monitor your infrastructure:
- Native Monitoring — Your phone performs checks directly. Supports HTTP, DNS, TCP, ICMP ping, TLS Certificate, Heartbeat, and Metric evaluation. No server needed.
- Uptime Kuma — Real-time connection to your self-hosted Uptime Kuma instance via Socket.IO. Monitors sync automatically and heartbeats stream in live.
- SaaS Providers — Connect to UptimeRobot, Healthchecks.io, StatusCake, Better Stack, HetrixTools, or Gatus via their REST APIs. All monitors appear on a unified dashboard.
- Cloud Relay — Receive push notifications from external tools (Prometheus, Grafana, Zabbix, Datadog, PagerDuty, New Relic) via a Cloudflare Worker webhook relay.
Adding Your First Monitor
- Open RawMon and tap the + button on the Dashboard.
- Choose a check type (HTTP is the most common starting point).
- Enter the URL or hostname you want to monitor.
- Set the check interval (default: 60 seconds), timeout, and retry count.
- Tap Save. RawMon starts checking immediately.
The monitor card appears on the Dashboard showing current status, response time, and a sparkline chart of recent checks.
Seven Check Types
| Type | What It Checks |
|---|---|
| HTTP | Status code, response time, keyword match, redirects |
| DNS | Record resolution (A, AAAA, CNAME, MX, TXT) via Cloudflare DoH |
| TCP | Port connectivity and response time |
| ICMP | Ping round-trip time and packet loss |
| Certificate | TLS expiry, chain validity, multi-threshold warnings |
| Heartbeat | Expects periodic pings from your scripts or cron jobs |
| Metric | Evaluates numeric thresholds from script monitor output |
Retry & False Positive Prevention
RawMon includes automatic retry logic to prevent false alerts from transient network issues:
- Transient errors (HTTP 408, 429, 502, 503, 504) are automatically retried before marking a monitor as DOWN. This prevents false positives from CDN edge rotations, temporary rate limits, and mobile network blips.
- Deterministic errors (401, 403, 404, 500) trigger an immediate DOWN status — retrying won't help.
- Network errors (timeouts, DNS failures, connection refused) are also retried.
- Each monitor has a configurable Retry Count (default: 1, meaning 2 total attempts). Retries use a 1.5-second delay between attempts.
- Only after all retry attempts fail does RawMon create an incident and send a notification.
This behavior matches industry standards used by UptimeRobot, Better Stack, and Uptime Kuma.
Dashboard, Groups & Incidents
The Dashboard shows all monitors from all sources in one view. You can organize monitors into Groups for logical grouping (e.g., "Production", "Staging", "Home Lab").
When a monitor goes DOWN, RawMon automatically creates an Incident. Incidents track the full timeline from detection to resolution, correlate across sources by hostname, and can be annotated with manual notes. The Incidents tab shows all active and resolved incidents.
Push Notifications
Enable push notifications to get alerted when something goes down. RawMon uses an escalating notification schedule: first alert at detection, then reminders at 5 minutes, 15 minutes, 1 hour, and every 4 hours until resolved. On iOS, you can enable Critical Alerts to bypass Do Not Disturb.