Skip to content

feat(telemetry): add blackbox prober, multi-window SLO alerts, and self-hosted ntfy - #66

Merged
simonvanlierde merged 4 commits into
mainfrom
feat/blackbox-slo-ntfy
Oct 31, 2026
Merged

simonvanlierde merged 4 commits into
mainfrom
feat/blackbox-slo-ntfy

Conversation

@simonvanlierde

Copy link
Copy Markdown
Contributor

This adds outside-in uptime probing, multi-window SLO burn rate alerts, and self-hosted alert delivery via ntfy so we can track and alert on service availability without third-party push services. Closes #19.

  • Add Prometheus Blackbox Exporter (prom/blackbox-exporter:v0.26.0) with http_2xx probing for internal and external endpoints.
  • Add multi-window burn rate alerts (ErrorBudgetBurnFast and ErrorBudgetBurnSlow) targeting 99.5% availability, plus a BlackboxProbeFailed critical alert.
  • Add self-hosted ntfy (binwiederhier/ntfy:v2.11.0) with zero-trust topic permissions, internal Prometheus metrics on :9090, and Cloudflare tunnel ingress.
  • Update scripts/smoke.sh, justfile validation, and documentation in docs/RUNBOOK.md and .env.example.

Tests: just check passes with config validation for prometheus, blackbox-exporter, otel-collector, loki, and tempo. just smoke passes end-to-end against the local sandbox with ntfy health and blackbox probe assertions.

…lf-hosted ntfy

- Add Prometheus Blackbox Exporter service for outside-in uptime probing of research endpoints
- Implement Google SRE multi-window burn rate alerts (fast and slow burn) for 99.5% availability targets
- Add BlackboxProbeFailed critical alert for probed endpoint outages
- Add self-hosted ntfy service with zero-trust ACLs, persistent cache, and Cloudflare tunnel ingress
…gelog

- Add 18-rule alert catalog reference table in RUNBOOK.md
- Document self-hosted ntfy user provisioning and Grafana contact point setup
- Add NTFY_BASE_URL and ntfy webhook documentation to .env.example
- Record changes under [Unreleased] in CHANGELOG.md
- Bind ntfy metrics endpoint to internal port 9090 instead of public port 80
- Prevents unauthenticated internal telemetry exposure via the public Cloudflare tunnel
@simonvanlierde
simonvanlierde merged commit 83b2cd4 into main Oct 31, 2026
5 checks passed
@simonvanlierde
simonvanlierde deleted the feat/blackbox-slo-ntfy branch October 31, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Move alert delivery to a self-hosted delivery channel

1 participant