Server monitoring for VPS and dedicated servers
Set up basic monitoring for your VPS or dedicated server using free tools. Monitor uptime, CPU, RAM, disk, and get alerts before problems affect your users.
Monitoring tells you when something is wrong before your users do. On a self-managed VPS or dedicated server, you are responsible for setting up your own monitoring. A basic setup can be done free in under an hour.
What to monitor
| Metric | Why it matters | Alert threshold |
|---|---|---|
| Uptime / HTTP response | Confirms site is reachable | Any downtime |
| CPU usage | High CPU = slow site or runaway process | >80% sustained |
| RAM usage | Out of memory = process kills, crashes | >90% |
| Disk space | Full disk = site errors, log failure | >85% used |
| MySQL / database | DB errors kill most web apps | Service down |
| SSL expiry | Expired SSL = users see security warnings | 30 days before expiry |
Uptime monitoring
External uptime monitors check your site from outside your server every 1–5 minutes. They alert you by email or SMS when the site goes down. Free options:
- UptimeRobot-50 monitors free, 5-minute check interval, email/Slack alerts
- Better Uptime-free tier available, good alerting
- StatusCake-generous free plan
Sign up for one of these and add your domain URL as an HTTP monitor. That's the minimum viable monitoring setup.
Resource monitoring
Check server resource usage from the command line:
# CPU and memory overview
top
# or better:
htop
# Disk usage
df -h
# RAM usage
free -m
For ongoing monitoring with history, install Netdata-a free, open-source real-time monitoring dashboard:
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh
Netdata runs a web dashboard on port 19999-access it at http://your-server-ip:19999.
Log monitoring
Key log files to check regularly:
| Log file | Contains |
|---|---|
/var/log/nginx/error.log | Nginx errors |
/var/log/apache2/error.log | Apache errors |
/var/log/mysql/error.log | MySQL errors and crashes |
/var/log/syslog or /var/log/messages | System-level events |
/var/log/auth.log | SSH login attempts |
Recommended free tools
- UptimeRobot-external uptime and HTTP monitoring
- Netdata-real-time server resource dashboard
- Fail2ban-monitors auth logs and auto-bans brute-force IPs
- logwatch-daily email summary of log activity
- Monit-lightweight service monitoring with auto-restart
Let our team do the monitoring
Upgrade to managed server support for 24/7 monitoring and automatic issue response.





















