Four rule kinds, including the one that catches a broken install
Threshold rules for a figure crossing a line, anomaly rules for a figure leaving its usual range, error-spike rules for a sudden rise in JavaScript errors, and no-data rules, which catch the deploy that removed the tracker, the failure mode that otherwise presents as a quiet week.


Delivered where the team already is
Slack, email or a generic webhook. Email goes out through Resend when it is configured, and the delivery result is recorded on the alert event itself, so a rule that fired but never reached anybody looks different from a rule that never fired.


History and cooldown
Every firing is recorded with its value and its outcome. Cooldowns stop a flapping metric from producing forty notifications overnight, which is how a team learns to mute the channel, at which point the alerting is worse than none.


How it works, precisely
- Rule types
- threshold · anomaly · no_data · error_spike
- Evaluation
- Every five minutes, with a distributed lock so one instance evaluates each rule
- Channels
- Slack, email (Resend, SMTP or log), generic webhook
- Noise control
- Per-rule cooldown, with firing history retained
Next, most people read
Run it yourself this afternoon
Clone the repository, bring up the stack with Docker Compose, paste one script tag. The data never leaves your machines.

