Alert hierarchy for hosting automation: stop paging on noise
Learn to build an alert hierarchy for hosting automation that filters routine noise from critical failures, so you only get paged for issues that truly impact customer uptime and revenue.
If you run hosting automation, you already know the pain: your phone buzzes at 3 a.m. for a disk usage warning that resolves itself by morning, while a real outage on a revenue-generating VPS goes unnoticed for hours. The fix is an alert hierarchy—a system that classifies events by severity and routes them to the right channel. This guide shows you how to build one that separates critical failures from routine noise.
What is an alert hierarchy and why does it matter?
An alert hierarchy is a set of rules that assigns a severity level to every event your hosting automation detects, then decides who gets notified and how. Without it, you either get flooded with alerts (so you ignore them) or you miss the one that matters. The goal is to page a human only when a customer's service is actually degraded or revenue is at risk.
For a working reseller, this is the difference between a sustainable operation and a burnout machine. You might have dozens of servers, hundreds of domains, and automated provisioning—each generating events. A hierarchy lets you automate the response to routine issues (like a low disk space that triggers a cleanup script) and escalate only what needs human judgment.
How do you classify alerts by severity?
Start with three levels: Critical, Warning, and Informational. Critical means a customer-facing service is down or about to be—like a web server returning 500 errors, a VPS that won't boot, or a billing failure that prevents a renewal. Warning means a threshold is crossed but service is still up—like CPU at 90% for 10 minutes or disk at 80%. Informational is routine—like a backup completed or a domain auto-renewed.
For each level, define the response:
- Critical: Page a human immediately via SMS or push notification. These are rare, but they need eyes within minutes.
- Warning: Send an email or a message to a chat channel. A human should acknowledge within a few hours, but automated actions (like scaling) can run first.
- Informational: Log it and maybe send a daily digest. No action needed unless it repeats.
A simple rule of thumb: if an alert doesn't affect customer uptime or revenue, it's not critical. If it does, it is.
What are the common sources of alert noise?
Most noise comes from alerts that trigger too easily or lack context. Here are the usual culprits:
- Threshold alerts on metrics like CPU or memory that spike briefly and recover.
- Single-instance failures that are automatically retried or failover to a healthy node.
- Maintenance windows where you intentionally take a server down, but the monitoring system doesn't know.
- Duplicate alerts from multiple monitoring tools watching the same service.
To reduce noise, add a duration condition: only fire an alert if the condition persists for, say, 5 minutes. Also, suppress alerts during scheduled maintenance and deduplicate by grouping related events.
How do you build the hierarchy step by step?
Here's a practical process to implement an alert hierarchy in your hosting automation:
- Inventory your services. List everything you monitor: web servers, VPS nodes, domains, billing, DNS, and email. For each, identify what 'critical' looks like—e.g., a domain expiring or a VPS unreachable.
- Define severity rules. Write a table: Event type, Condition, Severity, Response. For example: 'VPS ping failure' + 'for 3 checks' = Critical → page; 'Disk usage > 80%' + 'for 1 hour' = Warning → email.
- Set up routing. In your monitoring tool (like Nagios, Zabbix, or a SaaS like UptimeRobot), configure notification channels per severity. Critical goes to SMS/phone, Warning to email/chat, Info to logs.
- Automate routine responses. For Warning-level issues, trigger an automated action first—like restarting a service or increasing disk space—and only escalate if that fails.
- Test and tune. Simulate a critical failure (e.g., stop a VPS) and see if you get paged. Then simulate a transient spike and confirm you don't. Adjust thresholds based on real data.
For example, a typical rule might be: If a VPS is unreachable for 10 minutes, that's Critical. But if it's just high CPU for 5 minutes, that's Warning—and you might have an automation that scales it up.
How do you handle multi-tenant and reseller scenarios?
If you're a reseller, you have multiple customers, each with their own services. A critical alert for one customer might be revenue-affecting, while another is just a test account. You need to prioritize by customer tier or revenue impact.
One approach is to assign a priority score to each customer or service: premium customers get faster escalation, and their alerts are always Critical if down. For lower-tier customers, you might allow a longer window before paging. Also, consider grouping alerts by customer so you see 'Customer A has 3 services down' rather than 3 separate pages.
In your automation, you can tag each service with a 'business impact' label—high, medium, low—and use that to override the default severity. For instance, a domain renewal failure for a high-impact customer is Critical, but for a low-impact one, it might be Warning.
What tools can help you implement this?
Most hosting automation platforms include some alerting, but you can also use dedicated monitoring tools. Popular options include Nagios, Zabbix, and Prometheus for self-hosted setups, or SaaS like PagerDuty and Opsgenie for routing alerts to humans.
If you use Teculiar, a platform that helps resellers build and automate hosting services, you can integrate its webhooks into your monitoring stack to trigger alerts based on events like provisioning failures or billing issues. That way, you get a unified view of your entire operation.
For a simple setup, you could use a script that checks your services and sends alerts via email or SMS based on severity. But as you grow, a proper monitoring tool with escalation policies is worth the investment.
What should you do next?
Now that you know the principles, here's how to put them into practice:
- Audit your current alerts and classify each one as Critical, Warning, or Info. Delete or downgrade any that don't meet the bar.
- Add duration conditions and maintenance windows to your monitoring to cut noise.
- Set up a test scenario where you intentionally break a service and verify you get the right alert.
- Review your alert hierarchy quarterly as your infrastructure and customer base change.
Start with the top three alerts that annoy you most and fix those first. You'll see immediate relief.