{% extends layout %}{% import 'ui/kit.html' as kit %} {% block title %}amebo - thresholds{% endblock %} {% block content %}
A crossed threshold is published as an ordinary amebo event, so alert delivery is the same signed, retried, dead-letterable path as every other webhook. There is no second delivery system to operate.
Subscribe an application to {{ breached_action }} the way you subscribe to anything else:
POST /v1/subscriptions
x-amebo-application: your-app
x-amebo-signature: <hmac-sha256 of the body with your secret>
{"subscription": "pagerduty-alerts",
"application": "your-app",
"action": "{{ breached_action }}",
"handler": "/hooks/amebo-alerts",
"max_retries": 5}
You then get everything the broker already does: a signed envelope, exponential backoff, dead-lettering when it is out of retries, and replay. An alert that never reached your pager is a row you can find on the Deliveries page, not a silence. Subscribe to {{ recovered_action }} for the all-clear.
No thresholds yet
A threshold publishes an ordinary amebo event when it is crossed, so any application can subscribe to it with POST /v1/subscriptions and get a signed, retried, dead-letterable webhook.
| rule | watching | condition | window | current | state | changed | |
|---|---|---|---|---|---|---|---|
| {{ r.name }} | {{ r.service }}{{ ' ' ~ r.route if r.route else ' (all routes)' }} | {{ r.metric_label }} {{ r.comparator }} {{ r.threshold_text }} | {{ r.window_text }} | {{ r.value_text }} | {% if not r.enabled %}paused{% elif r.state == 'breached' %}breaching{% else %}ok{% endif %} | {{ r.last_change|ago }} | {% if principal and principal.superadmin %} {% endif %} |
No threshold has been crossed.
| what happened | action | delivered | when |
|---|---|---|---|
| {{ b.summary }} {{ b.event }} |
{% if b.action == recovered_action %}recovered{% else %}breached{% endif %} | {{ b.delivered }} of {{ b.fanout }} | {{ b.ts|ago }} |