Configure Alerting
How Alerting Works
Alerting lets you define conditions on your metrics that trigger notifications when something goes wrong. Alert rules use PromQL expressions that are evaluated on a regular interval (default: every 60 seconds).
When a condition is true for longer than the configured duration, the alert fires and notifications are sent to your configured channels.
Creating Alert Rules
The easiest way to create an alert is directly from a dashboard graph:
- Navigate to any protocol dashboard (e.g., Metrics > HTTP)
- On any graph, drag the threshold handle on the right margin to set a limit
- A confirmation dialog appears with options for:
- Threshold value — the limit that triggers the alert
- Duration — how long the condition must be true before firing (1m, 5m, 15m, 30m, 1h)
- Click Confirm to save the rule
The system automatically generates the correct PromQL expression, severity level, and alert name based on the metric type:
- Success rate metrics default to critical severity
- Performance metrics (latency, duration) default to warning severity
Managing Alert Rules
View and manage all rules from Metrics > Alerts. Each rule shows:
- Alert name and severity (critical, warning, info)
- Duration threshold
- Current firing status
- Delete button to remove the rule
Firing Alerts
When an alert fires, it appears in two places:
- Alerts page — Full list of currently firing alerts with timestamps and labels
- Protocol dashboard — Alert banner at the top showing active alerts for that protocol
Each firing alert shows the alert name, severity, when it started, and all relevant labels (endpoint, country, etc.). Click a firing alert to jump to the relevant graph.
Alerts automatically resolve when the condition is no longer true.
Notification Channels
Configure where you receive alerts in Metrics > Alerts > Notification Settings.
Email (Required)
Email notifications are always enabled and sent to your registered account email. This ensures you always have a fallback notification channel.
Webhook (Optional)
Send alert payloads to any HTTP endpoint. The webhook payload is designed to be universally compatible with popular platforms:
| Platform | Works out of the box |
|---|---|
| Slack | Reads the text field |
| Discord | Reads content and embeds for rich formatting |
| PagerDuty | Reads payload.summary, payload.severity, payload.source |
| Opsgenie | Reads message, description, priority, tags |
| Telegram | Reads text or message via bot adapters |
| Grafana | Reads title, message, state, status |
| Alertmanager | Full compatibility with version, status, alerts[] array |
| Pushover | Reads title and message |
To set up a webhook:
- Go to Metrics > Alerts > Notification Settings
- Enable the Webhook channel
- Enter your webhook URL (e.g., your Slack incoming webhook URL)
- Click Save Changes
No extra configuration is needed — the payload format works with each platform’s native webhook receiver.
Alert Cooldown
The cooldown period prevents alert spam when an issue persists. After an alert fires, the same alert won’t send another notification until the cooldown expires.
| Cooldown | Use case |
|---|---|
| 15 minutes | Critical services needing fast follow-up |
| 30 minutes | High-priority endpoints |
| 1 hour | Standard monitoring |
| 3 hours | Lower-priority checks |
| 6 hours (default) | General purpose |
| 12-24 hours | Low-noise preference |
Alert Lifecycle
- Rule evaluated — PromQL expression checked every evaluation interval (default 60s)
- Condition met — Expression returns true
- Duration passes — Condition stays true for the configured duration (e.g., 5 minutes)
- Alert fires — Notifications dispatched to all configured channels
- Cooldown active — Same alert won’t re-notify until cooldown expires
- Resolved — When the condition becomes false, the alert clears from the dashboard