What actually needs watching on a Linux server?
Most outages on small fleets come from a short list of causes. A tool that covers these six with clear alerts is worth more than one that graphs 2,000 metrics.
- •Disk space and inode exhaustion, usually from logs that do not rotate or Docker images that are never pruned
- •Memory pressure: a leaking process, swap thrashing, or the OOM killer taking out the database
- •A service that stopped: nginx, PHP-FPM, a queue worker, a Docker container in a restart loop
- •Certificates and domains expiring, which look like an outage to every user
- •A change: a deploy, a package upgrade or a config edit right before the errors started
- •Security exposure: a database port open to the internet, root SSH login, a burst of failed logins
Why do dashboards not solve this for small teams?
Grafana, Datadog and Netdata are built for someone whose job is to read them. A developer who is also on call needs the conclusion: which server, what is wrong, what changed, what to run. Without an SRE, the interpretation step is the bottleneck, not the data.
The practical test for any tool: open a server page at 2 a.m. and ask whether it tells you what to do in one sentence. If it shows you 40 panels, it assumes an expert is reading.
How do you set this up in five minutes?
With Opservo, one command installs a read-only agent that discovers systemd units, Docker containers, PM2 processes, nginx and Apache virtual hosts with SSL expiry, listening ports, MySQL, Redis and PostgreSQL, and Laravel, WordPress, Node, Django and PHP apps. No configuration file, no inbound ports.
curl -sSL https://api.getopservo.com/install.sh | sudo bashWithin a few minutes each server has a 0–100 health score with a named rule behind every lost point, a ranked list of what needs attention, and the exact command that fixes each finding. Add a Slack, email or webhook channel and critical findings page you; add on-call escalation if more than one person shares the load.
What should alert, and what should not?
- •Alert on the things a human must act on now: a service down, disk under 10 percent, a failing disk, a certificate expiring within 7 days, an external check failing twice in a row
- •Do not alert on CPU at 80 percent, a single 5xx, or anything that self-heals; put those in a daily or weekly digest
- •Use anomaly baselines rather than fixed thresholds for traffic-driven metrics, so a busy Monday does not page anyone
- •Every alert should carry the cause and the suggested fix; an alert that only says "CPU high" makes the on-call engineer do the diagnosis at the worst possible time
How do fixes happen without SSH?
Every Opservo finding includes the runnable command. On servers where the operator has enabled remote actions, the dashboard runs it with a confirmation and a full audit record, and Resolve-with-AI can walk a problem to done: propose, explain, run on approval, verify. Routine cases, such as restarting a crashed service or cleaning a filling disk, can be handed to an autonomous policy with cooldowns and caps. The agent stays read-only until you decide otherwise, per server.
Last updated 2026-09-23.