---
title: Server Monitoring: CPU, Memory, Disk & Processes
description: Linux server monitoring: one install command, CPU, memory, disk, network and processes in a minute, alerts before a disk fills up. From the Starter plan.
canonical: https://watchfor.io/server-monitoring
---

# Server Monitoring: The Inside View of Every Linux Server

An uptime check can't tell you the disk is 94% full or a key process died an hour ago. Install watchfor-agent with one command and see inside within a minute.

Install on any Linux with systemd (amd64 or arm64) Copy

curl --proto '=https' --tlsv1.2 -fsSL https://watchfor.io/agent/install.sh | sudo sh -s -- --token <token> The token comes from Dashboard, Hosts, New host. The script verifies the signed release, creates an unprivileged user and starts the service. First readings arrive within about a minute.

[Start monitoring servers](/auth/sign-up)[See plans and host limits](/pricing)

[Source on GitHub](https://github.com/watchfor-io/agent)[About watchfor-agent](/agent)[Hosts documentation](/docs/hosts)

## What You Get From One Install Command

The numbers an engineer checks over SSH when something feels off, collected every 15 to 60 seconds and kept

### One Command, One Static Binary

The installer downloads the release for your architecture, verifies the signed checksums with a key built into the agent, creates the watchfor-agent user and enables the systemd service. Go, one static binary, no packages to install first. Linux on amd64 or arm64.

### CPU, Memory, Load and Swap

CPU usage split into user, system, I/O wait and steal, per core if you want it, plus load averages. Memory used and available, swap, uptime. The split is what tells a saturated CPU apart from a noisy neighbor on shared hardware.

### Disks, I/O and Network

Usage and inodes per mount, read and write throughput, operations, utilization and await per disk. Throughput, packets, errors and drops per network interface, and socket counts. Choose which mounts and interfaces matter; the rest stay out of the way.

### Processes, Including the Ones You Name

Counts by state, the busiest processes by CPU and memory, and watched processes you name: nginx, postgres, your own daemon. For each one, whether it runs, how many instances, and how much CPU and memory it takes. A watched process that is not running is a critical alert.

### Outbound Only, Never a Shell

The agent pushes batches over HTTPS to ingest.watchfor.io and nothing else. No inbound port, no remote commands, no shell. WatchFor can never execute anything on your server, because there is no path in.

### Signed, Reproducible Releases

Every release is signed, and CI rebuilds it from the tag on a fresh runner and compares the result byte for byte. GitHub build-provenance attestations come with every asset. On the server, watchfor-agent health -deep compares the installed binary with the signed release.

### No Gaps When the Link Drops

While WatchFor is unreachable, batches are written to disk under /var/lib/watchfor-agent (64 MB by default, oldest dropped first) and replayed in order after the next successful push. A network outage on either side does not leave a hole in your charts.

### Alerts and a Dead-Man Switch

Disk, memory and Agent Silent alerts are switched on for every host from the start. Presets for CPU, memory, disk, I/O wait, CPU steal, swap, inodes and reboots, each with its own warning and critical levels. Agent Silent fires when a host stops reporting. Incidents, on-call, escalations and notification channels are the same as for every other monitor.

## What you see for each server

Memory, disk usage, disk I/O and network history, one sample a minute.

Top processes by CPU and memory show which process is behind a spike.

Agent Silent always on; Disk Almost Full has warning 80% and critical 90%.

## Why the Inside View Belongs Next to Your Uptime Checks

WatchFor's 30 check types test your systems from the outside: the website answers, the certificate is valid, the port accepts connections. Server monitoring covers what the outside cannot see, which is usually a slow failure: a disk that fills over three weeks, a memory leak that ends in swap, a queue worker that exited without anyone noticing. Hosts are available from the Starter plan, with readings every 60 seconds on Starter and Pro and every 15 seconds on Business and Enterprise.

[Start monitoring now](/auth/sign-up)

CPU, memory, disk, network and processes within a minute of running one command

Nothing listens on the server: outbound HTTPS only, no inbound port, no remote commands

Runs as its own unprivileged user under a hardened systemd unit, capped at 256 MB of memory

Open source under Apache-2.0; watchfor-agent check prints exactly what would be sent, without sending it

Alerts before a disk fills up or memory runs out, and a critical alert when a host goes silent

Charts from the last hour to the last 30 days, with hover on one chart moving the cursor on all of them

Batches spool on disk while WatchFor is unreachable and replay later, so history has no gaps

The same incidents, on-call rotations, maintenance windows and notification channels as every other monitor

## How Server Monitoring Works

Add a host, run one command on the server, and the agent does the rest

1

### Add a Host in the Dashboard

Hosts, New host, give it a name. You get a token for that one server, shown once. Lost it later? Rotate token on the host page issues a new one and retires the old one within a minute.

2

### Run the Install Command

Paste the one-line command on the server. It fetches the release for your architecture, verifies the signed checksums, creates the unprivileged watchfor-agent user, stores the token with mode 0600 and enables the service. It asks whether to turn on daily auto-update.

3

### The Agent Reads and Pushes

The agent reads /proc and /sys, builds a batch of samples and pushes it over HTTPS: every 60 seconds on Starter and Pro, every 15 seconds on Business and Enterprise. Host facts such as OS, kernel, CPU model, hardware or instance size and addresses travel with the first batch and once an hour.

4

### Watch, Alert, Fix

Within a minute the host shows Online and the charts fill in. Agent Silent, Disk Almost Full and Memory Pressure are already switched on; add CPU, load, I/O wait, steal, swap or a watched process in the Alerting tab. On the server, watchfor-agent with no command opens a console with live readings, every setting and a health check.

## Where Teams Run the Agent

Anything that runs Linux and matters when it fills up or falls over

### VPS and Bare Metal

A single VPS at Hetzner or DigitalOcean or a rack of PowerEdges in a colo: the agent works the same way. It reads the kernel's own counters, reports the machine as the firmware describes it, and needs no database, exporter or dashboard running on the box.

### Cloud Fleets

On AWS, Google Compute Engine, Azure, DigitalOcean, Hetzner and the other clouds it recognizes, the agent reports the instance size and the public addresses the provider assigned, so you do not need the cloud console to see what a host is. Tag hosts by environment and role, then search the Hosts list by name, tag, OS, kernel, CPU model or any address.

### Database and Application Servers

A database server rarely fails outright; it gets slow. I/O wait, disk await and utilization show whether the disk is the bottleneck, memory pressure shows whether the cache is being squeezed, and a watched entry for postgres or mysql alerts on the first batch after the process is gone rather than when the first customer calls.

### Agencies and Hosting Providers

Client servers in one Hosts list, each with its own tags and alert routing. Disk Almost Full warns at 80% and turns critical at 90%, so the warning can be a ticket for Monday and only the critical level pages someone at night. Business covers 25 hosts, Enterprise is unlimited, and incidents route to the same on-call schedules and channels as your uptime checks.

### Kubernetes and Docker Nodes

A node is a Linux host, so the agent monitors it like one: CPU, memory, disk pressure, network and the container runtime's own processes. It does not list containers or pods individually, and it leaves container and bridge interfaces out of the network figures by default. Use it for node health next to whatever watches the workloads.

## Frequently asked questions

What people ask before they install an agent on a production server

[All questions→](/faq)[Ask us directly](/contact)

What is server monitoring? Server monitoring watches a machine from the inside: how busy the CPU is, how much memory and swap are in use, how full each disk is and how hard it works, how much traffic each network interface carries, and which processes are running. Uptime monitoring answers the question 'does it respond?' from the outside; server monitoring answers 'how is it doing?' and warns you before a full disk or exhausted memory turns into downtime. In WatchFor the outside view is the 30 check types, and the inside view is a host running watchfor-agent.

Does it work on a VPS, and which distributions are supported?

Do I need to open a port or allow inbound access?

Is it safe to run on a production server?

What happens if the connection to WatchFor drops?

Which alerts are on out of the box?

Can it watch a specific process?

Does it monitor Docker or Kubernetes nodes?

How much does server monitoring cost?

How does the agent get updated?

## From our blog

Guides, deep-dives, and best practices from the WatchFor team

[Guides

### "Permissions 0644 are too open"? Fix it with the Chmod Calculator

Oct 04, 2026·6 min readRead article](/blog/how-to-calculate-chmod-permissions)[DevOps

### The best server monitoring tools in 2026, sorted by how many servers you have

Oct 03, 2026·9 min readRead article](/blog/best-server-monitoring-tools)[Monitoring

### Server Monitoring Basics: CPU, memory, disk and network

Feb 18, 2026·3 min readRead article](/blog/server-monitoring-basics)

## See Inside Your Servers in a Minute

Add a host in the dashboard, run one command on the server, and within a minute you see CPU, memory, disk, network and processes. Agent Silent, Disk Almost Full and Memory Pressure alerts are on from the first batch. Hosts start on the Starter plan; you can create the account and try the external checks on the Free plan first, no credit card needed.

[Add your first host](/auth/sign-up)[View documentation](/docs/hosts)

---

Canonical page: https://watchfor.io/server-monitoring · Site guide: https://watchfor.io/llms.txt
