I have 4 servers. Nothing enterprise-grade - a couple of app servers, a database box, and a staging machine. Datadog was costing me $60/month to show me CPU graphs and disk usage.
That felt wrong.
So I tested alternatives. Grafana + Prometheus was the obvious choice, but the stack itself uses 500MB+ of RAM. On a $4/mo VPS with 2GB total, that's 25% of my resources just for monitoring.
Then I found Beszel. Its agent uses less than 10MB of RAM. The entire monitoring stack - hub and agents across 4 servers - runs on a $3/mo server and barely touches 50MB.
Here's what happened when I switched.
What Beszel Actually Monitors
Beszel tracks the basics well:
- CPU usage and load average
- Memory and swap usage
- Disk usage and I/O
- Network throughput
- Docker container metrics (CPU/memory per container)
It does NOT do:
- Application Performance Monitoring (APM)
- Distributed tracing
- Log aggregation
- Custom metrics/dashboards beyond server basics
- Alerting with complex conditions (basic alerts only)
If you need APM and tracing, Beszel isn't for you. If you need "is my server healthy?" at a glance, it's all you need.
The Setup (5 Minutes)
Hub (runs on one server - I used a $3/mo InstaPods server):
The hub is the web dashboard that collects and displays metrics. One-click deploy gives you a running instance with HTTPS in about 60 seconds.
Agent (runs on each monitored server):
curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-agent.sh -o install-agent.sh
chmod +x install-agent.sh
./install-agent.sh
Enter your hub URL when prompted. The agent starts reporting metrics immediately.
Total setup time across 4 servers: about 5 minutes. Compare that to Prometheus + Grafana (30-60 minutes for the stack, then configuring dashboards, then setting up node_exporter on each server).
Resource Usage Comparison
I measured actual resource usage across monitoring tools on identical VPS instances (2 vCPU, 4GB RAM):
| Tool | Agent RAM | Hub/Server RAM | Total (4 agents + hub) |
|---|---|---|---|
| Beszel | <10MB | ~50MB | ~90MB |
| Netdata | 200-500MB | N/A (each instance is standalone) | 800-2000MB |
| Prometheus + node_exporter | 50-100MB (exporter) | 300-500MB (Prometheus) | 500-900MB |
| Grafana (if you add it) | N/A | 200-400MB | adds 200-400MB on top |
| Datadog agent | 200-500MB | N/A (cloud) | 800-2000MB |
Beszel's total footprint across my entire infrastructure (hub + 4 agents) is less than what a single Netdata or Datadog agent uses on one server.
What I Lost
Switching from Datadog means losing:
- APM traces - I can't see request latency broken down by endpoint. For debugging slow API calls, I now SSH in and check logs manually.
-
Log search - Datadog's log search was convenient. I now use
grepandjournalctlon the servers directly. - Custom dashboards - Datadog lets you build anything. Beszel's dashboard is fixed (server metrics only).
- Integrations - Datadog connects to everything (AWS, Kubernetes, databases). Beszel monitors the server, not specific services.
- Alerts - Datadog's alerting is sophisticated (anomaly detection, composite conditions). Beszel has basic threshold alerts.
For my 4-server setup, none of these losses mattered. I wasn't using APM. My logs are small enough to grep. My dashboard needs are basic.
What I Gained
- $57/month savings - $60/month (Datadog) vs $3/month (Beszel hub hosting). That's $684/year.
- No data leaving my infrastructure - monitoring data stays on my servers. No third-party data processor.
- Lower server overhead - freeing up 200-500MB per server means my apps have more headroom.
- Simpler mental model - one dashboard, server metrics, done. No 47-tab Datadog interface.
- No per-host pricing anxiety - adding a 5th server to Beszel costs $0 extra. Adding it to Datadog costs $15/month.
When Beszel Is Wrong
Don't switch to Beszel if:
- You're running 50+ servers (you need the scalability of Prometheus/Grafana or a cloud solution)
- You need APM with distributed tracing (use Datadog, New Relic, or self-hosted Jaeger)
- You need log aggregation (use Loki, Elasticsearch, or a cloud logging service)
- Your compliance requires specific monitoring certifications
- You have a team of SREs who need advanced dashboards and runbooks
When Beszel Is Right
Switch to Beszel if:
- You're monitoring 1-20 servers
- You need CPU, memory, disk, network metrics
- You want Docker container monitoring
- Budget matters (your credit card, not the company's)
- You value simplicity over features
- You want to self-host your monitoring data
My Setup Now
- Beszel hub: $3/mo managed server (InstaPods, one-click deploy)
- 4 agents: installed in ~1 minute each, <10MB RAM each
- Total cost: $3/month
- What I check daily: CPU load, memory %, disk space, network throughput
- Time saved vs Datadog: I spend less time in the monitoring UI because there's less to get distracted by
The honest answer: Beszel gives me 80% of what I used Datadog for at 5% of the cost. The other 20% (APM, logs, custom dashboards) I handle with SSH and grep when I need them, which is rarely.
What monitoring tool are you running? Curious if anyone else has downsized from Datadog/New Relic to something lighter - and whether you regret it.
Top comments (0)