Scapă de oboseala alertelor cu notificări mai bune
Oboseala alertelor nu vine din prea multe probleme, ci din prea multe notificări pentru fiecare problemă. Redis dă timeout șapte minute la rând, API-ul de facturare reîncearcă la fiecare zece secunde, iar telefonul vibrează de 43 de ori. La a treia vibrație ai înțeles. La a douăzecea ai oprit notificările, iar următoarea problemă adevărată găsește un telefon care tace.
Soluția ține de câteva obiceiuri, valabile cu orice unealtă. Fiecare secțiune de mai jos descrie unul și arată cum se face în Honk.
1. O alertă pentru problemă, nu pentru fiecare încercare
O buclă de reîncercări nu înseamnă 43 de probleme, ci aceeași problemă de 43 de ori. Hotărăște ce înseamnă pentru tine „aceeași problemă”, dă-i un nume care nu se schimbă și trimite-l cu fiecare eveniment.
În Honk, numele acesta este group_key. Evenimentele cu același proiect, mediu, sursă, canal și group_key formează un grup și doar primul eveniment dintr-un episod nou îți trimite o notificare.
# Before: one push per failed attempt, 43 in seven minutes
curl … -d '{"title":"Redis timeout","message":"attempt 17 failed"}'# After: one group, one episode, one push, then calm updates
honk-me problem --group-key billing/redis --source billing-api \
--title "Redis connection failed" --message "Billing API could not connect to Redis (timeout after 5 s)"
# …and when it works again:
honk-me recovery --group-key billing/redis --source billing-api \
--title "Redis is back" --message "Connected after 7 minutes"2. Repetări în liniște, zgomot doar când se agravează
Cât timp durează problema, vrei totuși să știi că e încă acolo, doar nu de 43 de ori. Honk trimite cel mult o actualizare la 5 minute (atât e implicit pauza între actualizări), cu numărul la zi. Dacă nivelul crește, de exemplu de la Claxon puternic la Claxon continuu, actualizarea pleacă imediat: când e mai rău, e o veste.
3. Închide bucla cu o revenire
O alertă care nu se mai termină te lasă să ghicești. Când lucrurile merg din nou, raportează o revenire (recovery) cu același group_key: Honk te anunță, închide episodul, iar incidentul nu îți mai cere atenția. Raportează reveniri doar după un eșec: o revenire după fiecare verificare reușită e doar zgomot în plus.
Dacă nimic nu raportează revenirea, episodul devine inactiv după o perioadă fără evenimente (implicit 24 de ore). Inactiv nu înseamnă rezolvat: următorul eveniment deschide un episod nou și te anunță din nou.
4. Trimite evenimentele de rutină în rezumat
Nu orice eveniment merită o notificare. Un import terminat, un backup reușit sau un raport zilnic merită văzute, dar nu merită să te întrerupă. Trimite-le ca Claxon ușor sau Bip-bip, cu prioritate normală sau scăzută, și setează pragul pentru notificări la Ridicată: tot ce e sub prag se adună într-un rezumat, implicit la fiecare 15 minute, iar un rezumat gol nu se trimite niciodată.
O regulă de proiect face același lucru fără să atingi codul: de exemplu, orice eveniment din categoria deployments cu gravitatea success ajunge în rezumat.
5. Păstrează noaptea pentru ce nu poate aștepta
Orele de liniște rețin notificările și îți trimit un singur rezumat când se termină. Hotărăște dinainte ce are voie să treacă. În Honk trec doar evenimentele trimise cu prioritatea urgent, de la o cheie API care are voie să le trimită, și numai dacă orele tale de liniște lasă să treacă mesajele urgente. Dă permisiunea asta unei singure chei, pentru singurul serviciu care are voie să te trezească.
6. Alege nivelul cinstit
Scala Honk are cinci niveluri și te ajută doar dacă fiecare înseamnă ceva. Folosește Claxon continuu pentru „ceva a căzut” și Claxon lung pentru „ceva a eșuat”. Când totul e Claxon continuu, nimic nu mai iese în evidență.
O listă de verificare pentru cheile de grup
- O cheie pentru fiecare lucru pe care l-ai repara o singură dată.
billing/redis, nubilling/redis/attempt-17. - Fără timestamp-uri, ID-uri de cerere sau valori aleatoare în cheie, decât dacă fiecare eveniment e o poveste în sine, cum e o cerere de la un client (
requests/4812). - Pune locul în cheie când aceeași problemă pe două servere înseamnă, de fapt, două probleme:
disk/app-01/var. - Folosește aceeași cheie pentru problemă și pentru revenirea ei. Așa știe Honk ce anume și-a revenit.
- Scurtă și ușor de citit. Cheia apare în inbox, iar regulile se pot lua după ea.
Ce face Honk
Honk a fost construit în jurul acestor obiceiuri. Gruparea și episoadele urmează reguli fixe, pe server. Pauza între actualizări și rezumatele se setează pe proiect, iar orele de liniște și ce pui pe silențios țin de fiecare persoană. AI-ul de pe iPhone poate rezuma un grup, dar nu poate niciodată să ascundă sau să întârzie o notificare. Toate regulile sunt pe pagina Cum funcționează Honk.
Deocamdată, Honk e disponibil doar pe bază de invitație: cere acces. Tot ce face acest ghid merge și pe planul Free.