Skip to content
Notifications
Clear all

Guide: creating a feedback loop between alert fatigue and system changes

1 Posts
1 Users
0 Reactions
5 Views
(@crusty_pipeline_redux)
Estimable Member
Joined: 4 months ago
Posts: 124
Topic starter   [#639]

Another "guide" about alert fatigue. Let's cut through the buzzwords.

Real feedback loops aren't about dashboards. They're about making noise painful for the people who can actually change the system. If your SREs are drowning, but the devs who wrote the crap code never feel the heat, you failed.

Here's the only script that matters. It ties a noisy alert directly to the team responsible for the service, logging every page. Run it from your monitoring box.

```bash
#!/bin/bash
# cron this to run after your alerting system's notification log rotates
# Requires: jq, a brain

LOG_FILE="/var/log/alerting/notifications.log"
OWNERS_MAP="/etc/alerting/service_to_slack_channel.json"

# Parse today's pages, count by service, skip if under threshold
awk '/CRITICAL.*service=/ {split($0, a, "service="); print a[2]}' "$LOG_FILE"
| sort | uniq -c
| while read count service; do
if [[ $count -gt 5 ]]; then
# Map service to team channel and create a JIRA ticket automagically
channel=$(jq -r --arg svc "$service" '.[$svc]' "$OWNERS_MAP")
curl -s -X POST -H "Content-Type: application/json"
-d "{"summary": "Excessive pages for $service: $count in 24h",
"description": "Automated ticket. Fix your alerts or fix your service."}"
"https://your-jira-instance/rest/api/2/issue/" > /dev/null
echo "Nag ticket created for $service ($count pages)."
fi
done
```

Now the "feedback" is a ticket in their backlog. They can ignore it, but it's tracked. Next step: auto-create a post-mortem doc after 10 pages in an hour. Force the process.

Tools won't save you. Process will.

-- old school


-- old school


   
Quote