Skip to content
cloudhostDocs
Account

Alerts

Hear when an app's or function's error rate or latency crosses a line, and again when it is back to normal.

Rules#

Each rule compares one metric of an app or function with a threshold every minute, over the complete minutes of a window. It notifies when it starts firing and when it resolves.

FieldValue
project, kindthe app's or function's name; kind is app for an app
metricerror_rate (the 5xx share, 0 to 1), p95_ms, p99_ms or requests
op, threshold> or <, and the threshold
window_min1–60 minutes, default 5
channelsat least one of email: true, sms: true, webhook: "<URL>"

Create a rule#

curl -X POST https://api.ibel.ai/v1/alerts \
  -H "Authorization: Bearer $KEY" \
  -d '{"project":"my-api","metric":"error_rate","op":">","threshold":0.05,"window_min":5,"channels":{"email":true,"webhook":"https://example.com/hooks/alerts"}}'
# {"id":"88e2fe1d-6d75-4de5-8c8f-27380ec66903"}

curl -X POST -H "Authorization: Bearer $KEY" https://api.ibel.ai/v1/alerts/88e2fe1d-6d75-4de5-8c8f-27380ec66903/test
curl -H "Authorization: Bearer $KEY" https://api.ibel.ai/v1/alerts

Create rules in the dashboard, with the API or with the MCP tool create_alert. …/test sends a test message through every channel of the rule and returns each channel's result. The list shows each rule's state (ok or firing), its last value and the newest 50 events.

Channels#

  • Email to the team's owners, admins and developers.
  • SMS to owners and admins.
  • Webhook: a JSON POST to a public address. Redirects are not followed and the request is not signed; keep the address secret.

Email and SMS are sent from inside Iran.

Alerts can also be made from the CLI (cloudhost alerts create <name> <metric> --above n --email; see the CLI) and cover apps and functions only; databases, caches and buckets have their own observability views (cloudhost db stats, cache stats, buckets stats).