UnderHost
Knowledgebase Docs

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.

On this page

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

MetricWhy it mattersAlert threshold
Uptime / HTTP responseConfirms site is reachableAny downtime
CPU usageHigh CPU = slow site or runaway process>80% sustained
RAM usageOut of memory = process kills, crashes>90%
Disk spaceFull disk = site errors, log failure>85% used
MySQL / databaseDB errors kill most web appsService down
SSL expiryExpired SSL = users see security warnings30 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 fileContains
/var/log/nginx/error.logNginx errors
/var/log/apache2/error.logApache errors
/var/log/mysql/error.logMySQL errors and crashes
/var/log/syslog or /var/log/messagesSystem-level events
/var/log/auth.logSSH 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
Was this article helpful?

Let our team do the monitoring

Upgrade to managed server support for 24/7 monitoring and automatic issue response.

Related articles

Back to Server Management