feat: system coverage, deploy verdicts and incidents
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- backend-api-design, observability
Direzione di ricerca
Start with the existing System overview dashboard, deploy markers and split, alert rules, webhook delivery, and email sending described in the issue. Then trace how Fanout accepts and processes OpenTelemetry data, and review the Collector receiver and CI/CD semantic convention details referenced here. Done means the database, queue, and TLS panels, deploy verdicts, panel alerts, incidents, and email delivery work end to end as listed; the issue says each part ships separately.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Goal
Fanout becomes the one place to see a whole system and act on what goes wrong in it. It keeps doing only what it does today — accept OpenTelemetry data and do everything after that — and builds on what already exists: the System overview default dashboard, deploy markers and the deploy split, alert rules with webhook delivery, and Fanout's email sending.
Principle
The boundary is the input, not the feature set. Telemetry arrives only as OpenTelemetry, a standard, so anything that sends OTLP works without a Fanout integration. On top of that data Fanout should be rich and full-featured: dashboards, analysis, alerts, deploy verdicts and incidents all belong here.
1. More of the system on System overview
Recognise standard Collector receiver output and present it, with no per-source integration in Fanout:
- Databases and queues from the
postgresql,mysql,redisandkafkametricsreceivers: connections, slow or failed queries, replication lag, consumer lag. Panels appear when their data exists and their descriptions name the receiver otherwise. - TLS certificate expiry from the
tlscheckreceiver: days until expiry per endpoint, bad when close. - The Send telemetry guide gains the receiver configuration for each.
2. Know what changed, and whether it broke something
- Real change events. Accept deploys and pipeline runs that arrive as OpenTelemetry data (the CI/CD semantic conventions, or the Collector's
githubreceiver) and draw them as deploy markers, alongside today's markers inferred from a newservice.version. - A verdict for each deploy — pass, fail or inconclusive — from the existing before-and-after deploy split, shown on the marker and in the System overview versions table.
3. Act on problems: incidents on top of alerts
- Alerts on dashboard panels, so a System overview panel turning bad (a filesystem above 90%, a host not reporting, a check with no recent result) can fire. Today alert rules see only per-service span and log rollups.
- Incidents: a firing alert opens one, with acknowledgement, an owner, and a timeline that includes nearby deploys; it is recovered only once the alert has stayed resolved.
- Email notifications next to webhooks, using the email sending Fanout already has.
Out of scope
Performance work (a scale benchmark, per-minute summaries, faster metric queries), AI and API cost tracking, and checks run by Fanout itself — Fanout does not gather or probe.
Done when
- A Collector with the receivers above produces database, queue and TLS-expiry panels on System overview, verified end to end through OTLP.
- A deploy event arriving as OpenTelemetry data appears as a marker with a pass, fail or inconclusive verdict.
- A panel-based alert opens an incident, it can be acknowledged and assigned, and it closes only after recovery holds; email and webhook delivery both work.
Each part ships on its own, in this order.
- Lingua principale
- HTML
- Stelle
- 6
- Fork
- 0
- Merge medio
- 2h 25m
- PR unite (30g)
- 25
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di labstack/fanout
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di labstack/fanout
Issue simili
-
state:triage-needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
fix(accounts): Balance Sheet and Profit and Loss crash on PostgreSQL due to MySQL force_indexAperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
puppe1990/amarra-cais#342 ·
I maintainer di solito rispondono entro 1 giorno
-
Discord webhook notifications fail with HTTP 403 (Cloudflare blocks default urllib User-Agent)Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
tharje/spooler-v2#20 ·