Skip to content

Servers and the fleet

Five roles, the processes they run, the thresholds that colour them, and how the rack grows.

Last updated:

You manage named machines — web-01, db-02, lb-01. Each one carries CPU, RAM, disk and temperature, a status derived from those, and a list of running processes that top will show you.

The five roles

RoleJoins fromBaseline CPU / RAMBandwidthProcesses you will see
webnight 138% / 46%1500 req/s eachnginx, api-worker
dbnight 132% / 61%postgres, checkout_tx
lbnight 344% / 30%3000 req/s eachhaproxy, keepalived
cachenight 422% / 55%redis-server
workernight 651% / 44%celery, backup-agent

Only web and lb carry bandwidth capacity. That is worth internalising: a database is never the reason your network bar is red, and adding cache machines does nothing for a traffic problem.

Process names are stable, so they become part of the vocabulary. A line naming backup-agent at three in the morning means something quite different from a line naming nginx.

Status thresholds

Status is derived from whichever metric is worst:

MetricWARN atCRIT at
CPU80%95%
RAM85%95%
Disk90%98%
Temperature85 °C95 °C

DOWN is different — it is not derived from a threshold and it is sticky. A machine that goes down stays down until something puts it back.

Temperature is clamped to a 40–120 °C band, so a cooling problem has a real ceiling rather than running away to nonsense values.

How the rack grows

The fleet is rebuilt each night from the night's plan. It is not random and it is not a formula you need to derive — it is a table:

Night12345678910
Machines34577911141416

Night one is exactly web-01, web-02, db-01. By night ten you are running sixteen machines across all five roles, with two databases, two load balancers and three workers.