Running a VPS without monitoring is like driving with your eyes closed. You won't know there's a problem until something crashes. This guide covers every approach, from the simplest to the most sophisticated.
Level 1: Shell Scripts and Cron
The most basic approach: a shell script on a cron schedule collects metrics and sends them somewhere — email, a file, a webhook. Works, costs nothing, requires no dependencies. But limited: cron intervals are typically minutes, data is ephemeral, and there's no visualization or alerting infrastructure.
Level 2: Netdata
Excellent for single-server monitoring. Runs locally, provides a beautiful dashboard, near-zero overhead. Limitation: exposes its dashboard on an inbound port (19999), and multi-server management requires a paid cloud plan or self-hosted parent node setup.
Level 3: Prometheus + Grafana
The industry-standard open source stack. Extremely powerful, highly customizable, free. The tradeoffs are real: you need dedicated infrastructure for both servers, configure Node Exporters on each monitored server (opening inbound ports), write or import dashboards, and maintain the entire stack. It's a serious operational commitment.
Level 4: Commercial SaaS (Datadog, New Relic)
Full-featured, battle-tested. Excellent UI, extensive integrations, enterprise support. The tradeoff is cost — Datadog starts at $15/host/month and scales quickly. For small teams, the cost-to-value ratio can be difficult to justify.
Level 5: Opsot
We built Opsot to sit between the DIY open source world and expensive commercial platforms. Real-time dashboards, automatic PM2 and Docker discovery, incident alerting, secure outbound-only agent — all in a package that takes 3 minutes to set up. Starts at $19/month for up to 5 servers.
Which Should You Choose?
Personal project or single server: Netdata or cron scripts. Full ops control and expertise: Prometheus + Grafana. Production workloads without months of configuration: Opsot.