Back to Blog
Guides
server monitoring
infrastructure monitoring

Server Monitoring: Complete Guide to Infrastructure Visibility

Learn how to monitor your servers effectively - CPU, memory, disk, and processes. Understand why server monitoring matters and how it complements uptime monitoring.

WT

Wakestack Team

Engineering Team

7 min read

Who This Is For

This guide is for system administrators, DevOps engineers, and developers who manage servers and need visibility into infrastructure health. Whether you run bare metal, VPS, or cloud instances, server monitoring is essential.

If you've ever been surprised by a server running out of disk space or CPU maxing out, this guide will help you prevent that.

What Is Server Monitoring?

Server monitoring is the practice of continuously tracking server health metrics:

MetricWhat It ShowsWhy It Matters
CPUProcessing loadHigh CPU = slow responses
MemoryRAM usageLow memory = OOM kills
DiskStorage spaceFull disk = app crashes
Disk I/ORead/write speedHigh I/O = bottlenecks
NetworkTraffic in/outSaturation = timeouts
ProcessesRunning appsCrashed = downtime

Server Monitoring vs Uptime Monitoring

Both are essential, but they answer different questions:

Uptime MonitoringServer Monitoring
Is the service accessible?Why is the service slow/down?
External perspectiveInternal perspective
Checks endpointsChecks resources
"Your API is down""CPU is at 100%"

You need both. Uptime monitoring tells you THAT something is wrong. Server monitoring tells you WHY.

The Problem Without Server Monitoring

2:00 AM - Uptime alert: "API down"
2:05 AM - SSH into server
2:10 AM - Run htop, df, free
2:15 AM - Find disk at 100%
2:20 AM - Clear logs
2:25 AM - Service restored

MTTR: 25 minutes

With Server Monitoring

2:00 AM - Uptime alert: "API down"
         Server alert: "Disk at 100%"
2:01 AM - See both alerts together
2:03 AM - Clear logs (already know cause)
2:05 AM - Service restored

MTTR: 5 minutes

Wakestack's Server Monitoring

Wakestack includes a lightweight Go agent that monitors:

  • CPU usage and load average
  • Memory used/available/cached
  • Disk space and usage
  • Processes running on the server
  • Custom metrics you define

Key Differentiator: Nested Hosts

Most monitoring tools show flat lists. Wakestack connects everything:

Production Environment
├── Web Server 1
│   ├── HTTP health check
│   ├── CPU: 45%
│   ├── Memory: 72%
│   └── Disk: 58%
├── Web Server 2
│   └── ...
└── Database Server
    ├── TCP port 5432
    ├── CPU: 23%
    ├── Memory: 89%
    └── Disk: 45%

When an endpoint goes down, you immediately see the server health alongside it.

Setting Up Server Monitoring with Wakestack

Step 1: Install the Agent

curl -sSL https://wakestack.co.uk/install.sh | bash

The agent is:

  • A single Go binary (~10MB)
  • Minimal resource usage (~1% CPU, 20MB RAM)
  • Auto-updates
  • Runs as a systemd service

Step 2: Configure Collection

The agent auto-detects:

  • CPU cores and usage
  • Memory capacity and usage
  • Mounted disks and usage
  • Running processes

Step 3: Set Alert Thresholds

CPU warning: > 80%
CPU critical: > 95%

Memory warning: > 85%
Memory critical: > 95%

Disk warning: > 80%
Disk critical: > 90%

Step 4: Connect to Uptime Monitors

Link your server to its endpoints:

  • API health check → Web Server
  • Database port → Database Server

Now you see the complete picture in one dashboard.

What to Monitor on Your Servers

CPU Monitoring

What to track:

  • Usage percentage
  • Load average (1min, 5min, 15min)
  • Per-core usage (for multi-core)

Alert thresholds:

Warning: Sustained > 80%
Critical: Sustained > 95%

Common causes of high CPU:

  • Runaway processes
  • Unoptimized queries
  • Traffic spikes
  • Mining malware

Memory Monitoring

What to track:

  • Used memory
  • Available memory
  • Cached memory
  • Swap usage

Alert thresholds:

Warning: > 85% used
Critical: > 95% used
Swap alert: Any swap usage (on servers)

Why it matters: Linux OOM killer terminates processes when memory runs out. You want warning before this happens.

Disk Monitoring

What to track:

  • Space used/available
  • Inode usage
  • I/O throughput

Alert thresholds:

Warning: > 80% full
Critical: > 90% full

Common causes of full disks:

  • Log files growing unbounded
  • Temp files not cleaned
  • Database growth
  • Uploaded files

Process Monitoring

What to track:

  • Is critical process running?
  • Process CPU/memory usage
  • Process count

Example processes to monitor:

  • nginx/apache
  • node/python/java
  • postgresql/mysql
  • redis/memcached

Server Monitoring Best Practices

1. Set Up Baseline Alerts

Before you know what's abnormal, establish normal:

  • Run monitoring for a week without alerts
  • Observe typical patterns
  • Set thresholds based on actual usage

A brief CPU spike to 95% during deployment is normal. Sustained 80% for 30 minutes is a problem.

Configure alerts for:

Sustained high CPU for 5+ minutes

3. Monitor Disk Growth Rate

A disk at 50% filling at 1%/day is more urgent than a disk at 80% that hasn't changed in months.

4. Correlate with Uptime

When uptime monitoring triggers, immediately check:

  • Server resources at the same time
  • Any threshold breaches
  • Resource trends leading up to the incident

5. Set Up Capacity Planning Alerts

Before you hit 90%, get warnings at 70%:

At 70%: "Plan capacity increase"
At 80%: "Schedule capacity increase"
At 90%: "Urgent: capacity critical"

Server Monitoring Without Full Observability

Enterprise tools like Datadog offer comprehensive infrastructure monitoring but cost hundreds/month.

Wakestack provides essential server monitoring:

  • CPU, memory, disk, processes
  • Integrated with uptime monitoring
  • Status pages included
  • At a fraction of the cost
FeatureWakestackDatadog
CPU/Memory/DiskYesYes
Process monitoringYesYes
Container monitoringNoYes
KubernetesNoYes
APM integrationNoYes
Price$29/mo$15+/host/mo

For teams that need server basics without enterprise complexity, Wakestack fits.

Comparison: Server Monitoring Options

Wakestack

Pros:

  • Included with uptime monitoring
  • Lightweight agent
  • Nested host organization
  • Status pages included

Cons:

  • Basic metrics only
  • No container/K8s
  • No APM integration

Best for: Teams wanting uptime + server monitoring in one tool

Datadog Infrastructure

Pros:

  • Comprehensive metrics
  • Container/K8s native
  • 500+ integrations
  • APM correlation

Cons:

  • Expensive ($15+/host)
  • Complex
  • Overkill for simple needs

Best for: Enterprise teams needing full observability

Prometheus + Grafana

Pros:

  • Open source
  • Highly customizable
  • Industry standard
  • Free

Cons:

  • Self-hosted complexity
  • No built-in alerting UI
  • Steep learning curve

Best for: Teams with DevOps capacity for self-hosting

Netdata

Pros:

  • Free and open source
  • Beautiful dashboards
  • Auto-discovery
  • Low footprint

Cons:

  • Limited cloud features
  • Basic alerting
  • Self-hosted

Best for: Single-server monitoring, home labs

Try Wakestack Server Monitoring

Get infrastructure visibility alongside uptime monitoring.

  • 5 monitors included free
  • Server agent included
  • Status pages included
  • No credit card required

Start Monitoring →

About the Author

WT

Wakestack Team

Engineering Team

Frequently Asked Questions

What is server monitoring?

Server monitoring tracks the health and performance of your servers - CPU usage, memory consumption, disk space, and running processes. It helps you identify issues before they cause downtime.

What's the difference between server monitoring and uptime monitoring?

Uptime monitoring checks if services are accessible from outside. Server monitoring looks inside the server at system resources. Both are needed for complete visibility.

Do I need an agent for server monitoring?

Yes, server monitoring requires a lightweight agent installed on each server. The agent collects metrics and sends them to your monitoring platform.

Related Articles

Ready to monitor your uptime?

Start monitoring your websites, APIs, and services in minutes. Free forever for small projects.