GH GambleHub

სიგნალებისა და შეტყობინებების სისტემა

1) როლი და მიზნები

სიგნალის სისტემა არ არის „შეტყობინებების გაგზავნა“, არამედ გადაწყვეტილების მიღების კონტური: იგი დროულად ანათებს გადახრებს, გთავაზობთ მოქმედებებს და აკმაყოფილებს ბალანსს დროულ და დუმილს შორის.

მიზნები:
  • შეამცირეთ MTTD/MTTR პრიორიტეტიზაციისა და მკაფიო ფლეიბუკების გამო.
  • ხმაურის შემცირების გზით შეამცირეთ ალერტ ფატიგუ (შეტყობინებების დაღლილობა).
  • მისცეს მოქმედებები პირდაპირ შეტყობინებიდან (ack, snooze, runbook, ავტო მოქმედება).
  • დაიცავით კონფიდენციალურობა და თანხმობა (opt-in/opt-out, ლოგოს შენახვა).

2) მოვლენების ტაქსონომია და დონე

2. 1 მოვლენების ტიპები

მეტრიკა/ანომალიები (SRE, პროდუქტი, ფინანსები).
ბიზნეს წესები (შეზღუდვები, ფროდი, KYC, გადახდები).
სისტემური (დეგრადაცია, დეგრადაცია, ლიცენზია).
მომხმარებლის (ქცევითი გამომწვევები, RG/საპასუხისმგებლო თამაში).

2. 2 მნიშვნელოვნების დონე

კრიტიკული არის დაუყოვნებელი რეაქცია, ზარალის/უსაფრთხოების რისკი.
მაღალი არის KPI/SLO მნიშვნელოვანი გაუარესება.
საშუალო - საჭიროა ოპერაციები სამუშაო საათებში.
დაბალი/ინფო - დაკვირვება/კონტექსტი, მანქანის პაკეტი თხრილებში.

2. 3 პრიორიტეტი

მატრიცა 'Impact × Urgency' P1.. P4. არხები და SLA რეაქციები.

3) არქიტექტურა და ნაკადები

სიგნალის მწარმოებლები - მოვლენების შინა - ნორმალიზაცია (Enrich, dedup) - კორელაცია - წესები (პოლიტიკა ძრავა), მარშრუტის გადაზიდვა, მიწოდების არხები და პრეფერენციების ცენტრი - Loga/Analytics.

ძირითადი კომპონენტები:
  • Enricher: დასძენს ჩრდილს, როლს, რეგიონს, ბმულებს პლეიბუკებზე.
  • Deduper: გაიმეორეთ განმეორებითი მოვლენები.
  • Correlator: შეავსეთ დაკავშირებული სიგნალები ინციდენტში.
  • Policy Engine: YAML/DSL წესები, quiet hours, ესკალაცია.
  • Delivery: app, email, push, SMS, webhook, ჩატის ინტეგრაცია.

4) წესები და პოლიტიკა (მაგალითი 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) დედუპლიკაცია, კორელაცია, ფუფუნების ჩახშობა

დედოპი: ჯგუფის იდენტიფიკატორი 'dedup _ key = hash (სერვისი' metric 'dim)'; TTL არის ფუფუნების ფანჯარა.
კორელაცია: დააკავშიროთ დაკავშირებული სიგნალები ტოპოლოგიის (დამოკიდებულების სერვისი), დროის (± N წთ) და კონტექსტის (გამოშვება, ინციდენტი) შესახებ.
Flapping: „N მოვლენების ბარიერები M წუთში“ - ერთი „flapping detectected“ სიგნალი, რომლის შეთავაზებაა ჰისტერეზის ან სუპერპროდის ამაღლება.

6) მარშრუტიზაცია და RACI

Responsible: ვინ იღებს პირველ შეტყობინებას/ტასკს.
Accountable: ვინ არის ესკალაცია SLA- ს შემდეგ.
Consulted: ვინ უნდა აღინიშნოს ძაფში/ჩატის არხში.
Informed: ვინ დატოვებს დაიჯესტს/შედეგებს.
დანიშნეთ როლისა და კონტექსტის მიხედვით (ტენანტი, რეგიონი, პროდუქტი-ნაკადი).

7) მიწოდებისა და ნიუანსების არხები

არხიგამოყენებისასმახასიათებლები/შეზღუდვები
In-appოპერატიული, მაგრამ არაკრიტიკული; მოქმედებებიმდიდარი UI, CTA, კონტექსტი
Emailდაიჯესტები, მოხსენებები, არაკრიტიკულიშეიძლება დაიკარგოს/ფილტრაცია
Pushმობილური მორიგე გუნდისთვისსიგრძის შეზღუდვა, მშვიდი საათი
SMS/PagerP1/P0 კრიტიკაფასიანი, ლაკონური, ინვესტიციების გარეშე
Webhookინტეგრაცია (Jira, Slack, Ops)HMAC ხელმოწერები, რეტრაები, იდემპოტენტობა
Chat (Slack)ინციდენტის ძაფი, თანამშრომლობატექსტური ბრძანებები (ack, assign)

Retrai: 5xx/429/timaut - backoff + jitter; 'Retry-After' პატივისცემა. Idempotence: „X-Notification-Id“ ვებჰუკებზე.

8) პრეფერენციების ცენტრი

Opt-in/Opt-out მოვლენების ტიპების, დონის, არხების მიხედვით.
დუმილის გრაფიკი (quiet hours), სახელმძღვანელო snooze 15/30/60.
ზღურბლს/მგრძნობელობას (მაგალითად, ანომალია - 3).
ენა/ლოკალი, დრო/ვალუტის ფორმატი.
როლების ბმული: პრესეტები SRE/Product/Finance.
გამჭვირვალობა: იმის ჩვენება, თუ რატომ მიიღო მომხმარებელმა სიგნალი (ბმული წესზე).

9) შინაარსის დიზაინი: შეტყობინებების სტრუქტურა

შაბლონი კრიტიკული სიგნალისთვის (P1):
  • სათაური: მოკლედ, ტრიგერით: „[P1] [PSP _ TR] უარის თქმის მკვეთრი მატებაა 3DS (+ 12%)“.
  • კონტექსტი: სეგმენტების/რეგიონის მიერ დაზარალებული პერიოდი, მონაცემთა წყარო.
  • მიზეზი/ჰიპოთეზა: „უკავშირდება PSP _ X 18:20 UTC- ს გამოშვებას“.
  • SLA/ვადა: „ესკალაცია 10 წუთის შემდეგ“.
  • CTA: „გახსენით ფლეიბუკი“, „ჩართეთ fallback PSP _ Y“, „Ack (30 წთ)“.
  • ბმულები: გრაფიკი, ინციდენტი-ძაფი, მეტრიკა, runbook.
  • მეტამონაცემები: 'trace _ id', 'incident _ id', 'dedup _ key'.

ტონი: ფაქტები, დრამის გარეშე; გაზომვის რიცხვები და ერთეულები; თავიდან აიცილოთ აბრევიატურა გაშიფვრის გარეშე.
ლოკალიზაცია: ცვლადი - პლეიშოლდერები, თარგმანები ინახება რესურსებში; რიცხვები/თარიღები - იდაყვის მიხედვით.

10) მოქმედებები შეტყობინებებიდან

Ack/Snooze დროის პარამეტრებით.
Assign/Invite ინციდენტის ნაწილში.
Runbook: გახსნათ გადაწყვეტილებების ნაბიჯები კონტექსტის შევსებით.
One-click remediation (სადაც უსაფრთხოა): გადართეთ მარშრუტი, აიღეთ ლიმიტი, განაახლეთ ჯობა (დადასტურებით და აუდიტით).
შექმენით ticet (Jira/GitHub) საველე ავსებით.

11) სიგნალების ხარისხი: მეტრიკა და მიზნები

Precision (გაგზავნილ პირთა შორის შესაბამისი წილი) 80% -ს შეადგენს P1/P2- სთვის.
Recall (ყველა ინციდენტის წილი) 70% -ს შეადგენს.
ხმაური: მომხმარებლის საშუალო სიგნალები/საათი (სამიზნე ჭერი).
Ack-time p50/p95, Escalation rate, Snooze rate (როგორც ხმაურის ინდიკატორი).
MTTD/MTTA/MTTR (დომენებისა და არხების ჭრილში).
Silenced-but-should-alert (გამოტოვება წესების გამო) ცალკე დაშბორდია.

12) ხმაურის მართვა: ხრიკები

ჰისტერეზი და „მოცურების ფანჯრები“ რეიდებისთვის.
სიფრთხილე (EWMA) გამოვლენამდე.
აგრეგაცია: 30 მცირე ზომის ნაცვლად - ერთი ჯოხი/დაიჯესტი საუკეთესო ანაზღაურებით.
კონტექსტური ლიმიტები: არაუმეტეს N შეტყობინებები/საათი/არხი/მომხმარებელი.
მანქანის უკუკავშირი: თუ 3 × ზედიზედ მომხმარებელი დააჭერს Snooze- ს და შესთავაზებს ბარიერის გაზრდას/არხის შეცვლას.

13) უსაფრთხოება, კონფიდენციალურობა, შესაბამისობა

HMAC ხელმოწერა ვებჰუკებისთვის, საიდუმლოებების როტაცია, 'X-Key-Id'.
RBAC/ABAC: სიგნალების ხილვადობა როლების/ტენანტების მიხედვით.
PII მინიმიზაცია, ნიღბები ლოგებში, მოქმედების აუდიტი (ack/assign/runbook).
თანხმობა (თანხმობა) და შეტყობინების მიზეზები (წესი/პოლიტიკა) - payload- ში.
Retention/TTL შეტყობინებების ლოგოები, Legal Hold ინციდენტებისთვის.

14) სქემები და payload 'y

მოვლენა (შიდა)

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 }
}

შეტყობინება (აგნოსტიკური არხი)

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) UX ნიმუშები პროდუქტში

Inbox: ჩანართები Critical/High/Other, Badges რაოდენობა.
ინციდენტის ფირზე: კორელირებული სიგნალები, მოქმედების დრო, „რა გაკეთდა“.
ფილტრები: როლი, დომენი, რეგიონი, დრო, „მხოლოდ უპასუხოდ“.
სწრაფი მოქმედებები სიაში (ack/snooze/assign).
Explain: „რატომ ხედავთ ამას“ (წესი, ბარიერები, მონაცემები).
დაიჯესტები: დილა/საღამო, ლოკალიზებული TZ- ით.

16) ტესტის გეგმა

Unit: დედაპლატის გასაღებები, ჰისტესეზი, flapping, payload სერიალიზაცია.
Integration: მარშრუტიზაცია, quiet hours, ესკალაცია, არხის რელიეფი.
E2E: P1 სცენარი ანომალიიდან თიკეტის დახურვამდე; P2 quiet hours- ში.
ქაოსი: არხის დაკარგვა (SMTP/SMS), შეფერხებები, სიგნალის ზვავი, კლოკის ციკლი.
A11y/i18n: screen-readers, კლავიატურა ack/snooze, რიცხვების/თარიღების ლოკალიზაცია.

17) Dashbords ხარისხის

Precision/Recall დომენების მიხედვით.
Ack time p50/p95 და წილი დროულად დადასტურებულია.
Noise per user/hour და ხმაურიანი წესები.
ესკალაცია და „ყალბი ესკალაცია“.
Suppressed vs Delivered (რამდენი თრგუნავს/შემცირებულია თხრილში).
მომხმარებელი feedback :/შეტყობინებები, ხმაურის კომენტარები.

18) ჩეკის ფურცლები

დიზაინი

  • მოვლენების ტაქსონომია და დონეები შეთანხმებულია
  • quiet hours/ესკალაციების პოლიტიკოსები
  • დედაპი/კორელაცია/ფუფუნება
  • არხები, რეტრაები, ვებჰუკების იდემპოტენტურობა
  • პრეფერენციების ცენტრი (opt-in/out, snooze)
  • შინაარსის შაბლონები და ლოკალიზაცია
  • playbooks და on- click მოქმედებები (აუდიტით)
  • ხარისხის და დაშბორდის მეტრიკა

ოპერაცია

  • ბარიერი ოპტიმიზაცია კვარტალში ერთხელ
  • A/B წესები (ბარიერი, ფანჯრები, digest)
  • რეგულარული მიმოხილვები „ტოპ ხმაური“ და CAPA
  • არხების საიდუმლოებების როტაცია (HMAC, SMTP, SMS)
  • განგაშის ტესტი

19) განხორციელების გეგმა (3 გამეორება)

გამეორება 1 - ძირითადი წრე (2-3 კვირა)

ტაქსონომია, severity/priority, პრეფერენციების ცენტრი (in-app + email).
Dedup, მარტივი კორელაცია კლავიშზე/დროში, quiet hours.
შეტყობინებების შაბლონები, playbuks, ack/snooze/assign.

გამეორება 2 - საიმედოობა და ხმაურის შემცირება (3-4 კვირა)

Flapping/histeresis, dajests, chat ინტეგრაცია და ვებჰუკი (HMAC, retrai).
ესკალაცია SLA- ს მიხედვით, ხარისხის დაშლა (precision/recall, ხმაური).
One-click remediation (დადასტურებით და აუდიტით).

გამეორება 3 - ოპტიმიზაცია და მასშტაბები (მუდმივად)

კორელაცია ტოპოლოგიაში/რელიზებზე, რეიდების მანქანების შეთავაზება.
A/B წესები, პროგნოზი „როდესაც ბარიერი იმუშავებს“.
ხმაურის მიმოხილვები და რეგულარული თამაშები.

20) მინი-FAQ

როგორ გავუმკლავდეთ alert fatigue- ს?
დედოპი, კორელაცია, ჰისტერეზი, დაიჯესტები და პრეფერენციების ცენტრები + რეგულარული ხმაურის მიმოხილვები და A/B რეიდები.

საჭიროა ML ანომალიებისთვის?
სასარგებლოა, მაგრამ დაიწყეთ დეტერმინისტული წესებით და გასაგები რეიდებით. ML - როგორც სუპერსტრუქტურა, აუცილებლად Explain- ით.

რატომ იღებენ მომხმარებლები „დამატებით“ წერილებს?
შეამოწმეთ წესების მატჩები, quiet hours, აუდიტი „რატომ არის მიწოდებული“, არხის/საათის შეზღუდვები და დაიჯესტები.

შედეგი

ძლიერი სიგნალის სისტემა არის ჭკვიანი ფილტრაცია და სწორი პრიორიტეტიზაცია + ერთ დაჭერით. ჩამოაყალიბეთ ტაქსონომია და პოლიტიკოსები, გააცნეთ დედაპლატი/კორელაცია/ჰისტერეზი, მიეცით მომხმარებლებს კონტროლი (პრეფერენციები, სნოზა), უზრუნველყონ საიმედო მიწოდება და გამჭვირვალობა „რატომ მივიღე ეს“. შემდეგ სიგნალები გახდება საკონტროლო ინსტრუმენტი და არა ხმაურის წყარო.

Contact

დაგვიკავშირდით

დაგვიკავშირდით ნებისმიერი კითხვის ან მხარდაჭერისთვის.ჩვენ ყოველთვის მზად ვართ დაგეხმაროთ!

ინტეგრაციის დაწყება

Email — სავალდებულოა. Telegram ან WhatsApp — სურვილისამებრ.

თქვენი სახელი არასავალდებულო
Email არასავალდებულო
თემა არასავალდებულო
შეტყობინება არასავალდებულო
Telegram არასავალდებულო
@
თუ მიუთითებთ Telegram-ს — ვუპასუხებთ იქაც, დამატებით Email-ზე.
WhatsApp არასავალდებულო
ფორმატი: ქვეყნის კოდი და ნომერი (მაგალითად, +995XXXXXXXXX).

ღილაკზე დაჭერით თქვენ ეთანხმებით თქვენი მონაცემების დამუშავებას.