GH GambleHub

Sistema di segnalazione e segnalazione

1) Ruolo e obiettivi

Il sistema di segnalazione non è l'invio di messaggi, ma il tracciato decisionale: evidenzia in tempo le deviazioni, suggerisce azioni e mantiene un equilibrio tra tempestività e silenzio.

Obiettivi:
  • Riduce MTTD/MTTR con priorità e playbook chiari.
  • Riduce alert fatige (stanchezza degli avvisi) tramite rumore.
  • Dà azioni direttamente dalla notifica (ack, snoose, runbook, attività automatica).
  • Mantenere la privacy e il consenso (opt-in/opt-out, archiviazione del cavo).

2) Tassonomia eventi e livelli

2. 1 Tipi di eventi

Metriche/anomalie (SRE, prodotto, finanza).
Regole aziendali (limiti, frode, KYC, pagamenti).
Sistema (deposito, degrado, licenze).
Personalizzato (trigger comportamentali, RG/gioco responsabile).

2. 2 Livelli di importanza (Severity)

Critical - reazione immediata, rischio di perdita/sicurezza.
High è un peggioramento significativo di KPI/SLO.
Medium - richiede azioni durante l'orario di lavoro.
Low/Info - osservazione/contesto, allineamento automatico in digest.

2. 3 Priorità (Priority)

La matrice «Impatto x Urgency» è P1. P4. Aggancia i canali e la risposta SLA.

3) Architettura e flussi

→ → → Normalizzazione (Enrich, Deadup) → Correlazione → Regole (policy engine) → Routing → Canali di consegna → Centro Preferenze di Logi/Analisi.

Componenti chiave:
  • Enricher aggiunge il tenante, il ruolo, la regione, i collegamenti alle playbook.
  • Deduper: raggruppa gli eventi ripetuti in base alla chiave.
  • Correlator: incollare i segnali familiari in un incidente.
  • Policy Engine: regole YAML/DSL, quiet hours, escalation.
  • Delivery: in-app, email, push, SMS, webhook, chat-integrazione.

4) Regole e regole (esempio YAML)

yaml policies:
- id: p_sre_critical match: { domain: "infra", severity: "critical" }
route:
primary: { channel: "pager", targets: ["oncall_sre"] }
fallback: { channel: "sms", delay: "2m" }
suppress:
flapping: {window: "10m," threshold: 5} # suppressing frequent twitching duplicates: {key: ["service, ""cluster,"" error _ code"], ttl: "15m"}
escalate:
after: "10m"
to: ["sre_manager"]
auto_assign: true
- id: p_product_medium match: { domain: "product", severity: "medium", kpi: "conversion" }
route:
primary: { channel: "inapp", audience: "product_owners" }
digest:
window: "1h"
max_items: 10 quiet_hours:
tz: "Europe/Kyiv"
ranges: ["22: 00-07: 00"] # only P1 digests/pager at this time

5) Deduplicazione, correlazione, soppressione del flapping

Deadup: ID gruppo «dedup _ key = hash (service» metric «dim)»; La TTL ha ≥ una finestra di flapping.
Correlazione: combinare i segnali correlati in base alla topologia (servis→zavisimost), al tempo (© N min) e al contesto (rilascio, incidente).
Flapping: le soglie «N eventi in M minuti» → un segnale «flapping detected» che suggerisce di sollevare isteresi o suppress.

6) Routing e RACI

Chi riceve la prima notifica/tusk.
Accountable: chi viene scalato dopo la SLA.
Consulted: chi menzionare nel tredice/chat.
Informed a chi serve un sommergibile/riepilogo.
Assegnare in base al ruolo e al contesto (tenante, regione, prodotto stram).

7) Canali di consegna e sfumature

CanaleQuando usareCaratteristiche/vincoli
In-appOperativi, ma non ritrici; azioniRicco UI, CTA, contesto
EmailDigest, rapporti, non ritriciPuò perdersi/filtrare
PushPer la squadra mobile di servizioLimiti di lunghezza, orologi silenziosi
SMS/PagerP1/P0 criticaPagabile, coerente, senza allegati
WebhookIntegrazioni (Jira, Slack, Ops)Firme HMAC, retrai, idempotenza
Chat (Slack)Incidente di Tred, collaudoComandi di testo (ack, assign)

Retrai: 5xx/429/timeout → backoff + jitter; «Retry-After» rispettare. Idampotenza: «X-Notification-ID» sui siti web.

8) Centro preferenze (Preferences Center)

Opt-in/Opt-out per tipo di evento, livello, canale.

Grafico di silenzio (quiet hours), snoose manuale a 15/30/60 minuti

Soglia/sensibilità (ad esempio, anomalia 3).
Lingua/locale, formato tempo/valuta.
I preset per SRE/Product/Finance sono associati ai ruoli.
Trasparenza - Mostra perché l'utente ha ricevuto un segnale (riferimento alla regola).

9) Progettazione dei contenuti: struttura del messaggio

Modello di segnale critico (P1):
  • Titolo: brevemente, con il trigger: «[P1] [PSP _ TR] Aumento drammatico dei guasti 3DS (+ 12%)».
  • Contesto: periodo, segmenti/regioni interessati, origine dati.
  • Motivo/ipotesi: «Collegato al comunicato PSP _ X 18:20 UTC».
  • SLA/deadline: «Escalation in 10 minuti».
  • CTA: Apri playbook, Attiva fallback PSP _ Y, Ack (30 min).
  • I collegamenti sono: grafico, incidente, metriche, runbook.
  • Metadati: 'trace _ id', 'incident _ id', 'dedup _ key'.

I fatti, senza drammatizzare; Numeri e unità Evitare gli acronimi senza decrittazione.
Localizzazione: variabili playsholder, traduzioni memorizzate in risorse; numeri/date per locale.

10) Azioni da notifica (Actionable)

Ack/Snoose con opzioni temporali.
Assign/Invite nell'incidente.
Runbook - Apre i passaggi della soluzione completando automaticamente il contesto.
One-click remediation (dove è sicuro) - Consente di cambiare percorso, alzare il limite, riavviare il jobs (con conferma e revisione).
Crea un ticket (Jira/GitHub) con il completamento automatico dei campi.

11) Qualità dei segnali: metriche e obiettivi

Precision (percentuale di persone rilevanti tra quelle inviate) è pari all '80% per P1/P2.
Recall (percentuale rilevata tra tutti gli incidenti) è pari al 70%.
Noise: segnale medio/ora per utente (soffitto di destinazione).
Ack-time p50/p95, Escalation rate, Snoose rate (come indicatore di rumore).
MTTD/MTTA/MTTR (nel taglio di domini e canali).
Silenced-point-should-alert (omissioni a causa delle regole) è un dashboard separato.

12) Gestione del rumore: tecniche

Isteresi e finestre scorrevoli per le soglie.
Antialiasing (EWMA) prima della rilevazione.
Aggregazione: al posto di 30 piccoli - un batch/digest con top-contractor.
I limiti contestuali non sono più di N notifiche/ora/canale/utente.
Feedback automatico: se un utente fa clic su Snoose 3 x di fila, suggerisce di alzare la soglia/modificare il canale.

13) Sicurezza, privacy, compliance

Firma HMAC per webhook, rotazione dei segreti, X-Key-ID.
RBAC/ABAC: visibilità dei segnali per ruolo/tenanti.
Minimizzazione PII, maschere nei logi, controllo delle azioni (ack/assign/runbook).
Il consenso (consent) e le ragioni della notifica (regola/regola) sono in payload.
Retention/TTL dei reparti di notifica, Legale Hold degli incidenti.

14) Schemi e payload's

Evento (interno)

json
{
"id": "sig_01HX",
"domain": "payments",
"severity": "high",
"priority": "P2",
"title": "The 3DS failure graph has grown to 8. 2% (+3. 1 pp), "
"occurred_at": "2025-11-03T17:55:00Z",
"context": { "psp": "PSP_X", "country": "TR", "release_id": "rel_241103_1820" },
"metrics": { "baseline": 5. 1, "current": 8. 2, "delta_pp": 3. 1 },
"dedup_key": "payments    PSP_X    TR    3DS_FAILURE",
"runbook": "rbk_psp_3ds_spike",
"slo": { "ack_deadline_sec": 600 }
}

Notifica (canale agnostico)

json
{
"notification_id": "ntf_91ab",
"signal_id": "sig_01HX",
"targets": ["oncall_payments"],
"channels": ["inapp","slack","webhook"],
"cta": [
{"id": "ack," "label": "Confirm (30 min)," "payload": {"ttl ":" 30m"}},
{"id": "runbook," "label": "Open playbook," "payload": {"id ": "rbk _ psp _ 3ds _ spike"}},
{"id": "fallback," "label": "Enable fallback, PSP_Y" "confirm": true}
],
"hmac": "sha256=AbCd..."
}

15) pattern UX nel prodotto

Inbox: schede Critical/High/Other, badge di quantità.
Il nastro dell'incidente, i segnali correlati, la timeline dell'azione, «cosa è stato fatto».
Filtri: ruolo, dominio, regione, tempo, solo senza risposta.
Azioni rapide nell'elenco (ack/snoose/assign).
Explorer: «perché lo vedi» (regola, soglie, dati).
Digest: mattutino/sera, localizzato in TZ.

16) Test-piano

Unità: chiavi di deadup, isteresi, flapping, serializzazione payload.
Integration: routing, quiet hours, escalation, retrai di canale.
E2E: script P1 dall'anomalia alla chiusura del ticket; P2 in quiet hours è un digest.
Chaos: perdita del canale (SMTP/SMS), ritardi, valanga di segnali, clock-skew.
A11y/i18n: screen-readers, tastiere ack/snoose, localizzazione di numeri/date.

17) Dashboard di qualità

Precision/Recall per dominio.
Ack time p50/p95 e la percentuale confermata in tempo.
Noise per user/hour e regole top-rumorose.
Escalation rate e «false escalation».
Supplessed vs Delivered (soppresso/raggruppato in digest).
User feedback :/messaggi, commenti al rumore.

18) Assegno fogli

Progettazione

  • Tassonomia eventi e livelli coerenti
  • I criteri quiet hours/escalation sono descritti
  • Deduplicazione/correlazione/flapping configurati
  • Canali, retrai, idemoticità dei webhoop
  • Centro preferenze (opt-in/out, snoose)
  • Modelli di contenuto e localizzazione
  • Playbook e azione one-click (con revisione)
  • Metriche di qualità e dashboard

Utilizzo

  • Ottimizzazione soglia ogni trimestre
  • A/B regole (soglia, finestre, digest)
  • Recensioni regolari «top rumore» e «CAPA»
  • Rotazione dei segreti dei canali (HMAC, SMTP, SMS)
  • Test di allarme (game days) pianificato

19) Piano di implementazione (3 iterazioni)

Iterazione 1 - Tracciato base (2-3 settimane)

Tassonomia, severity/priority, centro preferenze (in-app + email).
Deadup, semplice correlazione chiave/tempo, quiet hours.
Modelli di messaggio, playbook, ack/snoose/assign.

Iterazione 2 - Affidabilità e rumore (3-4 settimane)

Flapping/isteresi, digest, chat-integrazioni e webhook (HMAC, retrai).
Scalate SLA, dashboard di qualità (precision/recall, noise).
One-click remediation (con conferma e revisione).

Iterazione 3 - Ottimizzazione e scala (continua)

Correlazione per topologia/rilascio, offerte auto di soglia.
A/B delle regole, la previsione «quando funzionerà la soglia».
Recensioni del rumore e game days regolari.

20) Mini FAQ

Come si combatte con alert fatige?
Deadup, correlazione, isteresi, digest e centri di preferenza + regolari recensioni del rumore e soglie A/B.

C'è bisogno di un ML per le anomalie?
È utile, ma cominciate con regole definite e soglie spiegabili. ML è come un plug-in, obbligatorio con Explorer.

Perché gli utenti ricevono email «superflue»?
Controlla le partite di regole, quiet hours, controllo «perché consegnato», regolare i limiti per canale/ora e digest.

Totale

Un sistema di segnale forte è un filtraggio intelligente e una priorità corretta + azione in un clic. Formalizzare tassonomia e regole, implementare deadup/correlazione/isteresi, dare agli utenti il controllo (preferences, snoose), garantire una consegna affidabile e la trasparenza «perché l'ho ottenuto». I segnali diventeranno uno strumento di controllo, non una fonte di rumore.

Contact

Mettiti in contatto

Scrivici per qualsiasi domanda o richiesta di supporto.Siamo sempre pronti ad aiutarti!

Avvia integrazione

L’Email è obbligatoria. Telegram o WhatsApp — opzionali.

Il tuo nome opzionale
Email opzionale
Oggetto opzionale
Messaggio opzionale
Telegram opzionale
@
Se indichi Telegram — ti risponderemo anche lì, oltre che via Email.
WhatsApp opzionale
Formato: +prefisso internazionale e numero (ad es. +39XXXXXXXXX).

Cliccando sul pulsante, acconsenti al trattamento dei dati.