Alerts & notifications
Ultraviolet watches your telemetry and tells you when something crosses a line you care about — then delivers that alert wherever your team works. Both live under Monitoring.
Alerts
Section titled “Alerts”On the Alerts page you’ll see any firing alerts up top, your rules, and a history of everything that’s fired. Create a rule with New rule (requires the editor role) and choose what to watch:
| Condition | Alerts on |
|---|---|
| Error rate | the fraction of failing requests |
| Latency p95 | slow requests (95th-percentile latency) |
| Throughput | request volume rising or falling |
| Log error rate | error-and-above logs arriving too fast |
| Metric value | any metric you can chart, at any aggregation |
For each rule you set a comparison and threshold (e.g. error rate > 0.05), a
look-back window, and optional scope — protocol, service, route, and site —
so an alert can be as broad or as targeted as you need. Alerts evaluate
continuously; an empty window never counts as a breach.
The History tab records every firing and recovery with the observed value, the threshold, and whether notifications went out.
Notifications
Section titled “Notifications”The Notifications page manages where alerts go. Add a channel with New channel:
- Webhook — a JSON POST to any endpoint (optionally signed).
- Email — over your SMTP server.
- Slack, Microsoft Teams — branded messages to an incoming webhook.
- PagerDuty — triggers and auto-resolves incidents.
- incident.io — opens and resolves alerts.
Route per rule: each alert rule can send to specific channels, or leave it blank to notify every enabled channel. Recovery notices can be turned off per channel. You can send a test to confirm a channel works, and a delivery history shows every attempt, its outcome, and any error.
Customize the message: a rule can carry its own message template with fields like the rule name, state, observed value, and threshold — handy for tailoring what lands in Slack or an email.