Alerts
Turn on the rules that tell you when the server or the Xray core is in trouble.
Overview
Alerts is a rule engine plus a log of what it fired. Rules are seeded on first start and are disabled by default, so nothing notifies you until you deliberately turn it on. That design avoids surprise messages, but it also means a fresh install is silent until you visit this page. Delivery goes out through the Telegram, Discord and webhook channels configured under Settings → Notifications.
Before you start
- Configure a delivery channel first. Enabling a rule with no channel set up means the rule fires into nothing.
- If you are using Telegram delivery, confirm the bot token is set before you enable rules.
Steps
- Open Alerts from the sidebar.
- Under Rules, read what each rule fires on, then toggle on the ones you want.
- Open a rule’s threshold editor to tune it. Each rule type exposes only the fields that apply to it.
- Use the test action on a rule to send a test alert and verify delivery end to end.
- Watch Recent Events below. It shows the last 100 fires and resolutions and refreshes every 15 seconds.
Reference
| Rule | Fires when | Tunable |
|---|---|---|
| Node Offline | The node stops heartbeating. | Nothing to tune. |
| Xray Crash Loop | Too many crashes inside a window, by default 5 crashes in 300s. | Count, window |
| High CPU | CPU stays above a threshold for a duration, by default above 90% for 300s. | Value, duration |
| High Disk | Disk goes above a threshold, by default above 90%. | Value, duration |
When a rule fires it publishes a system.alert event, which the notification
dispatcher routes to your enabled channels. Rules carry state, so the engine
knows when a condition starts and when it clears, and both appear in the event
timeline.
Separately, Settings → Xray Monitoring controls the crash-detection behaviour itself: the crash-loop threshold and stability period, a notification cooldown to prevent spam during a crash loop, and an auto-disable safety that stops Xray after too many failures.
Troubleshooting
A rule is enabled but nothing arrives. Send a test alert from the rule. If the test does not arrive either, the problem is the channel rather than the rule, so check Settings → Notifications.