Alerting Overview
Hoppla alerts you when something goes wrong with your monitored services. Alerting is built on three concepts: notification channels (where alerts are sent), notification rules (when alerts are sent), and incidents (what triggered the alert).
How Alerting Works
When a check detects a problem, the following happens:
- Check fails -- A monitoring check returns an unexpected result.
- Verification -- For uptime checks, the failure is verified from a second probe location before proceeding. Single-location failures do not trigger alerts.
- Alert evaluated -- Hoppla evaluates the failure against configured thresholds and rules.
- Incident created -- If the alert criteria are met, an incident is created.
- Rules matched -- Notification rules are checked to determine which channels should be notified.
- Notifications sent -- Alerts are dispatched to all matching channels (email, Slack, webhook, etc.).
- Escalation (optional) -- If a rule has an escalation policy attached and the incident isn't acknowledged in time, Hoppla escalates it through additional steps -- optionally paging whoever is on call. Acknowledging the incident stops further escalation.
When the check passes again, the incident is automatically resolved and a resolution notification is sent through the same channels.
Event Types
The following event types can trigger notifications:
| Event | Description |
|---|---|
| Incident Created | A monitor detected a failure (downtime, expired certificate, etc.) |
| Incident Resolved | A previously failing monitor recovered |
| Monitor Flapping | A monitor is rapidly switching between up and down |
| Flapping Resolved | A previously flapping monitor has stabilized |
| Incident Storm Detected | Multiple monitors failing simultaneously |
| Storm Resolved | An incident storm has cleared |
| SSL Expiring | SSL certificate expiring soon |
| Domain Expiring | Domain registration expiring soon |
| Degraded Performance | Lighthouse scores below configured threshold |
| Application Health | Health endpoint reporting issues |
| Sitemap Issues | XML sitemap validation problems |
| Security Headers | Missing or misconfigured security headers |
| Redirect Chain | Redirect issues detected (loops, excessive hops) |
| Robots.txt | Robots.txt problems detected |
| DNSBL Listing | Server IP found on a DNS blacklist |
| Broken Links | Broken links detected during a crawl |
| Mixed Content | Insecure (HTTP) content detected on an HTTPS page |
| Server Resources | Agent metrics exceed configured thresholds |
| Warning Cleared | A previous warning has resolved |
| DNS Records Changed | DNS record changes detected, including changes to the zone's authoritative nameservers (an NS-hijack signal). The DNS change payload includes the zone, nameservers, and the per-record changes. |
| Certificate Renewed | SSL certificate was renewed |
Quick Setup
To start receiving alerts:
- Create a notification channel -- Configure where alerts go (email, Slack, webhook, etc.). See Notification Channels.
- Create a notification rule -- Define which events trigger notifications on which channels. See Notification Rules.
- Add monitors -- Your monitors will now generate incidents and notifications automatically.
By default, new teams have an email channel pre-configured for the team owner's email address.
Going further
- Escalation policies -- Make sure critical incidents that nobody acknowledges keep climbing the chain until someone responds.
- On-call schedules -- Rotate who gets paged by day and time, so the right person is alerted instead of the whole team.