Linux & Servers

Monitoring and Alerting: Knowing Something Broke Before Your Customers Do

The worst way to learn your website or email is down is an angry message from a customer who found out first. Monitoring is how you flip that around, but most of it is done badly, as dashboards nobody looks at. Here's what's actually worth watching, and how to be told when it matters.

Monitoring sounds like an enterprise concern, something for companies with a network operations centre and a wall of screens. It isn't. At its core it's a simple, universal need: to find out that something important has broken before your customers, suppliers, or your own staff do. For a small business, getting a quiet text message that your site is down at 2pm is worth a great deal more than discovering it from a lost sale at 5pm.

The distinction that matters most: monitoring vs alerting

These two words get used interchangeably, but they're different jobs, and confusing them is why so much monitoring is useless:

  • Monitoring is collecting information about whether things are working: is the site responding, is the disk filling up, did the backup run.
  • Alerting is being told, actively, when something's wrong. It's a message that reaches you, now, without you having to go and look.

The failure mode to avoid: a beautiful dashboard full of graphs that nobody opens. Monitoring without alerting is just data you're not looking at, it tells you what went wrong after you've already noticed the hard way. The entire value is in the alert: something that pushes a notification to you when, and only when, you need to act. Build for the alert first, and treat the dashboard as secondary.

What's actually worth monitoring

You can monitor almost anything, which is exactly why people monitor the wrong things and drown. For a typical small business, this short list covers the overwhelming majority of "oh no" moments:

Is it up? (Availability)

The most basic and most valuable check: is your website responding, is your email server accepting mail, are the services customers rely on actually reachable? This catches the outages that directly cost you money and reputation. It's also the easiest to set up and the one with the highest payoff.

Is the certificate about to expire? (SSL)

An expired SSL certificate takes a site offline just as effectively as a crashed server, the browser blocks it with a scary warning. With certificate lifespans shrinking, expiry is an increasingly common, entirely preventable outage. A monitor that warns you days before a certificate expires turns a crisis into a non-event.

Is it running out of room? (Disk and resources)

A disk that fills up will take down a website, a database, or a mail server, and it does so gradually, then all at once. Watching free disk space (and, to a lesser degree, memory and load) catches a slow-building problem while there's still time to act, rather than at the moment everything stops.

Did the backup actually succeed? (Backups)

As covered in our backup guide, a backup you assume is running but never verify is one of the most dangerous false comforts in IT. Monitoring that your backups are actually completing, and alerting you when one fails, is the difference between "we're covered" and finding out otherwise on the worst possible day.

The principles that keep it useful

Good monitoring is less about tools and more about discipline. A few principles do most of the work:

  • An alert must be actionable. Every alert should mean "a human needs to do something." If an alert doesn't require action, it shouldn't be an alert, it's noise, and noise is actively harmful.
  • Beware alert fatigue. This is the single biggest killer of monitoring. If you get twenty alerts a day that don't matter, you'll start ignoring all of them, including the one that does. Fewer, higher-quality alerts beat comprehensive noise every time.
  • Monitor from outside, not just inside. A server checking its own health can't tell you it's unreachable: if it's down, so is its own monitoring. An external check (from another location entirely) is what catches a total outage. Ideally you have both.
  • Make the alert reach you where you'll see it. An email alert is useless if the outage is your email. Route critical alerts through a channel independent of the thing being monitored, a text message, a push notification, a separate service.
  • Test that the alerting actually works. Like backups, an untested alert is a hope. Deliberately trigger a test and confirm the message actually reaches you, before you're relying on it for real.

Keeping it proportionate

You don't need an elaborate monitoring stack to get most of the benefit. There are excellent, approachable tools, including free and open-source ones, that will watch whether your key services are up and message you when they're not, and that alone puts you far ahead of most small businesses. Start with availability and certificate monitoring for the things customers touch, add backup-success and disk-space checks for the things that fail quietly, and make sure every alert reaches you somewhere you'll actually notice. That's a proportionate setup that earns its keep the first time it saves you from finding out the hard way.

The one-line version: monitor the handful of things whose failure actually hurts, is it up, is the certificate valid, is it running out of space, did the backup work, and wire them to alerts that reach you, are worth acting on, and have been tested. Skip the wall of graphs. The goal isn't visibility for its own sake; it's being the first to know.

Frequently asked questions

What's the difference between monitoring and alerting?

Monitoring is collecting information about whether things are working. Alerting is actively being told when something is wrong, through a message that reaches you without you having to look. Monitoring without alerting is just data you're not watching.

What should a small business actually monitor?

The high-value basics: whether key services (website, email) are up and reachable, whether SSL certificates are about to expire, whether disks are running out of space, and whether backups are actually completing. These cover the majority of costly, preventable failures.

Why is monitoring from outside my own server important?

A server monitoring its own health can't tell you it's unreachable, if it's down, its monitoring is down too. An external check from another location is what detects a total outage, so ideally you monitor both from the server and from outside it.

What is alert fatigue?

It's what happens when you receive so many unimportant alerts that you start ignoring all of them, including the ones that matter. It's the most common reason monitoring fails in practice, which is why every alert should be genuinely actionable.

Want to be the first to know when something breaks, instead of the last? Get in touch, I can help you work out what's worth monitoring and how to set it up proportionately.

Get in touch →