The Register recently reported that System76 has drawn a hard line on COSMIC, its desktop environment: contributions must be human-written — no AI-generated code, no exceptions. Across the aisle, GNOME maintainers are having the opposite argument: whether to accept bug reports filed by automated AI scanners, with some developers insisting that bot-discovered flaws are simply too valuable to throw away.
Strip away the desktop-Linux politics and you're left with a problem every IT operations team knows intimately: automated systems produce enormous amounts of input, and human attention is finite. Ban the machines and you miss real problems. Accept everything raw and your humans stop reading the queue at all.
That's not a philosophy debate. For an on-call technician, it's 2:14 a.m. and a phone that won't stop buzzing.
The Problem in Depth: Your Monitoring Tool Is the Unmoderated Bug Queue
Consider a typical night on a mid-size MSP NOC or a busy internal IT desk running a common stack — PRTG or Zabbix for monitoring, NinjaOne or ConnectWise RMM for endpoints, and a separate helpdesk like Freshservice, Jira Service Management, or ConnectWise Manage:
- 02:07 — A site's ISP flaps and the core switch drops. The monitoring tool fires 47 "device offline" alerts — one per switch, AP, printer, and workstation behind it — each paging as an independent incident.
- 02:15 — A Hyper-V host reboots on schedule during the patching window. The RMM fires 19 alerts for stopped services, CPU spikes, and disks that "went missing" (they came back 90 seconds later). All expected. None suppressed — because the patch schedule lives in a different tool than the monitoring thresholds.
- 02:31 — The VPN tunnel that has flapped every night for three weeks alerts for the 14th consecutive time. It's wallpaper now. Nobody reads it.
- 02:52 —
SRV-FILE-01crosses 96% disk utilization. The alert that actually matters arrives as email #63 of the night, formatted identically to the 62 pieces of noise ahead of it.
Nobody on that rotation is negligent. The system is. When a channel cries wolf 60 times a night, the only rational human response is to stop trusting the channel — and the real incident hides in the noise the same way a genuine bug report hides under 400 auto-generated duplicates in an unmoderated tracker. GNOME's cautious maintainers and your exhausted on-call tech are fighting the same battle.
Why the gaps exist:
- Monitoring tools were built as metric collectors first. Classic platforms treat every threshold crossing as an event worth emitting. Alerting and triage were bolted on later, not designed in.
- RMM platforms alert per device, not per situation. ConnectWise or N-able will happily generate 47 separate offline alerts for one switch failure, because each endpoint is evaluated in isolation.
- The helpdesk is a separate system. Ticket timestamps live in Freshservice; alert timestamps live in the monitor. Answering "did we respond inside the 15-minute P1 SLA?" requires exporting two CSVs and doing archaeology.
- Nothing shares a model of change. The monitor doesn't know a patch deployment rebooted the server. The RMM doesn't know a ticket is already open on that printer. Every tool hedges by alerting on everything.
What it costs:
- Detection-to-response time. A tech woken six times a night for noise doesn't sprint for the seventh page. MTTA for the real incident stretches from minutes to hours — or until a user calls at 08:20 and "the users found it first" becomes the unofficial escalation path.
- SLA integrity. You cannot report on alert-to-response time when alerting and ticketing data live in disconnected systems. Every SLA review becomes a spreadsheet exercise with a margin of error bigger than the SLA itself.
- Burnout and attrition. A rotation that pages six times a night for zero real incidents isn't a rotation — it's a resignation-letter factory. Ask anyone who has lost a good sysadmin to a quieter job.
How AlertMonitor Turns Noise Back Into Signal
AlertMonitor was designed around a specific insight: alert fatigue is not a volume problem — it's a signal quality problem. COSMIC's answer to machine noise is "reject it all." The naive monitoring answer is "send everything." AlertMonitor takes the third path: keep the machine-generated signals, but only let through the ones that carry information a human can act on.
- Full context on every alert. An AlertMonitor alert isn't "CPU 92% on SRV-APP-03." It's this device, this client or tenant, what changed on it recently (a patch deployment, a config push, a new service), and what healthy looks like for that specific workload based on its baseline. The tech opening the alert at 2 a.m. starts with answers instead of questions.
- Smart deduplication. When the core switch drops, the 47 downstream offline events collapse into one parent incident with correlated children — not 47 pages. A flapping tunnel firing 14 times becomes one escalating incident, not 14 interruptions. The volume that reaches a human shrinks by an order of magnitude; the information doesn't.
- Multi-level on-call routing and escalation. Escalation policies are configurable per severity, per client, per schedule. The P1 for a top-tier client at 2 a.m. pages the primary on-call immediately; a P4 printer alert during business hours becomes a helpdesk ticket. Acknowledge and escalation stops. Ignore it and it climbs automatically — no dispatcher required.
- Maintenance window suppression tied to actual patch activity. Because patch management lives in the same platform as monitoring, AlertMonitor knows SRV-APP-03 is supposed to reboot Wednesday at 02:00. The reboot pages no one. Thursday's backup failure still does — because it isn't in the window.
- One platform, one workflow. Every alert links to the device record, its patch compliance status, any open tickets, and a one-click remote session. The old way: monitor tab, RMM tab, ticketing tab, remote tool — 12 minutes of triage. The AlertMonitor way: one alert, full context, act, in about 90 seconds. And because alerts, tickets, and responses share one data model, the SLA report is a filter, not a forensic project.
What You Can Do Today
1. Audit your alert stream this week. Export the last 30 days of alerts from whatever tool you run and classify honestly: did a human need to act? If more than 10% of your pages required no action, your thresholds are the problem — not your techs.
2. Replace static thresholds with baselines. A database server at 85% CPU might be a normal Tuesday. A print server at 85% CPU is a fire. Baselines beat magic numbers. To learn what "healthy" looks like for a given server, sample it:
# Sample CPU and free memory every 60s for 10 minutes to establish a baseline
$server = 'SRV-APP-03'
$cpu = @(); $mem = @()
1..10 | ForEach-Object {
$cpu += (Get-CimInstance -ComputerName $server Win32_Processor |
Measure-Object LoadPercentage -Average).Average
$os = Get-CimInstance -ComputerName $server Win32_OperatingSystem
$mem += [math]::Round($os.FreePhysicalMemory/1MB, 2) # GB free
Start-Sleep -Seconds 60
}
"CPU avg: $([math]::Round(($cpu | Measure-Object -Average).Average,1))%"
"Free RAM avg: $([math]::Round(($mem | Measure-Object -Average).Average,1)) GB"
3. Find the disk-full alerts before they find you. Disk exhaustion is the most predictable "unpredictable" outage in IT. Run this across your estate weekly — or better, let a baseline-driven alert catch the trend days earlier:
# Flag every server volume under 15% free across the domain
$servers = Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' |
Select-Object -ExpandProperty Name
Get-CimInstance -ComputerName $servers -ClassName Win32_LogicalDisk -Filter 'DriveType=3' |
Select-Object @{n='Server';e={$_.PSComputerName}},
@{n='Drive';e={$_.DeviceID}},
@{n='FreeGB';e={[math]::Round($_.FreeSpace/1GB,1)}},
@{n='FreePct';e={[math]::Round(($_.FreeSpace/$_.Size)*100,1)}} |
Where-Object FreePct -lt 15 | Sort-Object FreePct
4. Let the tool fix the boring stuff before it pages anyone. A stopped service at 2 a.m. is not a human decision — it's a restart and a log entry. AlertMonitor's auto-remediation policies handle this pattern; here's the underlying logic to validate the fix before you trust it:
# Verify and restart a critical service, with an audit trail for the helpdesk
$name = 'Spooler'
$svc = Get-Service -Name $name -ErrorAction SilentlyContinue
if ($svc -and $svc.Status -ne 'Running') {
Start-Service -Name $name
"$(Get-Date -Format s) - $name was $($svc.Status); restarted" |
Add-Content C:\Logs\service-restarts.log
}
Same idea on Linux — make check scripts speak clearly (exit 2 = critical) so the monitor escalates on meaning, not just on a timer:
#!/bin/bash
# Exit 2 when the root filesystem crosses the threshold so the monitor can escalate
THRESHOLD=85
USAGE=$(df / | awk 'NR==2 {gsub("%",""); print $5}')
if [ "$USAGE" -ge "$THRESHOLD" ]; then
echo "CRITICAL: root filesystem at ${USAGE}%"
exit 2
fi
echo "OK: root filesystem at ${USAGE}%"
5. Sync suppression windows to your patch calendar. Before the next Patch Tuesday, register every scheduled reboot window as a maintenance window — and make sure anything failing outside the window still pages. In AlertMonitor, suppression is tied to the patch deployment itself, so "the server is down because we told it to reboot" never reaches a phone.
6. Test the escalation ladder like you test backups. Fire a synthetic P1 at 02:00 on a quiet night. If the right human isn't holding a phone within two minutes, the policy is decoration. Then tighten it: fewer tiers, clear acknowledge-to-stop behavior, automatic escalation on silence.
The Takeaway
System76 is right that unfiltered machine output erodes trust in a channel. GNOME's reformers are right that machine-discovered problems are too valuable to discard. Your monitoring stack makes this exact trade-off every night, and the correct answer for on-call operations is neither a ban nor a flood — it's a signal pipeline: context on every alert, deduplication of cascades, suppression of expected change, and escalation that puts the meaningful page in front of the right human in seconds.
Your techs don't need more tools pretending to watch the environment. They need one that knows the difference between a Wednesday reboot and a real 2 a.m. fire.
Related Resources
AlertMonitor Alert Management & On-Call Operations AlertMonitor Platform Overview Book a Demo Alert Management & On-Call Operations Resources
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.