The boy who cried wolf

A very old story, and still the best explanation of why on-call teams stop answering alerts. Read the story first. Then see how NGN helps IT teams anywhere put it right.

Act I

The story

Skip the story
  1. Once, on a hill above a village, a shepherd boy kept watch over the sheep. If a wolf came, he was to cry out, and the whole village would come running. The nights were long, and nothing ever happened.

  2. One night, bored, he filled his lungs and shouted as loud as he could: Wolf! Wolf!

  3. Down in the village, people dropped what they were doing, grabbed a torch and a pitchfork, and ran up the hill. Where is it?!

  4. There was no wolf. Only the boy, laughing. Ha! Got you! The villagers walked back down the hill, grumbling.

  5. A few nights later he did it again. And again. Every time they came running, and every time there was nothing there. Not again…

  6. After a while, the villagers stopped running. When the shout came they shrugged, said It’s just the boy, and went back to their supper. In the pines, something was watching.

  7. Then one night a wolf really did come out of the trees, low and quiet, straight for the flock. The boy shouted louder than he ever had: Wolf! It’s real this time!

  8. Down in the village, everyone heard him. They had heard him a hundred times before. Nobody came.

  9. By morning, the flock was gone.

  10. Nobody believes a liar, even when he is telling the truth.

    The moral, as Aesop told it more than 2,500 years ago.

Act II

Now tell it again, with a monitoring system

Swap the hill for a server room and nothing else needs to change. This is alert fatigue, and it plays out every night in IT teams everywhere.

The boy
  • NagiosWarningDisk /var 82% on web-02
  • PrometheusFiringHighCPU: app-03 at 87%
  • Azure MonitorSev 3Swap in use on vm-db-02
Your monitoring

The boy is your monitoring

Nagios, Icinga, Prometheus, Zabbix, Datadog, AWS CloudWatch, Azure Monitor, Microsoft 365: every one of them will shout about everything if it is set up to. CPU at 87%, a certificate due in 60 days, a backup that ran six minutes long. Each sounds reasonable. Together they are noise.

The villagers

On call tonight

PPrimary47 pages since midnightMuted

SSecondaryPhone on silentAsleep

#noc ignore it, it’s the CPU one again

Your on-call team

The villagers are your on-call team

They came running at first. Then they learned that almost every alert needed nothing from them, muted the channel, and started treating alerts that way.

The wolf
  • IcingaCriticalBGP neighbour down on core-rtr-01

Unread0 acknowledged1 of 47 tonight

The real outage

The wolf is the real outage

The core router loses its internet connection at 3:07am. The alert arrives in the same channel, in the same format, as the forty-six false alarms around it.

The flock
  • OfficeOffline
  • OrdersFailing
  • PhonesDead
  • Staff idle140
Your business

The flock is your business

Customers who cannot order, staff who cannot work, phones that do not ring. That is what the wolf takes while nobody is looking, and nobody finds out until the first customer calls.

Spot the wolf

A quiet night in the alerts channel. Eight tools, each shouting in its own words, every line made to look urgent. One of them is the outage that will cost you tomorrow morning, and the engineer on call is reading this half asleep, on a phone.

#alertsTuesday, 3:11 am · 11 new

  • PrometheusFiringHighCPU: app-03 at 87%
  • NagiosWarningDisk /var 82% on web-02
  • DatadogWarnCertificate expires in 60 days: mail-01
  • IcingaWarningbackup-nightly ran 6 min long
  • ZabbixProblemPing jitter 4 ms on syd-edge-1
  • Azure MonitorSev 3Swap in use on vm-db-02
  • IcingaCriticalBGP neighbour down on core-rtr-01
  • AWS CloudWatchAlarmcpu-high: app-03 at 91%
  • Microsoft 365AlertSign-in from a new device: admin
  • ZabbixProblemNTP drift 40 ms on log-01
  • NagiosWarningMail queue at 120 messages

The villagers did nothing wrong

When almost every alarm needs nothing from you, ignoring alarms is the rational response. Hospitals named the problem first: in 2013 The Joint Commission estimated that between 85 and 99 percent of alarm signals in hospitals do not require clinical intervention, and found alarm fatigue the most common contributing factor in alarm-related harm.1

IT is no different. Google’s Site Reliability Engineering book warns that the fatigue noisy alerts cause “can also cause serious alerts to be treated with less attention than necessary”.2 Alert fatigue is not a discipline problem. It is a design problem, and it is fixed by giving the boy fewer reasons to shout.

Act III

A better ending

The fix is not a louder alarm or more people on call. It is a boy who only cries wolf when there is a wolf, and a village that knows exactly who goes when he does.

  1. Listen to the noise

    We go through what actually fired over the last month: every alert, who it reached, and whether anyone needed to do anything.

  2. Agree what a real wolf is

    The business, not the engineers, names its emergencies: customers cannot log in, orders stop, the phones are down, data is at risk.

  3. Watch for wolves, not rustling

    Alerts fire on what users would notice (latency, traffic, errors and saturation, Google’s four golden signals) and on how fast a service is burning through its error budget, not on every CPU spike.2,3

  4. Send each cry to the right person

    Related alerts are grouped into one notification, knock-on alerts are suppressed while their cause is firing, and each alert is routed by service and severity to the person who owns it, escalating until someone acknowledges it.4,5

  5. One cry, one plan

    Every alert that wakes someone links to a short runbook: what it means, who is affected, what to check first and who to call.

  6. Train the village, and keep it honest

    Your engineers learn to write alerts and run the weekly fifteen-minute review: what fired, did anyone need to act, does it stay. Alerts that never need action are deleted.

The same wolf, cried properly

The difference is not a louder alarm. It is an alert that says what is at stake, who is affected and who is already on it, and quietly folds the noise away.

Before

  • IcingaCriticalBGP neighbour down on core-rtr-01

+ 46 more alerts like it tonight. Which one matters? Nobody can tell from this.

After

P1Sydney office is offlineAcknowledged 03:09

Sites
Sydney head office, Parramatta warehouse
Services
Internet, phones, VPN, online orders
Users affected
140 staff and every customer order
Likely cause
core-rtr-01 lost its BGP session to the upstream at 03:07

38 related alerts grouped into this one12 knock-on alerts held back

  1. Detected from what users see, not CPU
  2. Paged Network on-call: call, SMS, Teams
  3. Acknowledged, runbook opened
  4. Would have escalated to the secondary

Runbook: Upstream BGP session down

How we work with your team

NGN works with IT teams in Australia and around the world, on site or remotely, with the tools you already run.

  • TrainHands-on sessions for your on-call engineers: writing alerts that earn a page, runbooks, routing and the weekly review.
  • TuneWe rebuild the alert set you already have, in Icinga2, Prometheus, Grafana or whatever you run, so what is left is trusted.
  • ImplementNew monitoring and alert routing, built and documented: Prometheus and Alertmanager, Icinga2 and Grafana, notifying through PagerDuty, Microsoft Teams, Slack, email, SMS or a phone call.
  • AnswerOr hand us the pager: NGN monitors around the clock, and our engineers take the call and act on it.

Sources

  1. The Joint Commission, Sentinel Event Alert, Issue 50: Medical device alarm safety in hospitals, 8 April 2013.
  2. Google, Site Reliability Engineering: Monitoring Distributed Systems and Being On-Call.
  3. Google, The Site Reliability Workbook: Alerting on SLOs.
  4. Prometheus, Alertmanager: grouping, inhibition, silences and routing.
  5. PagerDuty, Incidents: escalation until acknowledged.

The moral is Aesop’s, from more than 2,500 years ago. The method in full, with worked examples of symptom-based alerts, is in If your monitoring wakes you at 3am, it is not monitoring; the monitoring tools we use are on network automation and monitoring.

Questions about alert fatigue

Question not here? Ask an engineer →

What does the boy who cried wolf have to do with IT monitoring?

It is the same story. A monitoring system that raises alarms about everything teaches the people on call that alarms do not mean anything, so when a real outage arrives it is ignored like the false alarms before it. In IT this is called alert fatigue, and like the fable, the fault lies with the alarms, not with the people who stopped answering them.

What are the warning signs of alert fatigue in an IT team?

An alerts channel or email folder nobody reads, alerts that are routinely acknowledged without being looked at, the same alert firing every night, outages that customers report before monitoring does, and one experienced engineer who just knows which alerts are real. Any one of these means the alert set needs rebuilding.

Will cutting the number of alerts mean we miss real problems?

Not if it is done properly. The alerts that remain are built around what customers would notice, so they catch real problems more reliably than a wall of CPU and disk warnings did. We also track incidents that arrived with no alert, which shows straight away if anything was cut too deep.

How long does it take to fix a noisy monitoring system?

Usually a couple of weeks for the rebuild itself, using the tools you already have, such as Icinga2, Prometheus or Grafana. The weekly review that keeps it quiet afterwards takes about fifteen minutes.

What standards does NGN follow when it rebuilds alerting?

The practices Google published for its own Site Reliability Engineering teams: every page must be actionable, alerts fire on symptoms users would notice rather than internal causes, paging is driven by how fast a service is using up its error budget, and an on-call engineer should face no more than two incidents in a twelve-hour shift. Alerts are grouped, suppressed and routed in tools such as Prometheus Alertmanager, and escalate until someone acknowledges them.

Can NGN be the on-call team that answers our alerts?

Yes. NGN monitors around the clock, with alerts routed by severity to our engineers and the escalation path you choose outside business hours, so a real alarm at 3am reaches someone who acts on it.

What our clients say.

5.0 from 19 Google reviews

We have used Next Generation Networks for several custom solution projects that went well beyond the standard scope listed on their website. Every time, the team has been exceptional—genuinely enthusiastic about tackling complex challenges and consistently delivering solutions that exceed…

James Johnson View on Google

Great job updating our webpage and always very helpful.

Yvonne Barnes View on Google

The best, love these guys!!!

Pro Wet & Dry View on Google

Great internet and phone service, excellent customer service.

Fiori Mercuri View on Google

Our network dropped during peak hours. NGN redesigned our infrastructure with automatic failover redundancy after-hours with zero downtime. Flawless stability ever since!

Portia Goldstien View on Google

Read all 19 reviews Leave us a review

Is your monitoring crying wolf?

Tell us about your alerts. We rebuild noisy monitoring into something a team will answer, usually in a couple of weeks, with the tools you already have.

Australia

1300 096 253

International

+61 2 8287 3300

Location

Sydney, NSW, Australia

Hours

Open 24 hours, 7 days

Send us a message

We reply the same business day

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.