Series

Server health and monitoring

How do you keep a Linux server healthy and know before it breaks?

In short

What to watch on a Linux server, how to alert on it without noise, and how to catch a filling disk, a leaking process, an expiring certificate or a silent outage before users do.

Guides

Start here: each answers one question in full, with the commands.

  1. What should Linux server monitoring cover, and how do you set it up?

    Read →
  2. How do you monitor a Linux server without an SRE?

    Read →
  3. How do you monitor multiple Linux servers from one place?

    Read →
  4. How do you monitor a Node.js app in production (PM2, memory, restarts)?

    Read →
  5. How do you get alerted before a disk fills up?

    Read →
  6. How do you set up uptime monitoring with on-call for a small team?

    Read →
  7. How do you monitor Docker containers on a VPS?

    Read →
  8. Is a server monitoring agent safe? What does "no inbound ports" mean?

    Read →
  9. What is AI infrastructure monitoring, and what should it actually do?

    Read →
  10. What is the best server monitoring for small teams?

    Read →
  11. What is the best way to monitor AWS servers without a dedicated SRE?

    A plain guide to AWS server monitoring: what it covers, what good tools do, how to judge them, and how to set up monitoring in under five minutes.

    Read →
  12. How do you monitor a server without opening any inbound ports?

    Learn how outbound-only monitoring agents work, what to look for, and how to monitor server uptime and external checks without exposing new attack surface.

    Read →

How-tos and field notes

One problem each, written to be run through in the next ten minutes.

  1. SSL certificate expiry monitoring: get an alert before a cert expires

    Read →
  2. How to check disk space on Linux and find what is filling it up (df, du, ncdu)

    Check free disk space on a Linux server with df, find the biggest directories and log files with du and ncdu, and clear the usual culprits safely.

    Read →
  3. Monitor Docker container memory and CPU usage: docker stats, sorting, limits, alerts

    How to read docker stats, sort containers by memory, tell a leak from a cache, and set memory limits that do not OOM-kill the wrong container.

    Read →
  4. How to Monitor and Alert on Redis Memory Fragmentation Before It Causes Latency Spikes

    Learn how to track Redis memory fragmentation ratio, set meaningful alert thresholds, and act before fragmentation causes latency spikes in production.

    Read →
  5. How to Monitor Disk I/O Latency on a Linux Server and Find the Bottleneck

    Learn how to measure disk I/O latency on Linux, interpret the numbers, and track down the process or device causing your storage bottleneck.

    Read →
  6. MySQL "Too many connections" (error 1040): monitor connection usage and fix it for good

    Fix MySQL error 1040, Too many connections: find who is holding connections, raise max_connections safely, and alert before the limit is hit.

    Read →
  7. Redis memory usage and eviction: how to monitor it before keys start disappearing

    Read INFO memory, understand maxmemory-policy and evicted_keys, spot fragmentation, and set the two alerts that catch Redis memory trouble before the app does.

    Read →
  8. How to Monitor Server Uptime From Outside Your Network

    Set up external uptime monitoring for Linux servers with real commands, check types, and alert configs — so you know about outages before your users do.

    Read →
  9. Linux server alerts without a monitoring team: the 6 that matter

    The six alerts that catch real outages on a Linux server (disk, memory, service down, SSL, load, failed SSH), the thresholds to use, and how to have them running in five minutes with no Prometheus or Grafana.

    Read →
  10. How to Tell If a Server Is About to Run Out of Memory

    Learn the early warning signs of memory exhaustion on Linux servers — before your app crashes. Real commands, practical thresholds, and what to do.

    Read →
  11. Our alerts went nowhere for 59 days. Here is what we changed.

    For 59 days a webhook rejected every alert we sent our own team, including an 8-day Redis outage. What happened, and five checks for your alert channels.

    Read →
  12. Our filesystem went read-only for 19 days. Nobody saw the warning.

    Three alerts fired on one server over 11 days: kernel filesystem errors, a read-only remount, then a failed service. No alert channel was configured.

    Read →
  13. Why our server health score is not AI

    Opservo uses AI to explain servers, not to score them. Why the 0–100 health score is a fixed standard, and why every lost point names its rule.

    Read →

Free tools and references

No signup. Paste, check, read.

  1. The Opservo Health Standard: a 0–100 score with a named rule behind every point

    Read →
  2. One-command Linux server health check

    Read →
  3. Website uptime checker

    Read →
  4. SSL certificate checker

    Read →