Skip to content

Alerts ​

ProAlert rules needs a JoobQ Pro key. Without one every Core feature keeps working: the Pro routes of the SDK gateway answer 402 pro_required and the console's Pro routes are not served. Get a licence · Core and Pro · Pro features index

Alert rules watch the system's metrics and raise alerts; notification channels deliver them. Rules are evaluated by JoobQ Pro's alert manager, which needs a Pro key: without one the server builds no alert manager and the /api/v1/alerts* routes are not registered. The notification-channel routes exist either way, but only alerts send through them.

The console's Alerts page: a firing High Error Rate alert with its severity, value and Acknowledge button, and a recently resolved alert.The console's Alerts page: a firing High Error Rate alert with its severity, value and Acknowledge button, and a recently resolved alert.
The Alerts page: firing and acknowledged alerts, rules and channels (mock data).

Rules ​

RouteRoleWhat it does
GET /api/v1/alertsviewerOverview: active alerts, rules and recent history
GET /api/v1/alerts/active, /history, /optionsviewerFiring and acknowledged alerts, resolved ones, and what a rule may watch
GET /api/v1/alerts/rulesviewerThe rules
POST /api/v1/alerts/rules {name, metric, operator, threshold, severity?, duration_seconds?, description?}operatorCreate a rule
PUT /api/v1/alerts/rules/:id {enabled}, DELETE /api/v1/alerts/rules/:idoperatorEnable, disable or delete one
POST /api/v1/alerts/:id/acknowledgeoperatorAcknowledge an active alert

The server checks the rules every 30 seconds. Rules apply to the whole system (a rule with a queue is 422). Rules are kept in Redis and shared by every instance, but the state of an alert (firing, acknowledged) is per instance: an acknowledgement sent to another instance answers 404.

Notification channels ​

GET/POST /api/v1/notification-channels, GET/PUT/DELETE /api/v1/notification-channels/:id and POST .../:id/test are admin only, reads included. A channel is {name, kind: email|slack|pagerduty|webhook, enabled, min_severity, email?, url?, secret?}; its URL and key are sealed with JOOBQUI_SECRETS_KEY and never returned.

  • Webhooks are https only, and an address that resolves to a private, loopback or reserved range is refused (JOOBQUI_ALLOW_PRIVATE_WEBHOOKS=true lifts that, for development). Redirects are not followed.
  • Each send is tried three times; deliveries carry X-JoobQUI-Delivery, and with a secret X-JoobQUI-Timestamp and X-JoobQUI-Signature (HMAC-SHA-256 of <timestamp>.<body>).
  • Email channels need SMTP (SMTP_HOST, SMTP_USERNAME).
  • Only the instance holding the alerts lease sends; JOOBQUI_ALERT_NOTIFICATIONS=off keeps an instance from sending.

JoobQ Core is MIT licensed. JoobQ Pro needs a licence key.